]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
[grub2.git] / ChangeLog
CommitLineData
e98937aa
VS
12010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
4 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
5 (now unused).
6 (grub_keyboard_controller_init)
7 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
8 read the initial state since controller isn't inited yet.
9
f6bbabc3
VS
102010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13 allocate_regbeg may need to create new chunk header.
14
22e7dbb2
VS
152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16
17 Fix quoting in legacy parser.
18
19 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20 single quotes.
21 (grub_legacy_parse): Likewise.
22 Reported by: Jordan Uggla.
23 Tested by: Jordan Uggla.
24
03f80960
VS
252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
26
27 Don't add -lgcc on i386 and x86_64.
28
29 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
30 * conf/Makefile.common (LDADD_KERNEL): Likewise.
31 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
32
779dc15b
VS
332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * configure.ac: Add -Wno-trampolines when supported.
36
d20a3b37
MV
372010-11-14 Modestas Vainius <modax@debian.org>
38
39 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
40 fakeraid.
41
e5360933
GC
422010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
43
44 Add generic logical block size support for UDF.
45
46 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
47 (GRUB_UDF_BLKSZ): Removed.
48 (struct grub_udf_data): New field "lbshift" to hold the logical block
49 size of the file system in log2 format. All users updated.
50 (sblocklist): Change type to unsigned.
51 (grub_udf_mount): Change type of "sblklist" to unsigned.
52 Move AVDP search before VRS recognition, because the latter requires
53 knowledge of the logical block size, which is detected during the
54 former.
55 Detect and validate logical block size during AVDP search, adding
56 support for block sizes 512, 1024 and 4096.
57 Make VRS recognition independent of block size.
58
cb0229c5
GC
592010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
60
61 Properly handle deleted files on UDF.
62
63 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
64 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
65 set.
66
406858a8
GC
672010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
68
69 Support reading files larger than 2 GiB.
70
71 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
72 "offset" to grub_off_t.
73 (grub_udf_read_file): Likewise for parameter "pos".
74
130da6a7
VS
752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
78 unavailable.
79 (Simple configuration): Refer to Changes from GRUB Legacy about
80 save_env availability.
81
65e93f6b
VS
822010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * util/grub-install.in: Ignore empty partition table detection
85 instead of trying to include part_ module.
86
1fd08bf1
VS
872010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
90 LVM on RAID support.
91
de1a024f
VS
922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
93
94 Properly define WORDS_BIGENDIAN in wrapped environments.
95
96 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
97 definition.
98 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
99
100 Reported by: Manoel Rebelo Abranches.
101 Tested by: Manoel Rebelo Abranches.
102
bc5dd0b9
VS
1032010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * util/grub-mkconfig.in: Fix quoting.
106
58c184be
VS
1072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
108
109 Support big ext2 files.
110
111 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
112 (grub_ext2_read_block): Support triple indirect blocks.
113 (grub_ext2_read_file): Use 64-bit types and read size_high.
114 (grub_ext2_open): Read size_high.
115 Reported by: Ximin Luo.
116 Tested by: Manoel Rebelo Abranches.
117
5f0c02b3
VS
1182010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * util/grub-install.in: Handle filenames containing spaces.
121 Reported by: Jordan Uggla.
122 Tested by: Jordan Uggla.
123
4417aae6
VS
1242010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * util/grub-mkconfig.in (grub_script_check): New variable.
127 Use grub_script_check instead of grub-script-check.
128 Reported by: Barry Jackson.
129
7625a68e
VS
1302010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * docs/grub.texi (menu): Correct the order.
133 Reported by: D. Hugh Redelmeier.
134
10001ac5
VS
1352010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
138 jump.
139
9c4cf53b
MRA
1402010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
141
10001ac5
VS
142 * include/grub/elfload.h (grub_elf32_size): New parameter.
143 All users updated.
9c4cf53b
MRA
144 Return maximum segments alignment.
145 (grub_elf64_size): Likewise.
146 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
147 Return maximum segments alignment.
148 (grub_elf64_size): Likewise.
149 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
150 (grub_linux_claimmap_iterate): New function. Uses the
151 "available" property in the "memory" node for memory allocation
152 for kernel in the PowerPC loader.
9c4cf53b
MRA
153 (grub_linux_load32): Correctly find linux entry point offset.
154 (grub_linux_load64): Likewise.
155
d2bf06bf
RM
1562010-11-07 Robert Millan <rmh@gnu.org>
157
158 On mips-yeeloong, build with -march=loongson2f when this flag is
159 available (GCC >= 4.4).
160 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
161 `-march=mips3'.
162 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
163 or otherwise add -march=mips3.
164
898c99a2
BC
1652010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
166
87220a68
BC
167 Suppress shell expansion on echo '*' and echo "*" like cases.
168 Reported by: Jordan Uggla.
898c99a2
BC
169
170 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
171 string arguments before shell expansion.
172 * tests/grub_cmd_echo.in: New testcases.
173
4f9b406a
RM
1742010-11-07 Robert Millan <rmh@gnu.org>
175
176 * conf/mips-qemu-mips.rmk: Remove stale file from previous
177 transition.
178
80c6d25e
VS
1792010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/kern/emu/hostdisk.c
182 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
183
4a1a0153
VS
1842010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
187 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
188 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
189
34706ddc
VS
1902010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
193
6972dea9
VS
1942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * util/grub-install.in: Replace useless recomendation to pass
197 --modules with a recomendation to report a bug.
198
9c693bd6
VS
1992010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
200
201 Properly register serial terminfo.
202 Reported by: Jordan Uggla
203
204 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
205 const.
206 (grub_serial_terminfo_output_template): Likewise.
207 (grub_cmd_serial): Register "serial" with terminfo.
208 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
209 grub_serial_terminfo_output.
210
6c9e4c0c
RM
2112010-11-05 Robert Millan <rmh@gnu.org>
212
213 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
214 needed).
215
b9b3839f
RM
2162010-11-05 Robert Millan <rmh@gnu.org>
217
218 On Yeeloong, pass machine type information to Linux.
219
220 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
221 (LOONGSON_MACHTYPE): New macro, set to
222 "machtype=lemote-yeeloong-2f-8.9inches".
223 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
224 additional argument to Linux.
225
1a3aaff4
RM
2262010-11-04 Robert Millan <rmh@gnu.org>
227
228 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
229 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
230 (its SATA disks are detected as slaveless IDE master drives on
231 kFreeBSD).
232 Reported by Carsten Aulbert.
233
a75f4f62
CW
2342010-11-02 Colin Watson <cjwatson@ubuntu.com>
235
236 * util/bin2h.c (main): Fix spelling error in generated output.
237
33b4b0c6
GS
2382010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
239
240 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
241
2b36fbf4
VS
2422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
245 vga= option is supplied.
246
74aaf558
VS
2472010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
250 * util/grub.d/10_kfreebsd.in: Likewise.
251 * util/grub.d/10_linux.in: Likewise.
252 * util/grub.d/20_linux_xen.in: Likewise.
253
6428dec3
VS
2542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
257 argument as an argument to no-argument option.
258
f8729d98
VS
2592010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * util/grub.d/10_linux.in: Add missing load_video with explicit
262 GRUB_GFXPAYLOAD_LINUX.
263
89d68fa6
VS
2642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
267
3a1197cd
VS
2682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
271 elements with invlid index.
272 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
273 * grub-core/disk/raid.c (insert_array): Automatically reallocate
274 members.
275 * include/grub/raid.h (grub_raid_member): New struct.
276 (grub_raid_array): Transform devices and start_sector into usage of
277 grub_raid_member. All users updated
278 (allocated_devs): New member.
279
71574288
VS
2802010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
283 is modified
284
8d40ec65
BC
2852010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
286
287 NetBSD build fix for getline function conflict from gnulib.
288
289 * Makefile.util.def (libgrubkern.a): New library for grub kernel
290 components that depend on gnulib headers.
291 (libgrubmods.a): Renamed from earlier libgrub.a.
292 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
293
95b9257e
VS
2942010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
297 install rather than creating a broken install.
298
26c53dc6
VS
2992010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * util/grub-setup.c (argp): Remove misleading example of installing to
302 a partition.
303
4171b3c5
VS
3042010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * util/grub-setup.c (setup): Clarify the error message.
307
18568d18
VS
3082010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
311
4f6a2e21
VS
3122010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/kern/emu/misc.c
315 (grub_make_system_path_relative_to_its_root)
316 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
317
3182010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
319
320 * grub-core/kern/emu/misc.c
321 (grub_make_system_path_relative_to_its_root): Revert r2882.
322
e138c458
VS
3232010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
326 useless field head. All users updated.
327 (free_subchunk): Correct handling of IN_REGION subchunk.
328
0cbcdf0e
CW
3292010-10-22 Colin Watson <cjwatson@ubuntu.com>
330
331 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
332 (Supported kernels): Likewise.
333
b65ea155
GS
3342010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
335
336 Make mktemp invocations portable.
337
338 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
339 exit if mktemp fails.
340 * tests/grub_script_blockarg.in: Likewise.
341 * tests/partmap_test.in: Likewise.
342 * tests/util/grub-shell-tester.in: Likewise.
343 * tests/util/grub-shell.in: Likewise.
344 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
345 * Makefile.am: Likewise, and chain shell commands with `&&'
346 instead of ';'.
347 * util/grub-mkrescue.in: Use the same explicit template as above, and
348 exit if mktemp fails.
349
05f43cdd
BC
3502010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
351
352 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
353 Linux kernel, reported by Dennis Schridde.
354
800e6a9b
SJ
3552010-10-17 Szymon Janc <szymon@janc.net.pl>
356
357 * grub-core/normal/auth.c (grub_auth_check_authentication):
358 Set-but-not-used variable removed.
359
d82df574
VS
3602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * docs/grub.texi (GNU/Linux): Document APM unavailability with
363 32-bit linux protocol.
364
7bced458
VS
3652010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
368 cursor shape for sanity.
369
5b027690
VS
3702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * docs/grub.texi (Installation): Document buggy BIOS install.
373
ba5f65cf
VS
3742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * docs/grub.texi (Installation): Indent.
377
fdf2ec9c
VS
3782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * util/grub-setup.c (setup): New parameter allow_floppy.
381 (arguments): New member allow_floppy.
382 (argp_parser): Handle --allow-floppy.
383 (main): Pass allow_floppy.
384 * util/grub-install.in: New option --allow-floppy passed though to
385 grub-setup.
386
861dfd4c
VS
3872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * util/grub-install.in: Handle partitionless disks.
390
f77a8c24
VS
3912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * util/grub-setup.c (setup): Don't clean blocklists before readability
394 verfification.
395
27d9ee32
VS
3962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * docs/grub.texi (Installation): Document embedding zone. Remove
399 obsolete grub-install example.
400
6bdda8f8
SJ
4012010-10-16 Szymon Janc <szymon@janc.net.pl>
402
403 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
404 Set-but-not-used variable ifdef'ed.
405 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
406 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
407 variable removed.
408 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
409 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
410 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
411 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
412 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
413 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
414 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
415 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
416 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
417 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
418 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
419 Likewise.
420
e19b016b
VS
4212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
424 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
425 enum value.
426
6c8d3002
VS
4272010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
430 synonym to _S5_. Needed for some DSDTs.
431
c32b51c9
VS
4322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
433
434 Userspace ACPI parser debugging.
435
436 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
437 headers and add relevant defines. Don't include standard headers.
438 (main) [GRUB_DSDT_TEST]: New function.
439 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
440 Don't declare functions.
441
fbfbeb39
VS
4422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
443
444 Remove dead grub_efi_mm_fini.
445
446 * grub-core/kern/efi/mm.c (allocated_page): Removed.
447 (ALLOCATED_PAGES_SIZE): Likewise.
448 (MAX_ALLOCATED_PAGES): Likewise.
449 (allocated_pages): Likewise.
450 (grub_efi_allocate_pages): Don't record allocated pages.
451 (grub_efi_free_pages): Likewise.
452 (grub_efi_mm_init): Likewise.
453 (grub_efi_mm_fini): Removed.
454
65f7ed7c
VS
4552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
458 (grub_efi_mm_init): Take into account the memory map size increase.
459
24977b44
VS
4602010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
463 (serial_hw_put): Wait based on real time rather than port reads. Don't
464 roken ports.
465 * include/grub/serial.h (grub_serial_port): New field broken.
466
1eb01cd2
RM
4672010-10-16 Robert Millan <rmh@gnu.org>
468
469 * grub-core/kern/emu/misc.c
470 (grub_make_system_path_relative_to_its_root): Fix premature return
471 when processing non-root ZFS filesystems.
5f8b440b 472 Reported by Sergio Talens-Oliag.
1eb01cd2 473
2d5fed60
RM
4742010-10-15 Robert Millan <rmh@gnu.org>
475
476 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
477 guarantee compressed ones are processed first.
478
d0f4c1ea
VS
4792010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
482 grub_efiemu_autocore.
483
d87c681f
VS
4842010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
487 rather than 0x1b.
488 (grub_console_getkey): Use correct jae opcode rather than ja.
489
219b3564
RM
4902010-10-12 Robert Millan <rmh@gnu.org>
491
492 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
493 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
494 variable. All references updated.
495
496 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
497
20c6bb7e
VS
4982010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
499
500 Correctly distinguish mdraid flavours.
501
502 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
503 (insert_array): New argument raid.
504 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
505 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
506 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
507
74baff84
VS
5082010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
511 handling of special keys.
512
3ef068df 5132010-10-02 Aleš Nesrsta <starous@volny.cz>
514
c7980ad9
VS
515 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
516 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 517
a9455194 5182010-10-02 Aleš Nesrsta <starous@volny.cz>
519
c7980ad9
VS
520 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
521 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
522 users updated.
a9455194 523 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 524 Use right endpoint when querying descriptor.
a9455194 525
441cfe65
VS
5262010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
527
528 Clear out 0x80 color bit on EFI.
529 Tested by: decoder
530 Reported by: decoder and meta tech.
531
532 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
533 (grub_console_setcolorstate): Clear out 0x80 bit.
534 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
535 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
536 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
537
bf26bcc4
VS
5382010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
541 Set to "auto".
542
6e3c515d
VS
5432010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
546 mo_file after freeing.
547
e6d983ba
VS
5482010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
551
74ccb5b5
VS
5522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
555 flags.
556
17821956
VS
5572010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
560 usage.
561
ee74fa48
VS
5622010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
563
564 Put terminfo into core on ieee1275 and yeeloong (needed for console).
565
566 * gentpl.py: New groups terminfoinkernel and terminfomodule.
567 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
568 and terminfo.h when needed.
569 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
570 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
571 (terminfo): Enable only on terminfokernel.
572 (extcmd): Likewise.
573 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
574 * include/grub/lib/arg.h: Likewise.
575 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
576 incorrect usage of ->.
577
aa438e68
VS
5782010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
581 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
582
57994012
VS
5832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
584
585 Fix coreboot compilation.
586
587 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
588 Take VBE info into account even if only text is supported.
589 (fill_vbe_info): Take into account the case when only VGA text
590 is supported.
591 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
592 on coreboot, multiboot and qemu.
593
2a406611
VS
5942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
597 debug messages.
598 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
599
d33613fc
VS
6002010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
603 parameters.
604
44a1b432
VS
6052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
608 if they were BSD-style.
609
edde54e6
VS
6102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * grub-core/boot/i386/pc/lnxboot.S: Replace
613 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
614 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
615
b65830fa
VS
6162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
617
618 Write embedding zone using Reed-Solomon.
619
620 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
621 * grub-core/Makefile.am (rs_decoder.S): New target.
622 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
623 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
624 (multiboot): Move to RS part.
625 (post_reed_solomon): New label.
626 (grub_boot_drive): Move to non-RS part since it's modified in memory
627 on boot.
628 Include rs_decoder.S.
629 * grub-core/lib/reed_solomon.c: New file.
630 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
631 New definition.
632 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
633 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
634 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
635 * include/grub/partition.h (grub_partition_map): Change prototype of
636 embed to allow returning additional sectors.
637 * include/grub/reed_solomon.h: New file.
638 * util/grub-setup.c (setup): Handle Reed-Solomon.
639
0b4b227f
CW
6402010-09-28 Colin Watson <cjwatson@ubuntu.com>
641
642 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
643 i386 and x86-64 definedness tests.
644
f772623b
YB
6452010-09-27 Yves Blusseau <blusseau@zetam.org>
646
647 Fix generation of kernel_syms.lst
648
649 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
650 ASM_PREFIX
651
8e57a6ca
RM
6522010-09-26 Robert Millan <rmh@gnu.org>
653
654 Support degraded ZFS arrays in "grub-probe -t device" resolution.
655
656 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
657 the pool is an array of devices, iterate through it and return the
658 first device that passes a stat() test (instead of blindly returning
659 the first one).
660
f9130836
RM
6612010-09-26 Robert Millan <rmh@gnu.org>
662
663 Build fixes for GNU/kFreeBSD.
664
665 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
666 to programs that require ZFS conversion.
667 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
668 kernels that don't have FLOPPY_MAJOR.
669
96510faf
BC
6702010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
671
672 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
673
449333eb
BC
6742010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
675
676 Fix grub-emu build.
677
678 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
679 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
680 mdraid09 and mdraid1x.
681
e1fd1939
CW
6822010-09-24 Colin Watson <cjwatson@ubuntu.com>
683
684 Re-enable grub-extras.
685
686 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
687 avoid confusing Automake. Run autogen only twice, once for the top
688 level and once for grub-core. Add Makefile.util.def and
689 Makefile.core.def from extra modules to the appropriate autogen
690 invocations. If Makefile.common exists in an extra module, include
691 it in both Makefile.util.am and grub-core/Makefile.core.am;
692 similarly, include any Makefile.util.common file in Makefile.util.am
693 and any Makefile.core.common file in grub-core/Makefile.core.am.
694 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
695 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
696 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
697 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
698
699 * gentpl.py (gvar_add): Turn GVARS into a set.
700 (global_variable_initializers): Sort global variables on output.
701 (vars_init): New function.
702 (first_time): Likewise.
703 (library): Ensure that non-global variable initialisations are
704 emitted before the first time we emit code for a library block.
705 Append to variables rather than setting them. Only emit
706 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
707 each conditional path.
708 (program): installdir() emits an Autogen macro, so must be passed to
709 var_add rather than gvar_add.
710 (data): Likewise.
711 (script): Likewise.
712 (rules): New function, centralising handling for different target
713 types. Set up Guile association lists for first_time and vars_init,
714 and send most output to a diversion so that variable initialisations
715 can be emitted first.
716 (module_rules): Use new rules function.
717 (kernel_rules): Likewise.
718 (image_rules): Likewise.
719 (library_rules): Likewise.
720 (program_rules): Likewise.
721 (script_rules): Likewise.
722 (data_rules): Likewise.
723
724 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
725
726 * .bzrignore: Add contrib and grub-core/contrib. Remove
727 grub-core/Makefile.gcry.am.
728
1d12cf29
YB
7292010-09-24 Yves Blusseau <blusseau@zetam.org>
730
731 * grub-core/lib/LzFind.c: Add missing include.
732 * grub-core/lib/LzmaEnc.c: Likewise.
733 * grub-core/script/lexer.c: Likewise.
734 * grub-core/script/yylex.l: Likewise.
735 * util/grub-macho2img.c: Likewise.
736 * util/grub-menulst2cfg.c: Likewise.
737 * util/grub-mklayout.c: Likewise.
738 * util/grub-mkpasswd-pbkdf2.c
739 * util/grub-mkrelpath.c: Likewise.
740 * util/resolve.c: Likewise.
741
dd363028
BC
7422010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
743
744 * Makefile.util.def (example_unit_test): Add
745 grub-core/gnulib/libgnu.a.
746
f5a109e2
GS
7472010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
748
749 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
750
6d0fa83c
VS
7512010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
752
753 Support xz compression on yeeloong.
754
755 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
756 * configure.ac: Check for LZMA.
757 * grub-core/Makefile.core.def (xz_decompress): New target.
758 (none_decompress): Likewise.
759 * grub-core/boot/decompressor/minilib.c: New file.
760 * grub-core/boot/decompressor/none.c: Likewise.
761 * grub-core/boot/decompressor/xz.c: Likewise.
762 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
763 * grub-core/kern/mips/cache_flush.S: Likewise.
764 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
765 * grub-core/kern/mips/startup.S: Move first stage to ...
766 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
767 nomacro.
768 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
769 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
770 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
771 Allocate statically.
772 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
773 Allocate statically or use scratch. Don't check CRC32.
774 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
775 Allocate statically. Don't check CRC32.
776 * include/grub/decompressor.h: New file.
777 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
778 Removed.
779 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
780 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
781 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
782 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
783 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
784 * util/grub-mkimage.c (grub_compression_t): New type.
785 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
786 (image_target_desc): New field default_compression.
787 (image_targets): Adjust yeeloong targets.
788 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
789 (compress_kernel): New parameter comp.
790 (generate_image): Likewise. Handle new compression case.
791 (options): New option --compression
792 (help): Likewise.
793 (main): Handle new option.
794
1b655af6
GS
7952010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
796
797 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
798
8f03f0b5
CW
7992010-09-22 Colin Watson <cjwatson@ubuntu.com>
800
801 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
802 typo in __i386__ conditional.
803
7835dfd3
VS
8042010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
807 include.
808
e255597e
VS
8092010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
810
6d0fa83c 811 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
812
813 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
814 new tags as supported.
815 (acpiv2_size): New function.
816 (grub_multiboot_get_mbi_size): Take new tags into account.
817 (grub_multiboot_make_mbi): Add new tags.
818 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 819
6cc14051 8202010-09-21 Aleš Nesrsta <starous@volny.cz>
821
822 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
823 Added missing configuration of USB device.
824
df7769d8
CW
8252010-09-21 Colin Watson <cjwatson@ubuntu.com>
826
827 * grub-core/normal/menu_entry.c (run): Make sure we always return
828 a value.
829
b031012d
CW
8302010-09-21 Colin Watson <cjwatson@ubuntu.com>
831
832 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
833 NumberOfPages is UINT64 according to the UEFI specification, not
834 UINTN. Fix printf format.
835
174de8f3
CW
8362010-09-21 Colin Watson <cjwatson@ubuntu.com>
837
838 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
839 `err' to grub_usb_err_t.
840 Reported and tested by: KESHAV P.R.
841
d7dbe923
CW
8422010-09-21 Colin Watson <cjwatson@ubuntu.com>
843
844 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
845 tpart non-const, so that we can assign to it. (Since this is a
846 typedef, the constness refers to the pointer rather than what it
847 points to.)
848
8d5e2af3
CW
8492010-09-21 Colin Watson <cjwatson@ubuntu.com>
850
851 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
852 $(top_srcdir)/grub-core/gnulib as well as
853 $(top_builddir)/grub-core/gnulib.
854 Reported by: KESHAV P.R.
855
5c527783
CW
8562010-09-21 Colin Watson <cjwatson@ubuntu.com>
857
858 * util/grub-install.in: Fix the bootloader ID option to be
859 consistently --bootloader-id, not --bootloader_id.
860 Reported by: KESHAV P.R.
861
d309a16e
CW
8622010-09-21 Colin Watson <cjwatson@ubuntu.com>
863
864 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
865 check hash checksum." consistently translatable.
866
b830cd16
YB
8672010-09-21 Yves Blusseau <blusseau@zetam.org>
868
869 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
870 $(top_builddir).
871
c4fe27a8
CW
8722010-09-21 Colin Watson <cjwatson@ubuntu.com>
873
874 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
875 (GRUB_MOD_INIT): Register sha1sum command.
876 (GRUB_MOD_FINI): Unregister sha1sum command.
877
a4c1d277
YB
8782010-09-21 Yves Blusseau <blusseau@zetam.org>
879
880 Keep boot and grub directory names in sync with utils scripts
881
882 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
883 * config.h.in: Add previous macros.
884 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
885 * util/grub-install.in: Use $bootdir and $grubdir variables.
886
4eff79d2
CW
8872010-09-21 Colin Watson <cjwatson@ubuntu.com>
888
889 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
890 convert partition names to disk names if the new `convert' parameter
891 is set.
892 (grub_util_biosdisk_get_grub_dev): If opening the disk device
893 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
894 disk in its own right. This can happen with Xen disk images.
895
934d7e44
YB
8962010-09-21 Yves Blusseau <blusseau@zetam.org>
897
898 * util/grub-editenv.c: Update strings to avoid warnings when generating
899 grub.pot file.
900 * util/grub-setup.c: Likewise.
934d7e44 901
df3367cc
VS
9022010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * configure.ac: Change version to 1.99~beta0.
905
77a94e98
VS
9062010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
909 Add BADRAM.
910 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
911 Likewise.
912 * include/multiboot.h: Resynced with specification.
913 * include/multiboot2.h: Likewise.
914
269004c1
CW
9152010-09-21 Colin Watson <cjwatson@ubuntu.com>
916
917 Fix po directory handling.
918
919 * configure.ac: Create po/Makefile.in rather than po/Makefile.
920 * grub-core/gnulib/Makefile.am: Import gettext module.
921 * m4/gnulib-cache.m4: Likewise.
922 * m4/gnulib-comp.m4: Likewise.
923 * m4/gettext.m4: New file, from gnulib.
924 * m4/glibc2.m4: Likewise.
925 * m4/iconv.m4: Likewise.
926 * m4/intdiv0.m4: Likewise.
927 * m4/intl.m4: Likewise.
928 * m4/intldir.m4: Likewise.
929 * m4/intlmacosx.m4: Likewise.
930 * m4/intmax.m4: Likewise.
931 * m4/inttypes-pri.m4: Likewise.
932 * m4/lcmessage.m4: Likewise.
933 * m4/lib-ld.m4: Likewise.
934 * m4/lib-link.m4: Likewise.
935 * m4/lib-prefix.m4: Likewise.
936 * m4/lock.m4: Likewise.
937 * m4/nls.m4: Likewise.
938 * m4/po.m4: Likewise.
939 * m4/printf-posix.m4: Likewise.
940 * m4/progtest.m4: Likewise.
941 * m4/threadlib.m4: Likewise.
942 * m4/uintmax_t.m4: Likewise.
943 * m4/visibility.m4: Likewise.
944 * po/Makefile.am: Remove.
945 * po/Makefile.in.in: New file, from gettext.
946 ($(DOMAIN).pot-update): Support POTFILES-shell.
947 * po/Makevars: New file.
948 * po/POTFILES-shell: Rename to ...
949 * po/POTFILES-shell.in: ... this. Update.
950 * po/POTFILES: Rename to ...
951 * po/POTFILES.in: ... this. Update.
952 * po/Rules-quot: New file, from gettext.
953 * po/boldquot.sed: Likewise.
954 * po/en@boldquot.header: Likewise.
955 * po/en@quot.header: Likewise.
956 * po/insert-header.sin: Likewise.
957 * po/quot.sed: Likewise.
958 * po/remove-potcdate.sin: Likewise.
959
3e0fa5d0
VS
9602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
963
ade9bd66
VS
9642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * util/grub.d/20_linux_xen.in: Use submenus.
967
fc55cc4c
VS
9682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
969
970 Support submenus.
971
972 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
973 parameter submenu. All users updated.
974 * grub-core/normal/main.c (free_menu): Rename to ...
975 (grub_normal_free_menu): ... this. Made global.
976 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
977 if requested.
978 * grub-core/normal/menu_entry.c (screen): New field submenu.
979 (make_screen): Set submenu.
980 (run): Open new context if requested.
981 * include/grub/menu.h (grub_menu_entry): New field submenu.
982 * include/grub/normal.h (grub_normal_free_menu): New proto.
983
600cedf7
VS
9842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
985
986 Menu entries extractor.
987
988 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
989 variants.
990 (GRUB_MOD_INIT): Register new variants.
991 (GRUB_MOD_FINI): Unregister new variants.
992 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
993 into grub_cmd_legacy_source.
994 (grub_cmd_legacy_source): Implement extractor variants.
995 (GRUB_MOD_INIT): Register new variants.
996 (GRUB_MOD_FINI): Unregister new variants.
997 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
998 as an extractor.
999 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
1000 search as an extractor.
1001 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
1002 test as an extractor.
1003 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
1004 as an extractor.
1005 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
1006 (grub_env_new_context): New function.
1007 (grub_env_context_open): Likewise.
1008 (grub_env_extractor_open): Likewise.
1009 (grub_env_extractor_close): Likewise.
1010 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1011 grub_extractor_level.
1012 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
1013 * include/grub/env.h (grub_env_extractor_open): New proto.
1014 (grub_env_extractor_close): Likewise.
1015 * include/grub/normal.h (grub_extractor_level): New external variable.
1016
7bda3a87
VS
10172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 Make cutmem accept a region specification.
1020 Suggested by: Samuel Thibault
1021
1022 * grub-core/mmap/mmap.c (parsemem): New function.
1023 (grub_cmd_cutmem): Handle new arguments.
1024
2ea57f88
VS
10252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 New command cutmem.
1028
1029 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
1030 (GRUB_MOD_INIT): Register new command.
1031 (GRUB_MOD_FINI): Unregister new command.
1032
74342e31
VS
10332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 Support some annoying BSD and Minix subpartitions.
1036
1037 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
1038 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1039 Properly handle concatenation.
1040 * grub-core/kern/device.c (grub_device_iterate): Likewise.
1041 * grub-core/normal/completion.c (iterate_partition): Likewise.
1042 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
1043 contain partition. All users updated.
1044 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
1045 struct.
1046 (grub_openbsdlabel_partition_map): Likewise.
1047 (bsdlabel_partition_map_iterate): Rename to ..
1048 (iterate_real): ... this. New arguments sector, freebsd and pmap.
1049 (bsdlabel_partition_map_iterate): New function.
1050 (netopenbsdlabel_partition_map_iterate): Likewise.
1051 (netbsdlabel_partition_map_iterate): Likewise.
1052 (openbsdlabel_partition_map_iterate): Likewise.
1053 (GRUB_MOD_INIT): Register new partmaps.
1054 (GRUB_MOD_FINI): Unregister new partmaps.
1055 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
1056 (grub_partition_msdos_iterate): ... this. All users updated.
1057 Don't support embedding other than in a minix partition.
1058 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
1059 proto.
1060 * include/grub/partition.h (grub_partition): New field msdostype.
1061 * util/grub-install.in: Handle openbsd and netbsd types being in
1062 part_bsd module.
1063
1e8d555b
VS
10642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
1067
1068 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
1069 * grub-core/Makefile.core.def (mdraid): Renamed to ...
1070 (mdraid09): ... this.
1071 (mdraid1x): New module.
1072 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
1073 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
1074
899d8af4
VS
10752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
1078 vsprintf.
1079
40901acd
CW
10802010-09-20 Colin Watson <cjwatson@ubuntu.com>
1081
1082 * grub-core/commands/efi/lsefimmap.c: Correct header.
1083 * NEWS: Update.
1084
dfe3b247
CW
10852010-09-20 Colin Watson <cjwatson@ubuntu.com>
1086
1087 * util/grub-editenv.c (argp_parser): Don't pass translated strings
1088 as printf format strings; the translations might contain '%' which
1089 could cause a crash.
1090 (main): Likewise.
1091 * util/grub-fstest.c (argp_parser): Likewise.
1092 * util/grub-setup.c (argp_parser): Likewise.
1093 (main): Likewise.
1094
3286a4b4
VS
10952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 Use argp in grub-fstest.
1098
1099 * util/grub-fstest.c: Don't include getopt.h.
1100 Include argp.h.
1101 (root): New variable.
1102 (args_count): Likewise.
1103 (nparm): Likewise.
1104 (num_disks): Likewise.
1105 (images): Likewise.
1106 (cmd): Likewise.
1107 (debug_str): Likewise.
1108 (args): Likewise.
1109 (options): Transformed to argp.
1110 (usage): Removed.
1111 (main): Split argument parsing into ...
1112 (argp_parser): ... this. Changed to argp format.
1113 (argp): New variable.
1114 (main): Use argp_parse.
1115
3dccbe4b
TG
11162010-09-20 Tristan Gingold <gingold@free.fr>
11172010-09-20 Robert Millan <rmh.grub@aybabtu.com>
11182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/commands/efi/lsefimmap.c: New file.
1121 * grub-core/Makefile.core.def (lsefimmap): New module.
1122 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
1123
38c259a7
VS
11242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 Pause the execution (10s max) if any errors are displayed so the user
1127 has a chance to see them.
1128
1129 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
1130 (grub_print_error): Increment grub_err_printed_errors.
1131 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
1132 execution if any errors were displayed.
1133 (show_menu): Remove old code for pause.
1134 * grub-core/normal/menu_entry.c (run): Likewise.
1135 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
1136 users updated.
1137 (grub_normal_get_char_counter): Likewise.
1138 * include/grub/err.h (grub_err_printed_errors): New external variable.
1139 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
1140
f218b09c
VS
11412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 Support multiboot VBE info.
1144
1145 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1146 Take VBE info into account.
1147 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
1148 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1149 Call fill_vbe_info when appropriate.
1150 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
1151 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
1152 as supported.
1153 (grub_multiboot_get_mbi_size): Take new tags into account.
1154 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
1155 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1156 Call fill_vbe_tag when appropriate.
1157 (grub_multiboot_make_mbi): Properly align tags.
1158 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
1159 function.
1160 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
1161 proto.
1162 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
1163
a9cc5438
VS
11642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 Suport manual terminal geometry specification.
1167
1168 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
1169 Save state in grub_ofconsole_terminfo_output.
1170 (grub_ofconsole_term): Use grub_terminfo_getwh.
1171 (grub_ofconsole_getwh): Removed.
1172 * grub-core/term/serial.c (grub_serial_getwh): Removed.
1173 (grub_serial_term): Use grub_terminfo_getwh.
1174 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
1175 (options): New struct.
1176 (OPTION_*): New enum.
1177 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
1178 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
1179 width and height.
1180 (grub_terminfo_getwh): New proto.
1181 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
1182
1a8fed20
VS
11832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 Handle legacy "terminal" command.
1186
1187 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
1188 and FLAG_TERMINAL.
1189 (legacy_commands): Add terminal and title.
1190 (grub_legacy_parse): Handle terminal. Simplify title handling.
1191
41e9c57d
VS
11922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
1195 parameters overflow.
1196
61c874c5
CW
11972010-09-20 Colin Watson <cjwatson@ubuntu.com>
1198
1199 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
1200 widthspec.h.
1201
1202 * docs/grub.texi (Shell-like scripting): Document `!'.
1203 (Network): Simplify using new i386-pc-pxe format. Mention
1204 grub-mknetdir.
1205
1206 * NEWS: Update.
1207
943682b4
CW
12082010-09-20 Colin Watson <cjwatson@ubuntu.com>
1209
1210 * Makefile.am (SUBDIRS): Restore "."; it's important to force
1211 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
1212 when needed.
1213
6d3d698d
CW
12142010-09-20 Colin Watson <cjwatson@ubuntu.com>
1215
1216 * grub-core/commands/efi/lsefisystab.c: Correct header.
1217 * grub-core/commands/efi/lssal.c: Likewise.
1218 * grub-core/commands/testload.c: Likewise.
1219
c982589f
CW
12202010-09-20 Colin Watson <cjwatson@ubuntu.com>
1221
1222 * util/grub-mkrescue.in: Add explicit root argument to --set to
1223 prevent the UUID being interpreted as an argument to --set (matches
1224 previous change to prepare_grub_to_access_device).
1225
a63c31b6
CW
12262010-09-20 Colin Watson <cjwatson@ubuntu.com>
1227
1228 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
1229 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
1230 the verbosity of later #ifs.
1231 (find_partition_start): Define this function on FreeBSD too.
1232 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
1233 function.
1234 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
1235 on FreeBSD.
1236
6439b8ee
YB
12372010-09-20 Yves Blusseau <blusseau@zetam.org>
1238
1239 * util/grub-editenv.c: Use argp instead of getopt.
1240
c5930ec8
YB
12412010-09-20 Yves Blusseau <blusseau@zetam.org>
1242
1243 * util/grub-setup.c: Use argp instead of getopt.
1244
15c69261
YB
12452010-09-20 Yves Blusseau <blusseau@zetam.org>
1246
1247 Use gnulib-tool to create gnulib source files.
1248
1249 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
1250 grub-core/gnulib directories
1251 * .bzignore: Add **/.deps and autogenerated gnulib files
1252 * configure.ac: Assign auxiliary directory to build-aux, add invocation
1253 of gnulib macros, add grub-core/gnulib/Makefile
1254 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
1255 include m4 directory to aclocal.
1256 * Makefile.util.def: Remove direct compilation of gnulib source files
1257 and use the new grub-core/gnulib/libgnu.a.
1258 * build-aux/config.rpath: move config.rpath from top directory to
1259 build-aux
1260 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
1261 in gnulib headers
1262 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
1263 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
1264 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
1265 header.
1266 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
1267 string.
1268
e511c9f5
YB
12692010-09-20 Yves Blusseau <blusseau@zetam.org>
1270
1271 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
1272 grub-core/genmod.sh and grub-core/gensyminfo.sh
1273
c2dede05
BC
12742010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
1275
1276 Add a test for echo command options.
1277
1278 * tests/grub_cmd_echo.in: New test.
1279 * Makefile.util.def: Rules for new test.
1280
c55f5018
SJ
12812010-09-20 Szymon Janc <szymon@janc.net.pl>
1282
1283 Remove crc.mod and move crc command to hashsum.mod.
1284 Remove lib/crc.c - users updated to use gcrypt implementation.
1285
1286 * grub-core/commands/crc.c: Removed.
1287 * grub-core/Makefile.core.def (crc): Module removed.
1288 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
1289 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
1290 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
1291 * grub-core/lib/crc.c: Removed.
1292 * include/grub/lib/crc.h: Removed.
1293 * Makefile.util.def (crc): Remove lib/crc.c
1294 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
1295 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
1296 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
1297 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
1298 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
1299 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
1300
e0337366
VS
13012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
1304
742f9232
VS
13052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 Split config.h for util and core.
1308
1309 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
1310 (ADDR32): Likewise.
1311 (DATA32): Likewise.
1312 (BSS_START_SYMBOL): Likewise.
1313 (END_SYMBOL): Likewise.
1314 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
1315 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
1316 * config.h.in: New file.
1317 * configure.ac: Use config-util.h as config define file.
1318 Rename MACHINE into GRUB_MACHINE. All users updated.
1319 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
1320 updated.
1321 (NESTED_FUNC_ATTR): Likewise.
1322 Substitue new variables.
1323 (COND_HAVE_ASM_USCORE): New conditional.
1324 * grub-core/Makefile.am (ASM_PREFIX): New variable.
1325 (kernel_syms.lst): Use ASM_PREFIX.
1326 * grub-core/kern/emu/console.c: Include config-util.h.
1327 * grub-core/kern/emu/misc.c: Likewise.
1328 * grub-core/kern/emu/mm.c: Likewise.
1329 * include/grub/emu/misc.h: Likewise.
1330 * include/grub/libgcc.h: Likewise.
1331
39feb0e8
VS
13322010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
1335 constants usage.
1336 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
1337 Fix GRUB_TERM_KEY_* constants usage.
1338 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
1339
9af6dac3
VS
13402010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
1343 print pointer.
1344 * grub-core/bus/usb/uhci.c: Remove empty define.
1345 (grub_uhci_check_transfer): Add missing cast.
1346 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
1347 print pointer.
1348 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
1349 PRIuGRUB_SIZE.
1350 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
1351
d6d94820
VS
13522010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/Makefile.core.def (legacycfg): Add
1355 lib/i386/pc/vesa_modes_table.c on emu.
1356
3572f2b6
BC
13572010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1358
1359 Reduce number of temporary files generated by build system.
1360
1361 * grub-core/gencmdlist.sh: Removed.
1362 * grub-core/genfslist.sh: Removed.
1363 * grub-core/genhandlerlist.sh: Removed.
1364 * grub-core/genmodsrc.sh: Removed.
1365 * grub-core/genpartmaplist.sh: Removed.
1366 * grub-core/genparttoollist.sh: Removed.
1367 * grub-core/gentermiinallist.sh: Removed.
1368 * grub-core/genvideolist.sh: Removed.
1369
1370 * grub-core/genmod.sh.in: New file.
1371 * grub-core/gensyminfo.sh.in: New file.
1372
1373 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
1374 * conf/Makefile.extra-dist: Update with new files.
1375 * gentpl.py: Remove rules related to unnecessary temporary files.
1376 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
1377 and und-* files.
1378 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
1379 genmod.sh scripts.
1380 * grub-core/bus/usb/uhci.c: Remove empty #define.
1381 * grub-core/genmoddep.awk: Updated with new syminfo format.
1382 * util/bash-completion.d/Makefile.am: Add config.log to
1383 CLEANFILES.
1384
c836b030
YB
13852010-09-19 Yves Blusseau <blusseau@zetam.org>
1386
1387 * Makefile.util.def: Add forgotten $(LIBINTL) library.
1388
2f4e8053
BC
13892010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1390
1391 * util/grub-mkconfig.in: Check the config script for syntax errors
1392 before saving.
1393
75831c34
CW
13942010-09-19 Colin Watson <cjwatson@ubuntu.com>
13952010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * Makefile.util.def (grub-install): Use util/grub-install.in on all
1398 platforms.
1399 * util/grub-install.in: Add EFI and IEEE1275 support.
1400 * util/i386/efi/grub-install.in: Removed.
1401 * util/ieee1275/grub-install.in: Likewise.
1402
eaf41b25
VS
14032010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
1406 (grub_cmd_cmosclean): Likewise.
1407 (GRUB_MOD_INIT): Register command cmosclean.
1408 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
1409 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
1410
1a9130dd
CPE
14112010-09-18 Carles Pina i Estany <carles@pina.cat>
14122010-09-18 Aleš Nesrsta <starous@volny.cz>
14132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 Add keyboard layouts support.
1416
1417 * Makefile.util.def (grub-mklayout): New file.
1418 (grub-kbdcomp): New script.
1419 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
1420 Add keyboard_layouts.h.
1421 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
1422 commands/boot.c on yeeloong.
1423 (keylayouts): New module.
1424 * grub-core/bus/usb/ohci.c
1425 * grub-core/bus/usb/uhci.c
1426 * grub-core/bus/usb/usbhub.c (rescan): New variable.
1427 (grub_usb_add_hub): Poll interrupt pipe for device handling.
1428 (attach_root_port): Likewise.
1429 (poll_nonroot_hub): Likewise.
1430 (grub_usb_poll_devices): Likewise.
1431 (detach_device): Close transfer.
1432 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
1433 function.
1434 (grub_usb_bulk_setup_readwrite): Likewise.
1435 (grub_usb_bulk_finish_readwrite): Likewise.
1436 * grub-core/commands/keylayouts.c: New file.
1437 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
1438 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
1439 aliases.
1440 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
1441 support scancode 2.
1442 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
1443 * include/grub/keyboard_layouts.h: New file.
1444 * util/grub-mklayout.c: New file.
1445 * util/grub-kbdcomp.in: Likewise.
1446
a1d84a5e
VS
14472010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 Unify memory types.
1450
1451 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
1452 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
1453 types.
1454 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
1455 (grub_upper_mem): Likewise.
1456 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
1457 * include/grub/memory.h (grub_memory_type_t): New enum.
1458 All users updated.
1459
9696382e
VS
14602010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/Makefile.core.def (lsapm): New module.
1463 * grub-core/commands/i386/pc/lsapm.c: New file.
1464 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
1465 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
1466 Likewise.
1467 * include/grub/i386/pc/apm.h: New file.
1468 * include/multiboot.h (multiboot_apm_info): New struct.
1469
14702010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 GRUB-legacy configuration file support.
1473
1474 * Makefile.util.def (grub-menulst2cfg): New util.
1475 * docs/man/grub-menulst2cfg.h2m: New file.
1476 * grub-core/Makefile.core.def (legacycfg): New module.
1477 * grub-core/commands/legacycfg.c: New file.
1478 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
1479 (grub_normal_add_menu_entry): ... this.
1480 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
1481 (grub_normal_set_password): ...this.
1482 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
1483 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
1484 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
1485 * grub-core/lib/legacy_parse.c: New file.
1486 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
1487 * include/grub/i386/pc/vesa_modes_table.h: New file.
1488 * include/grub/legacy_parse.h: Likewise.
1489 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
1490 * util/grub-menulst2cfg.c: New file.
1491
bf8d1338
CW
14922010-09-17 Colin Watson <cjwatson@ubuntu.com>
1493
1494 * grub-core/kern/emu/hostdisk.c
1495 (convert_system_partition_to_system_disk): Initialise node.
1496
9c0bad2e
CW
14972010-09-17 Colin Watson <cjwatson@ubuntu.com>
1498
1499 * grub-core/kern/emu/hostdisk.c
1500 (convert_system_partition_to_system_disk): Fix devmapper memory pool
1501 leak.
1502 Reported and based on patch by: Modestas Vainius.
1503
a939d135
CW
15042010-09-17 Colin Watson <cjwatson@ubuntu.com>
1505
1506 Fix DM-RAID probing with recent versions of device-mapper udev
1507 rules.
1508
1509 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
1510 canonicalise device paths under /dev/mapper/.
1511 (convert_system_partition_to_system_disk): Compare the
1512 uncanonicalised path to /dev/mapper/ rather than the canonicalised
1513 path, since device nodes under /dev/mapper/ are often symlinks.
1514
0f7ee3c9
YB
15152010-09-17 Yves Blusseau <blusseau@zetam.org>
1516
1517 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
1518
10854d0d
YB
15192010-09-16 Yves Blusseau <blusseau@zetam.org>
1520
1521 * configure.ac: Avoid some annoying error messages if freetype-config
1522 program is not found.
1523
108538d8
CW
15242010-09-16 Colin Watson <cjwatson@ubuntu.com>
1525
1526 Support RAID on virtio devices, and others.
1527
1528 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
1529 Rename to ...
1530 [__MINGW32__] (grub_find_device): ... this.
1531 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
1532 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
1533 reasonable default if dir is NULL.
1534 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
1535 ...
1536 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
1537 (grub_guess_root_device): Update callers.
1538 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
1539
1540 * util/raid.c (grub_util_getdiskname): Remove.
1541 (grub_util_raid_getmembers): Use grub_find_device rather than
1542 grub_util_getdiskname.
1543
e5bfc130
CW
15442010-09-16 Colin Watson <cjwatson@ubuntu.com>
1545
1546 * docs/grub.texi (serial): Remove obsolete comment about GRUB
1547 needing to be compiled with serial support.
1548 (ls): Indicate that multiple files are accepted.
1549 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
1550 indicate that multiple files are accepted.
1551
be458ae2
CW
15522010-09-16 Colin Watson <cjwatson@ubuntu.com>
1553
1554 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
1555 libgrub_a_init.c, and util/bash-completion.d/grub.
1556
cb731b5e
VS
15572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * util/grub-setup.c (setup): Fix incorrect container semantics.
1560
35139e8a
VS
15612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
1564 misusage.
1565 Reported by: J. Nick Terry
1566
e50fca4a
VS
15672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 Move embedding routines to partmap sources files.
1570
1571 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
1572 [GRUB_UTIL]: New variable.
1573 (gpt_partition_map_iterate): Set part.parent.
1574 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
1575 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
1576 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
1577 New function.
1578 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
1579 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
1580 (grub_partition_map) [GRUB_UTIL]: New field embed.
1581 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
1582 (setup): Use ->embed.
1583
f00478b7
VS
15842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
1587 function.
1588 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
1589 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
1590
2b94e3ff
YB
15912010-09-15 Yves Blusseau <blusseau@zetam.org>
1592
1593 Add function to get completions from usage.
1594
1595 * util/bash-completion.d/grub-completion.bash.in: Add function to get
1596 completions from usage. Use LC_ALL=C to get options properly.
1597
2e04a006
VS
15982010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * grub-core/gnulib/basename-lgpl.c: Imported.
1601 * grub-core/gnulib/basename.c: Likewise.
1602 * grub-core/gnulib/dirname-lgpl.c: Likewise.
1603 * grub-core/gnulib/dirname.c: Likewise.
1604 * grub-core/gnulib/dirname.h: Likewise.
1605 * grub-core/gnulib/stripslash.c: Likewise.
1606
5dcdf93a
VS
16072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * grub-core/gnulib/error.c: Resynced.
1610 * grub-core/gnulib/getopt.c: Likewise.
1611 * grub-core/gnulib/getopt_int.h: Likewise.
1612 * grub-core/gnulib/regex.h: Likewise.
1613 * grub-core/gnulib/regex_internal.c: Likewise.
1614 * grub-core/gnulib/regex_internal.h: Likewise.
1615
014f47b7
SJ
16162010-09-15 Szymon Janc <szymon@janc.net.pl>
1617
1618 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
1619 CRC calculations and validity checks.
1620 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
1621 calculations.
1622
dd521a4a
SJ
16232010-09-15 Szymon Janc <szymon@janc.net.pl>
1624
1625 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
1626
79c4eeb9
VS
16272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Fix incorrect echo options handling.
1630 Reported by: Yves Blusseau.
1631
1632 * include/grub/command.h (grub_command_flags_t): New flags
1633 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
1634 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
1635 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
1636
ed80f7d5
VS
16372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
1640 users updated.
1641 (GRUB_COMMAND_FLAG_MENU): Likewise.
1642 (GRUB_COMMAND_FLAG_BOTH): Likewise.
1643 (GRUB_COMMAND_FLAG_TITLE): Removed.
1644 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
1645 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
1646 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
1647 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
1648 (grub_command_flags_t): New enum. All users updated.
1649
5fe7620a
SG
16502010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
1651
1652 Fix solaris compilation.
1653
1654 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
1655 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
1656 (grub-emu-list): Likewise.
1657
545b752f
VS
16582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 Remove deprecated root command.
1661
1662 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
1663 updated.
1664
6c1a338c
VS
16652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * util/i386/pc/grub-setup.c: Merge this ...
1668 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
1669 * util/grub-setup.c: ... into this.
1670 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
1671 New struct.
1672
16732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
1676 possible.
1677
d2ea4551
VS
16782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
1681 allocate p.
1682
3c3b5040
VS
16832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1686 explicit root argument to set to prevent UUID to be interpreted as
1687 argument to set.
1688
b71c3fae
VS
16892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
1692
275433e6
VS
16932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 Don't export grub_gate_a20.
1696
1697 * grub-core/kern/i386/pc/init.c: Remove leftovers.
1698 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
1699 to ...
1700 (grub_gate_a20): ... this. All users updated.
1701 * include/grub/i386/pc/init.h: Removed. All users updated.
1702
a5dbb1f1
VS
17032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 Create euro.pf2 which supports most European languages.
1706
1707 * Makefile.am (grubdata_DATA): Add euro.pf2.
1708 (euro.pf2): New target.
1709 (CLEANFILES): Add euro.pf2.
1710
62a747cb
VS
17112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * configure.ac: Disable emu-usb by default to prevent inadvertent
1714 device takeover.
1715
608e43b1
VS
17162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 Disable usbserial on grub-emu since our libusb code isn't good enough
1719 yet.
1720
1721 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
1722 (usbserial_pl2303): Likewise.
1723 (usbserial_ftdi): Likewise.
1724
94564f81
VS
17252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * include/grub/disk.h (grub_disk): Remove has_partitions.
1728 All users updated.
1729 * disk/loopback.c (grub_loopback): Remove has_partitions.
1730 All users updated.
1731 (options): Remove partitions. All users updated.
1732 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
1733 * util/i386/pc/grub-setup.c (setup): copy partition table only when
1734 actual partition table is found.
1735
3352800b
VS
17362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 Remove readability checks (too many false negatives).
1739
1740 * util/grub-install.in: Remove readability checks.
1741 * util/grub-mkconfig.in: Likewise.
1742 * util/grub.d/10_hurd.in: Likewise.
1743 * util/grub.d/10_kfreebsd.in: Likewise.
1744 * util/grub.d/10_linux.in: Likewise.
1745 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
1746 way.
1747
2419f17a
VS
17482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 Enable acpi shutdown on all ACPI platforms.
1751
1752 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
1753 on coreboo, multiboot and EFI.
1754 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
1755 (grub_acpi_halt): Likewise.
1756 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
1757 (grub_cmd_halt): Don't call grub_acpi_halt directly.
1758 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
1759 * grub-core/lib/i386/halt.c (grub_halt)
1760 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
1761
0575c7c3
VS
17622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
1765 context.
1766
54ac3cd1
VS
17672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/video/efi_gop.c: Fix over-80-chars line.
1770 * grub-core/video/efi_uga.c: Likewise.
1771
b2a30ac5
VS
17722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 Filter devaliases and never open same device twice.
1775
1776 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
1777 (last_ihandle): Likewise.
1778 (ofdisk_hash_ent): New member shortest.
1779 (ofdisk_hash_add): Add canonical path too.
1780 (scan): New function.
1781 (grub_ofdisk_iterate): Iterate over hashed entries.
1782 (compute_dev_path): Don't add :0.
1783 (grub_ofdisk_open): Don't really open the disk.
1784 (grub_ofdisk_close): Avoid closing unrelated disk.
1785 (grub_ofdisk_read): Implement reopen logic.
1786 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
1787 New function.
1788 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
1789 New proto.
1790
fb53b340
VS
17912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 Fix sparc64.
1794
1795 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
1796 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
1797 right address. Add sparc64_ieee1275_ldflags.
1798 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
1799 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
1800 to grub_host_to_target_addr
1801 (load_image): Likewise.
1802
f452b040
VS
18032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/normal/completion.c (complete_file): Handle device
1806 containing slash.
1807 Fix based on patch by Doug Nazar.
1808
9b5b2541
VS
18092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 grub-mknetdir script.
1812
1813 * Makefile.util.def (grub-mknetdir): New module.
1814 * tests/util/grub-shell.in: Support boot=net
1815 * util/grub-mknetdir.in: New file.
1816
9d2be652
VS
18172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 videoinfo on non-vbe.
1820
1821 * grub-core/Makefile.core.def (vbeinfo): Removed.
1822 (vbetest): Removed.
1823 (videoinfo): New module.
1824 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
1825 * grub-core/commands/i386/pc/vbetest.c: Removed.
1826 * grub-core/commands/videoinfo.c: New file.
1827 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
1828 specification.
1829 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
1830 as vbetest.
1831 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
1832 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
1833 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
1834 mode_number. New parameter mode. All users updated.
1835 (grub_video_gop_iterate): New function.
1836 (grub_video_efi_gop): New member iterate.
1837 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
1838 (grub_vbe_set_video_mode): Remove setting useless fields.
1839 (vbe2videoinfo): New function.
1840 (grub_video_vbe_iterate): Likewise.
1841 (grub_video_vbe_setup): Use vbe2videoinfo.
1842 (grub_video_vbe_print_adapter_specific_info): New function.
1843 (grub_video_vbe_adapter): New fields iterate and
1844 print_adapter_specific_info.
1845 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
1846 All users updated.
1847 (grub_video_mode_info): New field mode_number.
1848 (grub_video_adapter): New fields iterate and
1849 print_adapter_specific_info.
1850
179503f5
TG
18512010-09-13 Tristan Gingold <gingold@free.fr>
18522010-09-13 Robert Millan <rmh.grub@aybabtu.com>
18532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * grub-core/commands/efi/lsefisystab.c: New file.
1856 * grub-core/commands/efi/lssal.c: Likewise.
1857 * grub-core/Makefile.core.def (lsacpi): New module.
1858 (lsefisystab): Likewise.
1859 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
1860 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
1861 (grub_efi_sal_system_table): New struct.
1862 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
1863 (grub_efi_sal_system_table_memory_descriptor): Likewise.
1864 (grub_efi_sal_system_table_platform_features): Likewise.
1865 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
1866 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
1867 (grub_efi_sal_system_table_ap_wakeup): Likewise.
1868 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
1869
cf9827de
VS
18702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 Support explicit user claim that a device is BIOS-visible.
1873
1874 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
1875 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
1876 * grub-core/kern/emu/hostdisk.c
1877 (convert_system_partition_to_system_disk): Support mdX.
1878 (find_system_device): New parameter add. All users updated.
1879 (grub_util_biosdisk_is_present): New function.
1880 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
1881 proto.
1882
53f0eb1f
VS
18832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 Search hints support.
1886
1887 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
1888 All users updated.
1889
b23ffd70
YB
18902010-09-13 Yves Blusseau <blusseau@zetam.org>
1891
1892 Bash completion script for util commands
1893
1894 * Makefile.am: Add util/bash-completion.d directory
1895 * configure.ac: Likewise.
1896 * util/bash-completion.d/Makefile.am: New file.
1897 * util/bash-completion.d/grub-completion.bash.in: Likewise.
1898
d547dc28
VS
18992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
1902 (print_backlog): set backlog_ucs4 and backlog_glyphs.
1903 Reported by: Yves Blusseau.
1904
2fc8ccb9
VS
19052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
1908 partition size and offset.
1909
d8a84076
VS
19102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
1913
84fb3b3d
VS
19142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
1917
768ec2e2
VS
19182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
1921 (grub_xvasprintf): Likewise.
1922
4870900f
VS
19232010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
1926
faca6bec
VS
19272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
1930 args ending with NULL.
1931
19322010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
1933
1934 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
1935 pointer.
1936
3c70f225
SJ
19372010-09-11 Szymon Janc <szymon@janc.net.pl>
1938
1939 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
1940
4df7996d
VS
19412010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 Shutdown using ACPI.
1944
1945 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
1946 * grub-core/commands/acpihalt.c: New file.
1947 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
1948 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
1949 (grub_acpi_halt): New proto.
1950 (GRUB_ACPI_SLP_EN): New const.
1951 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
1952 (GRUB_ACPI_OPCODE_*): New enum.
1953 (GRUB_ACPI_EXTOPCODE_*): Likewise.
1954
126b4c32
TG
19552010-09-11 Tristan Gingold <gingold@free.fr>
19562010-09-11 Robert Millan <rmh.grub@aybabtu.com>
19572010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * commands/lsacpi.c: New file.
1960 * grub-core/Makefile.core.def (lsacpi): New module.
1961 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
1962 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
1963 (grub_acpi_madt_entry_header): New struct.
1964 (grub_acpi_madt): Likewise.
1965 (grub_acpi_madt_entry_interrupt_override): Likewise.
1966 (grub_acpi_madt_entry_sapic): Likewise.
1967 (grub_acpi_madt_entry_lsapic): Likewise.
1968 (grub_acpi_madt_entry_platform_int_source): Likewise.
1969 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
1970 (PRIuGRUB_UINT32_T): Likewise.
1971 (PRIxGRUB_UINT64_T): Likewise.
1972
1aa4fe88
VS
19732010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 Implement loading palette on ieee1275_fb.
1976
1977 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
1978 (have_setcolors): Likewise.
1979 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
1980 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
1981 (grub_video_ieee1275_set_palette): Implement.
1982
25761e13
VS
19832010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19842010-09-11 Colin Watson <cjwatson@ubuntu.com>
1985
1986 * util/grub-install.in (grub_partition): New variable.
1987 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
1988 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
1989 Fixes a bug reported by Yves Blusseau.
1990
050abaea
VS
19912010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 Fix emu on mipsel.
1994
1995 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
1996 =grub_cpu_flush_cache on all mips and not only yeeloong.
1997 * configure.ac (COND_mips): New conditional.
1998 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
1999 platforms.
2000 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
2001 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
2002 [GRUB_LINKER_HAVE_INIT]: New function.
2003 (grub_emu_post_init): Likewise.
2004 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
2005 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
2006 * include/grub/cache.h (_mips): Include mips/cache.h.
2007 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
2008 LVM and RAID prototypes.
2009 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
2010 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
2011 function.
2012
5ed7d816
CW
20132010-09-10 Colin Watson <cjwatson@ubuntu.com>
2014
2015 * util/grub-install.in: Don't try to verify core.img until after
2016 running grub-mkimage to create it.
2017
90367e04
RM
20182010-09-10 Robert Millan <rmh@gnu.org>
2019
2020 * util/grub.d/10_hurd.in: Add misc readability checks.
2021 * util/grub.d/10_kfreebsd.in: Likewise.
2022 * util/grub.d/10_linux.in: Likewise.
2023
c452fa66
CW
20242010-09-10 Colin Watson <cjwatson@ubuntu.com>
2025
2026 * util/grub-install.in: ${imgext} won't be defined here until the
2027 install branch is merged. For the meantime, only verify core.img on
2028 i386-pc and sparc64-ieee1275 platforms.
2029
c38fe9f4
RM
20302010-09-10 Robert Millan <rmh@gnu.org>
2031
2032 Solaris support in grub_find_zpool_from_dir(). Thanks
2033 Seth Goldberg for referring to getextmntent() facility.
2034
2035 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
2036 `sys/mkdev.h'.
2037 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
2038 `<sys/mnttab.h>'.
2039 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
2040 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
2041 method for finding zpool name.
2042
905f7773
CW
20432010-09-10 Colin Watson <cjwatson@ubuntu.com>
2044
2045 grub-fstest needs the host and hostfs modules while other utilities
2046 actively require those modules to be absent, so grub-fstest needs
2047 its own initialisation and finalisation code.
2048
2049 * Makefile.am (grub_fstest.pp): New target.
2050 (grub_fstest_init.lst): Likewise.
2051 (grub_fstest_init.c): Likewise.
2052 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
2053
fb90b546
RM
20542010-09-10 Robert Millan <rmh@gnu.org>
2055
2056 * configure.ac: Check for `struct statfs.f_fstypename' and
2057 `struct statfs.f_mntfromname'.
2058
2059 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
2060 kFreeBSD-specific code.
2061
66d4bea5
RM
20622010-09-10 Robert Millan <rmh@gnu.org>
2063
2064 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
2065 on ZFS. Now non-main filesystems are supported as / too.
2066
b6a690ee
CW
20672010-09-09 Colin Watson <cjwatson@ubuntu.com>
2068
2069 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
2070 and grub-core/disk/host.c to ...
2071 (grub-fstest): ... here. Having the host disk implementation
2072 present confuses grub-probe and other utility programs.
2073
2074 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
2075 when writing to a file, not when writing to stdout.
2076
8901b00c 20772010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
2078
2079 * tests/partmap_test.in: New test for partitions.
2080 * Makefile.util.def: Rules for new test.
2081
7bf45fdd
RM
20822010-09-09 Robert Millan <rmh@gnu.org>
2083
2084 * util/grub-probe.c (probe): Fix a pair of unhandled error
2085 conditions.
2086
4dfbc574
RM
20872010-09-09 Robert Millan <rmh@gnu.org>
2088
2089 Basic Btrfs support (detection and UUID).
2090
2091 * grub-core/fs/btrfs.c: New file.
2092 * Makefile.util.def (library): Register btrfs.c.
2093 * grub-core/Makefile.core.def: Likewise.
2094
6b8e78ae
RM
20952010-09-08 Robert Millan <rmh@gnu.org>
2096
2097 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
2098 with (optional) parameters to specify device and relative path.
2099 * util/grub-install.in: Use is_path_readable_by_grub() to
2100 verify readability of a few critical files.
2101 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
2102 verify readability of grub.cfg.new.
2103
27f21a8b
VS
21042010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 Split minix.mod into minix.mod and minix2.mod.
2107
2108 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
2109 * grub-core/Makefile.core.def (minix2): New module.
2110 * grub-core/fs/minix.c: Use definitions instead of runtime version
2111 checking.
2112 * grub-core/fs/minix2.c: New file.
2113
c0e53ea5
YB
21142010-09-08 Yves Blusseau <blusseau@zetam.org>
2115
2116 Add new --boot-directory option to replace --root-directory
2117
2118 * util/grub-install.in: Add new --boot-directory option
2119 * util/grub-reboot.in: Likewise.
2120 * util/grub-set-default.in: Likewise.
2121
b9fe6ea2
YB
21222010-09-08 Yves Blusseau <blusseau@zetam.org>
2123
2124 * util/grub-mkconfig.in: Use new variable.
2125
d87aedff
YB
21262010-09-08 Yves Blusseau <blusseau@zetam.org>
2127
2128 * configure.ac: Define some useful variables.
2129
e55e8495
VS
21302010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2133 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
2134 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
2135 Use terminfo and don't use cursor-on/cursor-off unless it's known
2136 to work.
2137 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
2138 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
2139
6fa6d675
CW
21402010-09-08 Colin Watson <cjwatson@ubuntu.com>
2141
2142 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
2143 starts with "(,", fill the drive containing the loaded image in
2144 between those two characters, but expect that a full partition
2145 specification including partition map names will follow.
2146
92f2aef0
RM
21472010-09-08 Robert Millan <rmh@gnu.org>
2148
2149 * configure.ac: Remove `--enable-grub-fstest' option.
2150 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
2151
2152 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
2153 `grub-fstest' instead of `grub-probe' for readability verification.
2154 * util/grub-probe.c (probe): Remove readability verification kludge.
2155
99fd620d
RM
21562010-09-08 Robert Millan <rmh@gnu.org>
2157
2158 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
2159 initializing `GRUB_FS'.
2160
058e30ac 21612010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
2162
2163 Not command (!) support to GRUB script.
2164
2165 * tests/grub_script_not.in: New test.
2166 * Makefile.util.def: Rules for new test.
2167
2168 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2169 ! command as a special case.
2170 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
2171
b61d05ed 21722010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2173
058e30ac 2174 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
2175 grub_free.
b61d05ed 2176
4d69c786 21772010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2178
2179 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
2180
aa3119c4 21812010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2182
2183 * docs/grub.texi (Shell-like scripting): Documentation for break,
2184 continue, shift and return commands.
2185
db0f7e3d
VS
21862010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 Rename CD-ROM to cd on BIOS.
2189
2190 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
2191 "cd".
2192 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
2193
88b87c93
VS
21942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
2197 * util/grub-probe.c (main): Likewise.
2198 * util/i386/pc/grub-setup.c (main): Likewise.
2199 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2200 Reported and debugged by: alexxy
2201
294f324d
VS
22022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
2205 diagnostic info.
2206
d7ee3441
JS
22072010-09-05 Jo Shields <directhex@apebox.org>
2208
2209 * util/grub.d/30_os-prober.in: Add missing classes.
2210
d7e06c1f
VS
22112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * docs/grub.texi (Theme file format): Document new position format.
2214
fc157e53
VS
22152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
2218 a table. Use @code instead of @verbatim.
2219
506e9a1c
CB
22202010-09-05 Colin D Bennett <colin@gibibit.com>
2221
2222 Gfxmenu documentation.
2223
2224 * docs/grub.texi (Theme file format): New chapter.
2225
f0aff67c
SJ
22262010-09-05 Szymon Janc <szymon@janc.net.pl>
2227
2228 * grub-core/Makefile.core.def (xzio): New module.
2229 * grub-core/io/xzio.c: New file.
2230 * grub-core/lib/xzembed/xz.h: New file (from xembed).
2231 * grub-core/lib/xzembed/xz_config.h: Likewise.
2232 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
2233 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
2234 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
2235 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
2236 * grub-core/lib/xzembed/xz_private.h: Likewise.
2237 * grub-core/lib/xzembed/xz_stream.h: Likewise.
2238 * include/grub/file.h (grub_file_filter_id): New compression filter
2239 GRUB_FILE_FILTER_XZIO.
2240
82a85062
VS
22412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
2244 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
2245 size.
2246
3579415d
VS
22472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
2250 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
2251
5124ae6d
VS
22522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 Uncompressed checksum support.
2255
2256 * grub-core/commands/hashsum.c (options): Add option --uncompress.
2257 (check_list): New parameter uncompress.
2258 (grub_cmd_hashsum): Handle --uncompress.
2259
9aadb3d1
VS
22602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 Reintroduce testload.
2263
2264 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
2265 from here ...
2266 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
2267 (GRUB_MOD_INIT): New function.
2268 (GRUB_MOD_FINI): Likewise.
2269 * grub-core/Makefile.core.def (testload): New module.
2270
a17792c3
SJ
22712010-09-05 Szymon Janc <szymon@janc.net.pl>
2272
2273 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
2274 (uint8_t): New type.
2275 (uint16_t): Likewise.
2276 (uint32_t): Likewise.
2277 (uint64_t): Likewise.
2278
b81e40a3
SJ
22792010-09-05 Szymon Janc <szymon@janc.net.pl>
2280
2281 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
2282
fc2ef117
VS
22832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
2286 Made static.
2287 (grub_gzfile_open): Removed. All users updated.
2288 (GRUB_MOD_INIT): New function.
2289 (GRUB_MOD_FINI): Likewise.
2290 * grub-core/kern/file.c (grub_file_filters_all): New variable.
2291 (grub_file_filters_enabled): Likewise.
2292 (grub_file_open): Handle filters.
2293 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
2294 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
2295 * include/grub/file.h (grub_file_filter_id_t): New type.
2296 (grub_file_filter_t): Likewise.
2297 (grub_file_filters_all): New extern variable.
2298 (grub_file_filters_enabled): Likewise.
2299 (grub_file_filter_register): New inline function.
2300 (grub_file_filter_unregister): Likewise.
2301 (grub_file_filter_disable): Likewise.
2302 (grub_file_filter_disable_compression): Likewise.
2303 * include/grub/gzio.h: Removed.
2304
35ee15e0
BC
23052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2306
2307 Filename expansion support for wildcards in GRUB script.
2308
2309 * tests/grub_script_expansion.in: New test.
2310 * Makefile.util.def: Rule for new test.
2311
2312 * grub-core/commands/wildcard.c: New file, implements filename
2313 expansion support for GRUB script.
2314 * grub-core/Makefile.core.def: Rule update for regexp.mod.
2315 * grub-core/script/argv.c: Cosmetic changes.
2316 * grub-core/script/execute.c (grub_script_arglist_to_argv):
2317 Refactored to perform wildcard expansion on arguments.
2318 * include/grub/script_sh.h (grub_script_wildcard_translator): New
2319 struct.
2320
2321 * tests/util/grub-shell.in: Fix quoting for read input.
2322
5f0c4aca
BC
23232010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2324
2325 Support for updating environment variables with matched substrings
2326 of regexp.
2327
2328 * tests/grub_cmd_regexp.in: New test.
2329 * Makefile.util.def: Rule for new test.
2330
2331 * grub-core/commands/regexp.c: New option -s to update environment
2332 variables with regexp matches.
2333
3759a35f
SJ
23342010-09-04 Szymon Janc <szymon@janc.net.pl>
2335
2336 * include/grub/file.h (grub_file): New member not_easly_seekable.
2337 (grub_file_seekable): New inline function.
2338 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
2339 easily seekable.
2340 (grub_gzio_open): Set not_easly_seekable.
2341 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
2342 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
2343
ed8c6dec
BC
23442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2345
2346 Support for options to appear multiple times on cmdline.
2347
2348 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
2349 * grub-core/commands/extcmd.c: Support for repeatable option.
2350 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
2351 repeatable option support.
2352
2353 Refactor menuentry into a regular command.
2354
2355 * grub-core/commands/menuentry.c: New file, menuentry command
2356 implementation.
2357 * grub-core/Makefile.core.def: Rule update for normal.mod.
2358 * grub-core/normal/main.c: Moved menuentry creation to
2359 grub-core/commands/menuentry.c.
2360 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
2361 (grub_menu_execute_entry_real): Removed.
2362 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
2363 function.
2364 (grub_script_execute_menuentry): Removed.
2365 * grub-core/script/parser.y (menuentry): Removed.
2366 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
2367 * grub-core/script/yylex.l (menuentry): Removed.
2368 * include/grub/menu.h (grub_menu_init): New prototype.
2369 (grub_menu_fini): New prototype.
2370 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
2371 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
2372 (grub_script_execute_sourcecode): New prototype.
2373
dacd0cf0
BC
23742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2375
2376 "return" command for GRUB script functions.
2377
2378 * tests/grub_script_return.in: New test.
2379 * Makefile.util.def: Rules for new test.
2380
2381 * grub-core/script/execute.c (grub_script_return): New function.
2382 * grub-core/script/main.c: Register/unregister return commaond.
2383 * include/grub/script_sh.h (grub_script_return): New prototype.
2384
52e72f9d
BC
23852010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2386
2387 "setparams" command to update positional parameters.
2388
2389 * tests/grub_script_setparams.in: New test.
2390 * Makefile.util.def: Rules for new test.
2391
2392 * grub-core/script/argv.c (grub_script_argv_make): New function.
2393 * grub-core/script/execute.c (replace_scope): New function.
2394 (grub_script_setparams): New function.
2395 * grub-core/script/lexer.c: Remove unused variables.
2396 * grub-core/script/main.c: Register/unregister setparams command.
2397 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
2398 (grub_script_setparams): New prototype.
2399
25b60c91
BC
24002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2401
2402 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
2403 grub_free order.
2404
37e7bf68
BC
24052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2406
2407 Support for passing block of commands as an argument to extcmds.
2408
2409 * Makefile.util.def: Rules for new test.
2410 * tests/grub_script_blockarg.in: New test.
2411 * grub-core/tests/test_blockarg.c: New file, block argument
2412 command used in the test.
2413
2414 * include/grub/extcmd.h (grub_extcmd_context): New struct.
2415 (grub_register_extcmd_prio): New function prototype.
2416 (grub_extcmd_dispatcher): New function prototype.
2417 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
2418 type.
2419 * include/grub/script_sh.h (struct grub_script): New members
2420 `children', `next_siblings' and `refcnt' for block arguments and
2421 reference counting.
2422 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
2423 (grub_script_arg): New member `script' for block argument.
2424 (grub_script_argv): New member `script' for block argument.
2425 (grub_parser_param): New member `scripts' for block argument.
2426 (grub_script_mem_free): New extern function prototype.
2427 (grub_script_ref): New function prototype.
2428 (grub_script_unref): New function prototype.
2429
2430 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
2431 extcmd form to support block arguments.
2432 * grub-core/script/argv.c: Block arguments support.
2433 * grub-core/script/execute.c: Likewise.
2434 * grub-core/script/lexer.c: Likewise.
2435 * grub-core/script/main.c: Likewise.
2436 * grub-core/script/script.c: Likewise.
2437 * grub-core/script/parser.y: Likewise. New `block' and `block0'
2438 non-terminals.
2439
2440 * grub-core/commands/acpi.c: Update extcmd implementations with
2441 grub_extcmd_context_t.
2442 * grub-core/commands/cat.c: Likewise.
2443 * grub-core/commands/echo.c: Likewise.
2444 * grub-core/commands/extcmd.c: Likewise.
2445 * grub-core/commands/hashsum.c: Likewise.
2446 * grub-core/commands/hdparm.c: Likewise.
2447 * grub-core/commands/help.c: Likewise.
2448 * grub-core/commands/hexdump.c: Likewise.
2449 * grub-core/commands/i386/cpuid.c: Likewise.
2450 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2451 * grub-core/commands/i386/pc/halt.c: Likewise.
2452 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2453 * grub-core/commands/iorw.c: Likewise.
2454 * grub-core/commands/keystatus.c: Likewise.
2455 * grub-core/commands/loadenv.c: Likewise.
2456 * grub-core/commands/ls.c: Likewise.
2457 * grub-core/commands/lspci.c: Likewise.
2458 * grub-core/commands/memrw.c: Likewise.
2459 * grub-core/commands/probe.c: Likewise.
2460 * grub-core/commands/search_wrap.c: Likewise.
2461 * grub-core/commands/setpci.c: Likewise.
2462 * grub-core/commands/sleep.c: Likewise.
2463 * grub-core/disk/loopback.c: Likewise.
2464 * grub-core/hello/hello.c: Likewise.
2465 * grub-core/loader/i386/bsd.c: Likewise.
2466 * grub-core/loader/xnu.c: Likewise.
2467 * grub-core/term/gfxterm.c: Likewise.
2468 * grub-core/term/serial.c: Likewise.
2469 * grub-core/tests/lib/functional_test.c: Likewise.
2470
888d1500
BC
24712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2472
2473 Multi-line quoted strings support.
2474
2475 * grub-core/script/lexer.c (append_newline): Removed.
2476 (grub_script_lexer_yywrap): Refactored.
2477 (grub_script_lexer_init): Refactored.
2478 * grub-core/script/yylex.l (yywrap): New function.
2479 (grub_lexer_resplit): New function.
2480 (grub_lexer_unput): New function.
2481 * include/grub/script_sh.h (grub_lexer_param): New members, unput
2482 and resplit.
2483 * tests/grub_script_echo1.in: Added few more testcases.
2484
dda060dd
VS
24852010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * grub-core/kern/misc.c: Don't add abort alias in utils.
2488 Reported by: echoline.
2489
6556eba9
BC
24902010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
2491
2492 Add missing files into "make dist" tarball for other platforms.
2493
2494 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
2495 * conf/Makefile.common (dist_noinst_DATA): New variable.
2496 * conf/Makefile.extra-dist: Added missing make dist files.
2497 * grub-core/Makefile.core.def: Likewise.
2498
c8e7bf5f
VS
24992010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 Compress grub_prefix.
2502
2503 * grub-core/boot/i386/pc/lnxboot.S: Use
2504 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
2505 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
2506 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
2507 GRUB_MACHINE_PREFIX_END. All users updated.
2508 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
2509 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
2510 + 0x40.
2511 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2512 * util/grub-mkimage.c (image_target_desc): Change data_end to
2513 prefix_end. All users updated.
2514
a7c00cdb
VS
25152010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
2518 value.
2519 (grub_openbsd_boot): Likewise.
2520 (grub_netbsd_boot): Likewise.
2521 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
2522 (grub_xnu_boot): Likewise.
2523
9f915872
VS
25242010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * configure.ac: Clean LIBS variable after tests.
2527
efa1bee7
CW
25282010-09-02 Colin Watson <cjwatson@ubuntu.com>
2529
2530 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
2531
61d720e5
VS
25322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
2535 echo if libdevmapper will be used.
2536
ef8e0ec8
IT
25372010-09-02 Ian Turner <Ian.Turner@deshaw.com>
2538
2539 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
2540 constant for the same file.
2541
03e261d8
VS
25422010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
2545
c2a4eba6
CW
25462010-09-02 Colin Watson <cjwatson@ubuntu.com>
2547
2548 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
2549 grub-core/*.pp.
2550
9056cbf3
CW
25512010-09-02 Colin Watson <cjwatson@ubuntu.com>
2552
2553 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
2554 required by the boot protocol.
2555
2556 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
2557 ebp and edi members.
2558 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
2559 state.ebp and state.edi.
2560 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
2561 %ebp and %edi according to grub_relocator32_ebp and
2562 grub_relocator32_edi respectively.
2563 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
2564 and state.edi.
2565
529cc99a
VS
25662010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 Add i386-pc-pxe image target.
2569
2570 * util/grub-mkimage.c (image_target_desc): New enum value
2571 IMAGE_I386_PC_PXE.
2572 (image_targets): New target i386-pc-pxe.
2573 (generate_image): Handle i386-pc-pxe image.
2574
9a093920
VS
25752010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 Fix grub_pxe_scan.
2578
2579 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
2580 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
2581 All users updated.
2582 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
2583 (grub_pxe_pxenv): Correct type.
2584
f9cefc4e
CW
25852010-09-01 Colin Watson <cjwatson@ubuntu.com>
2586
2587 * NEWS: Document most of the important changes since 1.98.
2588
4066f57f
CW
25892010-09-01 Colin Watson <cjwatson@ubuntu.com>
2590
2591 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
2592 generated manual page) a little.
2593
da2891f9
CW
25942010-09-01 Colin Watson <cjwatson@ubuntu.com>
2595
2596 * docs/grub.texi: Add myself as an author.
2597
ad717fae
VS
25982010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * Makefile.util.def (libgrub.a): Add missing sunpc.
2601 Reported by: Seth Goldberg.
2602
eefe8abd
VS
26032010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 Interrupt wrapping and code simplifications.
2606
9494ef9a
VS
2607 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
2608 x86_noieee1275 which are functionaly equivalent in this case.
2609 (grub-install): Make source on each platform explicit. Enable on
2610 all noemu.
2611 * gentpl.py (x86_efi_pc): Removed group.
2612 (x86_noefi): Likewise.
2613 (i386_noefi): Likewise.
2614 (x86_noieee1275): Likewise.
2615 (i386_noieee1275): Likewise.
2616 (i386_noefi_noieee1275): Likewise.
2617 (i386_pc_qemu_coreboot): Likewise.
2618 (i386_coreboot_multiboot): Likewise.
2619 (i386_pc_coreboot_multiboot_qemu): Likewise.
2620 (x86_noefi_mips): Likewise.
2621 (noieee1275): Likewise.
2622 (ieee1275_mips): Likewise.
2623 (noemu_noieee1275): Likewise.
2624 (cmos): New group.
2625 (usb): Likewise.
2626 (videoinkernel): Likewise.
2627 (videomodules): Likewise.
eefe8abd 2628 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
2629 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
2630 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
2631 include/grub/loader.h, include/grub/msdos_partition.h,
2632 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
2633 include/grub/machine/console.h, include/grub/machine/vga.h,
2634 include/grub/machine/vbe.h, include/grub/machine/init.h,
2635 include/grub/machine/kernel.h, include/grub/cpu/time.h,
2636 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 2637 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
2638 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
2639 * grub-core/Makefile.core.def (kernel): Explicit the source for
2640 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
2641 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
2642 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
2643 Use videoinkernel tag.
2644 (usb): Enable on all usb.
2645 (usbserial_common): Likewise.
2646 (usbserial_pl2303): Likewise.
2647 (usbserial_ftdi): Likewise.
2648 (uhci): Enable on all x86.
2649 (ohci): Enable on all pci.
2650 (cmostest): Enable on all CMOS.
2651 (acpi): Include commands/acpi.c on all platforms.
2652 (halt): Add relevant lib/*/halt.c.
2653 (hdparm): Enable on all pci.
2654 (lspci): Likewise.
2655 (usbtest): Enable on all usb.
2656 (ata): Enable on all pci.
2657 (ata_pthru): Likewise.
2658 (usbms): Enable on all usb.
2659 (usb_keyboard): Likewise.
2660 (font): Use tag videomodules.
2661 (bufio): Likewise.
2662 (datetime): Use tag cmos. Enable on all noemu.
2663 (mmap): Use tags common and x86.
2664 (gfxterm): Use tag videomodules.
2665 (bitmap): Likewise.
2666 (bitmap_scale): Likewise.
2667 (video_fb): Likewise.
2668 (video): Likewise.
2669 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
2670 adjust padding accordingly. All users updated.
2671 (grub_ohci_transaction): Fix bad format specification.
2672 (GRUB_MOD_INIT): Add asserts for struct size.
2673 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
2674 (grub_alloc_td): Likewise.
2675 (grub_free_queue): Likewise.
2676 (grub_uhci_transfer): Likewise.
2677 (grub_uhci_transaction): Fix bad format specification.
2678 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2679 (grub_usb_bulk_readwrite): Likewise.
2680 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
2681 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
2682 Made static.
2683 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
2684 Made static.
2685 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
2686 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
2687 Transformed into C.
2688 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
2689 Moved from here ...
2690 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
2691 ... here. Transformed into C. Made static.
2692 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
2693 Moved from here ...
2694 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
2695 ... here. Transformed into C. Made static.
2696 * grub-core/kern/i386/pc/startup.S
2697 (grub_biosdisk_check_int13_extensions): Moved from here ...
2698 * grub-core/disk/i386/pc/biosdisk.c
2699 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
2700 Made static.
2701 * grub-core/kern/i386/pc/startup.S
2702 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
2703 * grub-core/disk/i386/pc/biosdisk.c
2704 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
2705 Transformed into C. Made static.
2706 * grub-core/kern/i386/pc/startup.S
2707 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
2708 * grub-core/disk/i386/pc/biosdisk.c
2709 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
2710 Transformed into C. Made static.
2711 * grub-core/kern/i386/pc/startup.S
2712 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
2713 * grub-core/disk/i386/pc/biosdisk.c
2714 (grub_biosdisk_get_diskinfo_standard): ... here.
2715 Transformed into C. Made static.
2716 * grub-core/kern/i386/pc/startup.S
2717 (grub_biosdisk_get_num_floppies): Moved from here ...
2718 * grub-core/disk/i386/pc/biosdisk.c
2719 (grub_biosdisk_get_num_floppies): ... here.
2720 Transformed into C. Made static.
2721 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
2722 New function.
2723 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
2724 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
2725 Transformed into C. Made static.
2726 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
2727 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
2728 Transformed into C. Made static.
2729 * grub-core/kern/i386/ieee1275/init.c: Removed.
2730 * grub-core/kern/i386/misc.S: Likewise.
2731 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
2732 Splitted from here ...
2733 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
2734 Transformed into C. Made static. All users updated.
2735 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
2736 Transformed into C. Made static. All users updated.
2737 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
2738 Moved from here...
2739 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
2740 Transformed into C. Made static. All users updated.
2741 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
2742 Moved from here...
2743 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
2744 Transformed into C. Made static. All users updated.
2745 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
2746 Removed (replaced by C version).
2747 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
2748 Moved from here...
2749 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
2750 Transformed into C. Made static.
2751 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
2752 Moved from here...
2753 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
2754 ... here. Transformed into C.
2755 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
2756 Moved from here...
2757 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
2758 ... here. Transformed into C.
2759 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
2760 Moved from here...
2761 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
2762 ... here. Transformed into C. Made static.
2763 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
2764 Moved from here...
2765 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
2766 ... here. Transformed into C.
21ed554b
VS
2767 * grub-core/kern/i386/pc/startup.S
2768 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
2769 * grub-core/video/i386/pc/vbe.c
2770 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
2771 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
2772 Moved from here...
2773 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
2774 ... here. Transformed into C.
2775 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
2776 Moved from here...
2777 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
2778 ... here. Transformed into C.
2779 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
2780 Moved from here...
2781 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
2782 ... here. Transformed into C.
2783 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
2784 Moved from here...
2785 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
2786 ... here. Transformed into C.
2787 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
2788 Moved from here...
2789 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
2790 ... here. Transformed into C. Made static.
2791 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
2792 Moved from here...
2793 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
2794 ... here. Transformed into C. Made static.
2795 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
2796 Moved from here...
2797 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
2798 ... here. Transformed into C. Made static.
2799 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
2800 pxe_rm_entry as third argument.
2801 (grub_bios_interrupt): New function.
2802 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
2803 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
2804 of calling grub_stop.
2805 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
2806 * grub-core/lib/efi/halt.c (grub_halt): ...here.
2807 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
2808 * grub-core/lib/emu/halt.c (grub_halt): ... here.
2809 * grub-core/lib/i386/halt.c: Moved from here ...
2810 * grub-core/lib/i386/halt.c: ... here.
2811 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
2812 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
2813 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
2814 grub_stop_floppy.
2815 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
2816 * include/grub/i386/coreboot/init.h: Removed.
2817 * include/grub/i386/multiboot/init.h: Likewise.
2818 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
2819 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
2820 * include/grub/i386/pc/int.h: New file.
2821 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
2822 (grub_pxe_scan): Removed.
2823 (grub_pxe_call): Update prototype.
2824 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
2825 prototypes.
2826 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
2827 * include/grub/i386/qemu/init.h: Removed.
2828 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
2829 noreturn.
2830 (grub_halt): Likewise.
2831 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
2832 (grub_reboot): Likewise.
2833 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
2834 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
2835 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
2836
215dd471
RM
28372010-08-30 Robert Millan <rmh@gnu.org>
2838
2839 * NEWS: Document addition of ZFS support in `grub-install' and
2840 `grub-mkconfig'.
2841
ebd65b82
BC
28422010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
2843
2844 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
2845 dprintf output.
2846
11721d19
VS
28472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 Remove leftover embedding of font objects.
2850
2851 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2852 * util/grub-install.in (font): Removed.
2853 * util/grub-mkimage.c (generate_image): Remove font support. All users
2854 updated.
2855
37837d4e
VS
28562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 Remove leftover embedding of font objects.
2859
2860 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2861 * util/grub-install.in (font): Removed.
2862 * util/grub-mkimage.c (generate_image): Remove font support. All users
2863 updated.
2864
b4c1aae0
VS
28652010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 2868 Reported by: Ian Turner
b4c1aae0 2869
8920a08d
VS
28702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
2873 timeout to avoid indefinite boot stalling.
2874
f21db033
VS
28752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
2878 (grub_env_write_color_highlight): Likewise.
2879
9a9de209
VS
28802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/normal/term.c (print_more): Return to normal and not
2883 to standard state after printing "---MORE---".
2884
3dca01d7
VS
28852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
2888 Mask out the bit 0x80 since it has other meaning that specifiing color.
2889
0b986c40
VS
28902010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 New relocator. Allows for more kernel support and more straightforward
2893 loader writing.
2894
2895 * Makefile.am (BOOTTARGET): New variable.
2896 (QEMU32): Likewise.
2897 (linux.init.x86_64): New target.
2898 (linux.init.i386): Likewise.
2899 (multiboot.elf): Likewise.
2900 (kfreebsd.elf): Likewise.
2901 (kfreebsd.aout): Likewise.
2902 (pc-chainloader.elf): Likewise.
2903 (pc-chainloader.bin): Likewise.
2904 (ntldr.elf): Likewise.
2905 (ntldr.bin): Likewise.
2906 (multiboot2.elf): Likewise.
2907 (kfreebsd.init.x86_64): Likewise.
2908 (kfreebsd.init.i386): Likewise.
2909 (knetbsd.init.i386): Likewise.
2910 (kopenbsd.init.i386): Likewise.
2911 (knetbsd.init.x86_64): Likewise.
2912 (kopenbsd.init.x86_64): Likewise.
2913 (linux-initramfs.i386): Likewise.
2914 (linux-initramfs.x86_64): Likewise.
2915 (kfreebsd-mfsroot.i386.img): Likewise.
2916 (knetbsd.image.i386): Likewise.
2917 (kopenbsd.image.i386): Likewise.
2918 (kopenbsd.image.x86_64): Likewise.
2919 (knetbsd.miniroot-image.i386.img): Likewise.
2920 (kfreebsd-mfsroot.x86_64.img): Likewise.
2921 (knetbsd.image.x86_64): Likewise.
2922 (knetbsd.miniroot-image.x86_64.img): Likewise.
2923 (kfreebsd-mfsroot.i386.gz): Likewise.
2924 (bootcheck-kfreebsd-i386): Likewise.
2925 (kfreebsd-mfsroot.x86_64.gz): Likewise.
2926 (bootcheck-kfreebsd-x86_64): Likewise.
2927 (knetbsd.miniroot-image.i386.gz): Likewise.
2928 (bootcheck-knetbsd-i386): Likewise.
2929 (bootcheck-kopenbsd-i386): Likewise.
2930 (bootcheck-kopenbsd-x86_64): Likewise.
2931 (knetbsd.miniroot-image.x86_64.gz): Likewise.
2932 (bootcheck-knetbsd-x86_64): Likewise.
2933 (bootcheck-linux-i386): Likewise.
2934 (bootcheck-linux-x86_64): Likewise.
2935 (bootcheck-linux16-i386): Likewise.
2936 (bootcheck-linux16-x86_64): Likewise.
2937 (bootcheck-multiboot): Likewise.
2938 (bootcheck-multiboot2): Likewise.
2939 (bootcheck-kfreebsd-aout): Likewise.
2940 (bootcheck-pc-chainloader): Likewise.
2941 (bootcheck-ntldr): Likewise.
2942 (CLEANFILES): Add new targets.
2943 (BOOTCHECKS): New variable.
2944 (.PHONY): Add bootchecks.
2945 (SUCCESSFUL_BOOT_STRING): New variable.
2946 (BOOTCHECK_TIMEOUT): Likewise.
2947 (bootcheck): New target
2948 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
2949 * configure.ac: Correct efiemu excuse.
2950 * docs/grub.texi (Supported kernels): New chapter.
2951 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
2952 include/grub/mm_private.h. Simplify inclusion of
2953 include/grub/boot.h, include/grub/loader.h
2954 and include/grub/msdos_partition.h
2955 (KERNEL_HEADER_FILES) [i386_coreboot]:
2956 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
2957 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
2958 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
2959 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
2960 include/grub/machine/loader.h.
2961 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
2962 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
2963 extra_dist.
2964 (pci.mod): Enable on i386-multiboot.
2965 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
2966 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
2967 i386-qemu.
2968 (relocator.mod): Rewritten.
2969 (aout.mod): Enable on all x86.
2970 (bsd.mod): Likewise.
2971 (ntldr.mod): New module.
2972 (linux.mod): Use loader/i386/linux.c on all x86.
2973 (xnu.mod): Enable on all x86.
2974 (vga_text.mod): disable on EFI and QEMU.
2975 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
2976 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
2977 * grub-core/efiemu/loadcore.c: Likewise.
2978 * grub-core/efiemu/main.c: Likewise.
2979 (grub_efiemu_exit_boot_services): Removed.
2980 (grub_efiemu_finish_boot_services): Likewise.
2981 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
2982 function.
2983 * grub-core/efiemu/i386/nocfgtables.c: New file.
2984 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
2985 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
2986 (grub_efi_finish_boot_services): Moved from here ...
2987 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
2988 Fille finish memory map and related data.
2989 (finish_mmap_buf): New variable.
2990 (grub_efi_uintn_t finish_mmap_size): Likewise.
2991 (grub_efi_uintn_t finish_key): Likewise.
2992 (grub_efi_uintn_t finish_desc_size): Likewise.
2993 (grub_efi_uint32_t finish_desc_version): Likewise.
2994 (grub_efi_is_finished): Likewise.
2995 (grub_efi_get_memory_map): Use saved memory map if EFI is already
2996 finished.
2997 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
2998 (grub_elf64_phdr_iterate): Likewise.
2999 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
3000 (grub_os_area_size): Likewise.
3001 (grub_machine_init): Don't reserve os area.
3002 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
3003 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3004 * grub-core/kern/i386/loader.S: Removed.
3005 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
3006 (grub_os_area_size): Likewise.
3007 (grub_machine_init): Don't reserve os area.
3008 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3009 Don't call grub_dl_unload_all.
3010 Don't include loader.S.
3011 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3012 Declare the memory after _end as available.
3013 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 3014 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 3015 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
3016 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
3017 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
3018 * include/grub/mm_private.h (grub_mm_header): ... here.
3019 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
3020 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
3021 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
3022 (grub_mm_region): ..here. Removed addr. Added pre_size.
3023 All users updated.
3024 * grub-core/kern/mm.c (base): Renamed to ...
3025 (grub_mm_base): ... this. Made global.
3026 (grub_real_malloc): Alloc from end of region.
3027 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
3028 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
3029 * grub-core/kern/powerpc/cache_flush.S: ... here.
3030 * grub-core/lib/efi/relocator.c: New file.
3031 * grub-core/lib/i386/relocator.c: Rewritten.
3032 * grub-core/lib/i386/relocator16.S: New file.
3033 * grub-core/lib/i386/relocator32.S: Likewise.
3034 * grub-core/lib/i386/relocator64.S: Likewise.
3035 * grub-core/lib/i386/relocator_asm.S: Rewritten.
3036 * grub-core/lib/i386/relocator_common.S: New file.
3037 * grub-core/lib/ieee1275/relocator.c: Likewise.
3038 * grub-core/lib/mips/relocator.c: Rewritten.
3039 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
3040 stylistic adjustments.
3041 * grub-core/lib/powerpc/relocator.c: New file.
3042 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
3043 * grub-core/lib/relocator.c: Rewritten.
3044 * grub-core/lib/x86_64/relocator_asm.S: New file.
3045 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
3046 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
3047 (bsd_tag): New struct.
3048 (tags): New variable.
3049 (tags_last): Likewise.
3050 (netbsd_module): New struct.
3051 (netbsd_mods): New variable.
3052 (netbsd_mods_last): Likewise.
3053 (openbsd_opts): New parameter "serial".
3054 (OPENBSD_SERIAL_ARG): New definition.
3055 (netbsd_opts): New parameter "serial".
3056 (NETBSD_SERIAL_ARG): New definition.
3057 (grub_freebsd_add_meta): Reorganised into ...
3058 (grub_bsd_add_meta): ...this. All users updated.
3059 (grub_freebsd_add_mmap): Reorganised into ...
3060 (generate_e820_mmap): ...this...
3061 (grub_bsd_add_mmap): ...and this. All users updated.
3062 (grub_freebsd_list_modules): Use tags.
3063 (grub_netbsd_add_meta_module): New function.
3064 (grub_netbsd_list_modules): Likewise.
3065 (grub_freebsd_boot): Use relocator and finish EFI.
3066 (grub_openbsd_boot): Likewise.
3067 (grub_netbsd_setup_video): New function.
3068 (grub_netbsd_add_modules): Likewise.
3069 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
3070 and finish EFI.
3071 (grub_bsd_unload): Unload tags.
3072 (grub_bsd_load_aout): Use relocator.
3073 (grub_bsd_elf32_size_hook): New function.
3074 (grub_bsd_elf32_hook): Use relocator.
3075 (grub_bsd_elf64_size_hook): New function.
3076 (grub_bsd_elf64_hook): Use relocator.
3077 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
3078 (grub_bsd_load): Zero-out openbsd_ramdisk.
3079 (grub_bsd_load): Use relocator.
3080 (grub_cmd_openbsd): Support serial.
3081 (grub_cmd_netbsd): Support modules.
3082 (grub_cmd_freebsd_module): Use relocator.
3083 (grub_netbsd_module_load): New function.
3084 (grub_cmd_netbsd_module): Likewise.
3085 (grub_cmd_openbsd_ramdisk): Likewise.
3086 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
3087 kopenbsd_ramdisk.
3088 (GRUB_MOD_FINI): Unregister new commands.
3089 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
3090 (grub_freebsd_load_elfmodule_obj): Use relocator.
3091 (grub_freebsd_load_elfmodule): Likewise.
3092 (grub_freebsd_load_elf_meta): Likewise.
3093 (grub_netbsd_load_elf_meta): New function.
3094 (grub_openbsd_find_ramdisk): Likewise.
3095 * grub-core/loader/i386/bsd_helper.S: Removed.
3096 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
3097 * grub-core/loader/i386/bsd_trampoline.S: Removed.
3098 * grub-core/loader/i386/efi/linux.c: Likewise.
3099 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
3100 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
3101 (DEFAULT_VIDEO_MODE): Likewise.
3102 (real_mode_target): New variable.
3103 (prot_mode_target): Likewise.
3104 (initrd_mem_target): Likewise.
3105 (relocator): Likewise.
3106 (efi_mmap_buf): Likewise.
3107 (efi_mmap_size): Likewise.
3108 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
3109 (free_pages): Use relocator.
3110 (allocate_pages): Account for efi_mmap and use relocator. Return error.
3111 (grub_linux_setup_video): Return error.
3112 (grub_linux_trampoline_start): Removed.
3113 (grub_linux_trampoline_end): Likewise.
3114 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
3115 andd video parameters depending on firmware.
3116 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
3117 [GRUB_MACHINE_EFI]: Pass EFI parameters.
3118 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
3119 (grub_cmd_initrd): Use relocator.
3120 * grub-core/loader/i386/linux_trampoline.S: Removed.
3121 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
3122 (elf_sec_entsize): Likewise.
3123 (elf_sec_shstrndx): Likewise.
3124 (elf_sections): Likewise.
3125 (grub_multiboot_load): Use relocator.
3126 (grub_multiboot_get_mbi_size): Account for sections.
3127 (grub_multiboot_make_mbi): Use relocator and support sections.
3128 (grub_multiboot_add_elfsyms): New function.
3129 (grub_multiboot_free_mbi): Free sections.
3130 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
3131 (grub_linux_real_target): Likewise.
3132 (grub_linux_real_chunk): Likewise.
3133 (grub_linux16_prot_size): Likewise.
3134 (grub_linux16_boot): Use relocator.
3135 (grub_linux_unload): Unload relocator.
3136 (grub_cmd_linux): Use relocator.
3137 (grub_cmd_initrd): Likewise.
3138 * grub-core/loader/i386/pc/ntldr.c: New file.
3139 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
3140 Don't try to guess CPU frequency.
3141 (grub_xnu_set_video): Stretch bitmap.
3142 (grub_xnu_boot): Use relocator.
3143 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
3144 (grub_linux_unload): Free relocator.
3145 (grub_linux_load32): Use relocator.
3146 (grub_linux_load64): Likewise.
3147 (grub_cmd_initrd): Likewise.
3148 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
3149 (grub_multiboot_unload): Unload relocator.
3150 (grub_cmd_multiboot): Use relocator.
3151 (grub_cmd_module): Likewise.
3152 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
3153 Use relocator and support sections.
3154 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
3155 (elf_sec_entsize): Likewise.
3156 (elf_sec_shstrndx): Likewise.
3157 (elf_sections): Likewise.
3158 (grub_multiboot_load): Use relocator.
3159 (grub_multiboot_get_mbi_size): Account for sections.
3160 (grub_multiboot_make_mbi): Use relocator and support sections.
3161 (grub_multiboot_add_elfsyms): New function.
3162 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
3163 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
3164 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
3165 Prototype changed. All users updated.
3166 (grub_xnu_align_heap): Simplified.
3167 (grub_xnu_writetree_toheap): Likewise.
3168 (grub_xnu_unload): Unload relocator.
3169 (grub_cmd_xnu_kernel): Use relocator.
3170 (grub_cmd_xnu_kernel64): Likewise.
3171 (grub_xnu_register_memory): Simplified.
3172 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
3173 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
3174 EFI is finished.
3175 (grub_console_checkkey): Likewise.
3176 (grub_console_getkey): Likewise.
3177 (grub_console_getwh): Likewise.
3178 (grub_console_getxy): Likewise.
3179 (grub_console_gotoxy): Likewise.
3180 (grub_console_cls): Likewise.
3181 (grub_console_setcolorstate): Likewise.
3182 (grub_console_setcursor): Likewise.
3183 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
3184 * grub-core/tests/boot/kbsd.init-i386.S: New file.
3185 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
3186 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
3187 * grub-core/tests/boot/kernel-8086.S: Likewise.
3188 * grub-core/tests/boot/kernel-i386.S: Likewise.
3189 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
3190 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
3191 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
3192 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
3193 * grub-core/tests/boot/knetbsd.cfg: Likewise.
3194 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
3195 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
3196 * grub-core/tests/boot/linux.cfg: Likewise.
3197 * grub-core/tests/boot/linux.init-i386.S: Likewise.
3198 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
3199 * grub-core/tests/boot/linux16.cfg: Likewise.
3200 * grub-core/tests/boot/multiboot.cfg: Likewise.
3201 * grub-core/tests/boot/multiboot2.cfg: Likewise.
3202 * grub-core/tests/boot/ntldr.cfg: Likewise.
3203 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
3204 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
3205 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
3206 New definition.
3207 * include/grub/dl.h (grub_dl_unload_all): Removed.
3208 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
3209 (grub_efi_finish_boot_services): Change prototype.
3210 (grub_efi_is_finished): New variable.
3211 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
3212 Changed prototype.
3213 (grub_efiemu_finish_boot_services): Removed.
3214 (grub_machine_efiemu_init_tables): New prototype.
3215 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
3216 (grub_elf64_phdr_iterate): Likewise.
3217 * include/grub/i386/bsd.h: Include relocator.h.
3218 (freebsd_tag_header): New struct.
3219 (grub_openbsd_bios_mmap): Removed.
3220 (grub_unix_real_boot): Removed.
3221 (grub_freebsd_load_elfmodule32): Changed prototype.
3222 (grub_freebsd_load_elfmodule_obj64): Likewise.
3223 (grub_freebsd_load_elf_meta32): Likewise.
3224 (grub_freebsd_load_elf_meta64): Likewise.
3225 (grub_freebsd_add_meta): Removed.
3226 (grub_netbsd_load_elf_meta32): New prototype.
3227 (grub_netbsd_load_elf_meta64): Likewise.
3228 (grub_bsd_add_meta): Likewise.
3229 (grub_openbsd_ramdisk_descriptor): New struct.
3230 (grub_openbsd_find_ramdisk32): New prototype.
3231 (grub_openbsd_find_ramdisk64): Likewise.
3232 * include/grub/i386/coreboot/loader.h: Removed.
3233 * include/grub/i386/efi/loader.h: Likewise.
3234 * include/grub/i386/ieee1275/loader.h: Likewise.
3235 * include/grub/i386/linux.h (linux_kernel_header): Change void *
3236 to grub_uint32_t.
3237 * include/grub/i386/loader.h: Removed.
3238 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
3239 value.
3240 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
3241 (grub_phys_addr_t): New type.
3242 (grub_vtop): New inline function.
3243 (grub_map_memory): Likewise.
3244 (grub_unmap_memory): Likewise.
3245 * include/grub/i386/multiboot/loader.h: Removed.
3246 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
3247 (NETBSD_BTINFO_CONSOLE): New definition.
3248 (NETBSD_BTINFO_SYMTAB): Likewise.
3249 (NETBSD_BTINFO_MODULES): Likewise.
3250 (NETBSD_BTINFO_FRAMEBUF): Likewise.
3251 (grub_netbsd_bootinfo): New struct.
3252 (grub_netbsd_btinfo_common): Use explicit bitsize.
3253 (grub_netbsd_btinfo_mmap_entry): Removed.
3254 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
3255 (grub_netbsd_btinfo_bootdisk): New struct.
3256 (grub_netbsd_btinfo_symtab): Likewise.
3257 (grub_netbsd_btinfo_serial): Likewise.
3258 (grub_netbsd_btinfo_modules): Likewise.
3259 (grub_netbsd_btinfo_framebuf): Likewise.
3260 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
3261 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
3262 Likewise.
3263 (grub_openbsd_bootargs): Use explicit bitsize.
3264 (grub_openbsd_bootarg_console): New struct.
3265 (GRUB_OPENBSD_COM_MAJOR): New definition.
3266 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
3267 * include/grub/i386/pc/efiemu.h: Removed.
3268 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
3269 * include/grub/i386/qemu/loader.h: Removed.
3270 * include/grub/i386/relocator.h: Rewritten.
3271 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
3272 * include/grub/mips/memory.h: New file.
3273 * include/grub/mips/multiboot.h: Rewritten.
3274 * include/grub/mips/relocator.h: Rewritten.
3275 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
3276 (grub_vtop): New function.
3277 (grub_map_memory): Likewise.
3278 (grub_unmap_memory): Likewise.
3279 * include/grub/misc.h (ALIGN_DOWN): New definition.
3280 * include/grub/mm.h (grub_mm_check_real): New proto.
3281 (GRUB_MM_CHECK): New definition.
3282 * include/grub/mm_private.h: New file.
3283 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
3284 (grub_multiboot_get_mbi_size): Removed.
3285 (grub_multiboot_make_mbi): Change prottype.
3286 (grub_multiboot_set_accepts_video): New proto.
3287 (grub_multiboot_add_elfsyms): Likewise.
3288 (grub_multiboot_payload_eip): New variable.
3289 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
3290 New prototype.
3291 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
3292 New definition.
3293 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
3294 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
3295 * include/grub/powerpc/ieee1275/loader.h: Removed.
3296 * include/grub/powerpc/memory.h: New file.
3297 * include/grub/powerpc/relocator.h: Likewise.
3298 * include/grub/relocator.h: Likewise.
3299 * include/grub/relocator_private.h: Likewise.
3300 * include/grub/sparc64/ieee1275/loader.h: Removed.
3301 * include/grub/x86_64/memory.h: New file.
3302 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
3303 (grub_xnu_heap_malloc): Likewise.
3304 (grub_xnu_heap_real_start): Removed.
3305 (grub_xnu_heap_start): Likewise.
3306 (grub_xnu_relocator): New variable.
3307 (grub_xnu_heap_target_start): Likewise.
3308 * tests/util/grub-shell.in: Support non-pc.
3309 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 3310
5303b85d
VS
33112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
3314 on malloc error.
3315 (grub_bidi_logical_to_visual): Check that malloc succeded.
3316 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
3317 puts.
3318 (grub_xputs_normal): Likewise.
3319
d768d159
VS
33202010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
3323 extra_dist.
3324
33252010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/efiemu/runtime/efiemu.sh: Removed.
3328
5bf84df4
VS
33292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
3332
3626810e
VS
33332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
3336 dprintf.
3337
a7363f53
BC
33382010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
3339
3340 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
3341
902f75f6
VS
33422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/normal/term.c (print_more): Fix a memory leak.
3345 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
3346 (grub_xputs_normal): Likewise.
3347
3c707967
VS
33482010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
3351 the begining of the string
3352
2053cc07
VS
33532010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * grub-core/script/script.c (grub_script_parse): Free parsed on
3356 failure.
3357
46422ebf
VS
33582010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
3361 on failure.
3362
9e0fa3f6
VS
33632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
3366 return.
3367
3393cf16
VS
33682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
3371 (scroll_up): Fix a memory leak.
3372
b17540cb
VS
33732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
3376 errors.
3377
67140446
VS
33782010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 Handle USB pendrives exposed as floppies.
3381
3382 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
3383 floppy.
3384 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3385 Check for partitions on all devices.
3386
e35e46fc
VS
33872010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
3390 (readkey): Likewise.
3391
d24c6190
BC
33922010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3393
3394 Multiple variable names support to "export" command.
3395
3396 * normal/context.c (grub_cmd_export): "export" command supports
3397 multiple variable names.
3398
04ddcc6a
ST
33992010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
3400
3401 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
3402 --target=drive output to Mach device name.
3403
0c8b61d8
BC
34042010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3405
3406 New Automake based build system for GRUB.
3407
3408 * ABOUT-NLS: New file.
3409 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
3410 in Makefile.util.def file.
3411 * Makefile.util.def: New file. Autogen build definitions file for
3412 GRUB host utils.
3413 * conf/Makefile.common: New file. Common variables for GRUB host
3414 utils and target modules.
3415 * conf/Makefile.extra-dist: New file. Extra files for make dist.
3416 * docs/Makefile.am: New file. Automake file for docs.
3417 * gentpl.py: New file. Python script to generate Autogen
3418 template.
3419 * grub-core/Makefile.am: New file. GRUB target modules' rules
3420 that doesn't fit in Makefile.core.def file.
3421 * grub-core/Makefile.core.def: New file. Autogen build
3422 definitions file for GRUB target modules.
3423 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
3424 specific setjmp.S file.
3425 * po/Makefile.am: New file.
3426
3427 * .bzrignore: New ignores.
3428 * INSTALL: New requirements, without Ruby.
3429 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
3430 * autogen.sh: Updated to invoke autogen as necessary.
3431 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
3432 and defines for Automake conditionals.
3433 * geninit.sh: Refactoring.
3434
3435 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
3436 necessary.
3437 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
3438 New prototype.
3439
3440 * include/grub/test.h: Fix functional test modules' naming.
3441 * grub-core/tests/example_functional_test.c: Fix test module name.
3442
3443 * util/misc.c: Hosted versions' of grub functions for libgrub.a
3444 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
3445 * util/grub-editenv.c: Likewise.
3446 * util/grub-fstest.c: Likewise.
3447 * util/grub-mkdevicemap.c: Likewise.
3448 * util/grub-mkfont.c: Likewise.
3449 * util/grub-mkimage.c: Likewise.
3450 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3451 * util/grub-probe.c: Likewise.
3452 * util/grub-script-check.c: Likewise.
3453 * util/i386/pc/grub-setup.c: Likewise.
3454 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3455
3456 * tests/util/grub-shell.in: Fix override directory path.
3457 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
3458 * util/import_gcry.py: Create Makefile.gcry.def file instead.
3459
3460 * util/lvm.c: Update #includes.
3461 * util/raid.c: Likewise.
3462 * util/resolve.c: Likewise.
3463 * grub-core/bus/emu/pci.c: Likewise.
3464 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
3465 * grub-core/lib/posix_wrap/string.h: Likewise.
3466 * grub-core/kern/emu/main.c: Likewise.
3467
3468 * grub-core/gensymlist.sh: New file. Script for generating kernel
3469 symbols file.
3470 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
3471
3472 * grub-core/gentrigtables.c: Fix unused variable warnings.
3473
3474 * Makefile.in: Removed.
3475 * conf/any-emu.rmk: Removed.
3476 * conf/common.rmk: Removed.
3477 * conf/i386-coreboot.rmk: Removed.
3478 * conf/i386-efi.rmk: Removed.
3479 * conf/i386-ieee1275.rmk: Removed.
3480 * conf/i386-multiboot.rmk: Removed.
3481 * conf/i386-pc.rmk: Removed.
3482 * conf/i386-qemu.rmk: Removed.
3483 * conf/i386.rmk: Removed.
3484 * conf/mips-yeeloong.rmk: Removed.
3485 * conf/mips.rmk: Removed.
3486 * conf/powerpc-ieee1275.rmk: Removed.
3487 * conf/sparc64-ieee1275.rmk: Removed.
3488 * conf/tests.rmk: Removed.
3489 * conf/x86-efi.rmk: Removed.
3490 * conf/x86_64-efi.rmk: Removed.
3491 * gendistlist.sh: Removed.
3492 * geninitheader.sh: Removed.
3493 * genkernsyms.sh.in: Removed.
3494 * genmk.rb: Removed.
3495 * gensymlist.sh.in: Removed.
3496 * mkinstalldirs: Removed.
3497 * boot: Moved ...
3498 * grub-core/boot: ... to here.
3499 * bus: Moved ...
3500 * grub-core/bus: ... to here.
3501 * commands: Moved ...
3502 * grub-core/commands: ... to here.
3503 * disk: Moved ...
3504 * grub-core/disk: ... to here.
3505 * efiemu: Moved ...
3506 * grub-core/efiemu: ... to here.
3507 * font: Moved ...
3508 * grub-core/font: ... to here.
3509 * fs: Moved ...
3510 * grub-core/fs: ... to here.
3511 * gencmdlist.sh: Moved ...
3512 * grub-core/gencmdlist.sh: ... to here.
3513 * genemuinit.sh: Moved ...
3514 * grub-core/genemuinit.sh: ... to here.
3515 * genemuinitheader.sh: Moved ...
3516 * grub-core/genemuinitheader.sh: ... to here.
3517 * genfslist.sh: Moved ...
3518 * grub-core/genfslist.sh: ... to here.
3519 * genhandlerlist.sh: Moved ...
3520 * grub-core/genhandlerlist.sh: ... to here.
3521 * genmoddep.awk: Moved ...
3522 * grub-core/genmoddep.awk: ... to here.
3523 * genmodsrc.sh: Moved ...
3524 * grub-core/genmodsrc.sh: ... to here.
3525 * genpartmaplist.sh: Moved ...
3526 * grub-core/genpartmaplist.sh: ... to here.
3527 * genparttoollist.sh: Moved ...
3528 * grub-core/genparttoollist.sh: ... to here.
3529 * genterminallist.sh: Moved ...
3530 * grub-core/genterminallist.sh: ... to here.
3531 * gentrigtables.c: Moved ...
3532 * grub-core/gentrigtables.c: ... to here.
3533 * genvideolist.sh: Moved ...
3534 * grub-core/genvideolist.sh: ... to here.
3535 * gettext: Moved ...
3536 * grub-core/gettext: ... to here.
3537 * gfxmenu: Moved ...
3538 * grub-core/gfxmenu: ... to here.
3539 * gnulib: Moved ...
3540 * grub-core/gnulib: ... to here.
3541 * hello: Moved ...
3542 * grub-core/hello: ... to here.
3543 * hook: Moved ...
3544 * grub-core/hook: ... to here.
3545 * io: Moved ...
3546 * grub-core/io: ... to here.
3547 * kern: Moved ...
3548 * grub-core/kern: ... to here.
3549 * lib: Moved ...
3550 * grub-core/lib: ... to here.
3551 * loader: Moved ...
3552 * grub-core/loader: ... to here.
3553 * mmap: Moved ...
3554 * grub-core/mmap: ... to here.
3555 * normal: Moved ...
3556 * grub-core/normal: ... to here.
3557 * partmap: Moved ...
3558 * grub-core/partmap: ... to here.
3559 * parttool: Moved ...
3560 * grub-core/parttool: ... to here.
3561 * script: Moved ...
3562 * grub-core/script: ... to here.
3563 * term: Moved ...
3564 * grub-core/term: ... to here
3565 * tests/example_functional_test.c: Moved ...
3566 * grub-core/tests/example_functional_test.c: ... to here.
3567 * tests/lib/functional_test.c: Moved ...
3568 * grub-core/tests/lib/functional_test.c: ... to here.
3569 * tests/lib/test.c: Moved ...
3570 * grub-core/tests/lib/test.c: ... to here.
3571 * video: Moved ...
3572 * grub-core/video: ... to here.
3573
645586e6
BC
35742010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3575
3576 Replace --enable-grub-emu-modules with grub-emu-lite.
3577
3578 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
3579 cache.S.
3580
3581 * include/grub/emu/misc.h (grub_emu_init): New prototype.
3582 * kern/emu/full.c: New file. For grub-emu specific initialization.
3583 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
3584 * kern/emu/main.c: Call initialization function grub_emu_init.
3585
3586 * Makefile.in: Include grub-emu-lite in install.
3587 * commands/parttool.c: Use grub_no_autoload to differentiate
3588 between grub-emu and grub-emu-lite.
3589 * include/grub/misc.h: New variable grub_no_autoload.
3590
3591 * conf/any-emu.rmk: New rules for grub-emu-lite.
3592 * configure.ac: Remove --enable-grub-emu-modules.
3593 * genmk.rb: Cleanup unnecessary rules.
3594 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
3595
3596 * normal/main.c: Don't load list files on grub-emu-lite.
3597 * util/misc.c (grub_arch_sync_caches): Removed.
3598
f86a4030
CW
35992010-08-23 Colin Watson <cjwatson@ubuntu.com>
3600
3601 * kern/mips/startup.S (grub_prefix): Update comment to refer to
3602 grub-mkimage rather than grub-mkelfimage.
3603 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3604
06776944
VS
36052010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
3608 a key after CapsLock or NumLock. It's just a qemu bug.
3609
df262419
VS
36102010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
3613 needed by libusb wrapper.
3614
b40ea81b
ST
36152010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3616
3617 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
3618
dee50575
VS
36192010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
3622 --nounzip is passed.
3623
fb1d7b79
VS
36242010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 USB hotunplugging and USB serial support.
3627
3628 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
3629 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
3630 (grub_uhci_transfer): Respect timeout and set *actual.
3631 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
3632 non-standard length.
3633 (grub_usb_device_attach): Autoload modules.
3634 (GRUB_MOD_INIT): Set grub_term_poll_usb.
3635 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
3636 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
3637 users updated.
3638 (grub_usb_add_hub): Fill nports and children.
3639 (attach_root_port): Receive hub instead of controller.
3640 All users updated. Fill hub->devices.
3641 (grub_usb_root_hub): Allocate hub->devices.
3642 (detach_device): New function.
3643 (poll_nonroot_hub): Fill children and detach devices.
3644 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
3645 actual arguments. All users updated.
3646 (grub_usb_bulk_read_extended): New function.
3647 * bus/usb/serial/common.c: New file.
3648 * bus/usb/serial/ftdi.c: Likewise.
3649 * bus/usb/serial/pl2303.c: Likewise.
3650 * commands/terminal.c (handle_command): Support wildcard.
3651 * commands/usbtest.c: Output "Unknown" instead of empty string.
3652 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
3653 (usbserial_common_mod_SOURCES): New variable.
3654 (usbserial_common_mod_CFLAGS): Likewise.
3655 (usbserial_common_mod_LDFLAGS): Likewise.
3656 (pkglib_MODULES): Add usbserial_pl2303.mod.
3657 (usbserial_pl2303_mod_SOURCES): New variable.
3658 (usbserial_pl2303_mod_CFLAGS): Likewise.
3659 (usbserial_pl2303_mod_LDFLAGS): Likewise.
3660 (pkglib_MODULES): Add usbserial_ftdi.mod.
3661 (usbserial_ftdi_mod_SOURCES): New variable.
3662 (usbserial_ftdi_mod_CFLAGS): Likewise.
3663 (usbserial_ftdi_mod_LDFLAGS): Likewise.
3664 (pkglib_MODULES): Add serial.mod.
3665 (serial_mod_SOURCES): New variable.
3666 (serial_mod_CFLAGS): Likewise.
3667 (serial_mod_LDFLAGS): Likewise.
3668 * conf/i386-pc.rmk: Likewise.
3669 * conf/mips-yeeloong.rmk: Likewise.
3670 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
3671 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3672 * disk/usbms.c (first_available_slot): New variable.
3673 (grub_usbms_attach): Don't reuse free slots due to potential cache
3674 problems.
3675 * include/grub/serial.h: Moved to ..
3676 * include/grub/ns8250.h: ...this.
3677 * include/grub/serial.h: New file.
3678 * include/grub/term.h (grub_term_poll_usb): New variable.
3679 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
3680 readkey. All users updated.
3681 (grub_terminfo_output_state): Pass term to put.
3682 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
3683 (grub_usb_controller_dev): Add timeout and actual arguments to
3684 transfer. All users updated.
3685 (grub_usb_interface): New field detach_data.
3686 (grub_usb_device): New fields children and nports.
3687 (grub_usb_ep_type_t): New type.
3688 (grub_usb_get_ep_type): New function.
3689 (grub_usb_bulk_read_extended): Likewise.
3690 * include/grub/usbdesc.h (grub_usb_desc): New type.
3691 * include/grub/usbserial.h: New file.
3692 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
3693 * kern/term.c (grub_term_poll_usb): New variable.
3694 (grub_getkey): Call grub_term_poll_usb if set.
3695 (grub_checkkey): Likewise.
3696 (grub_getkeystatus): Likewise.
3697 * term/serial.c: Moved controller-specific parts to ...
3698 * term/ns8250.c: ... here.
3699 * term/serial.c: Mostly rewritten.
3700 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
3701 according to spec.
3702
21a313de
RM
37032010-08-20 Robert Millan <rmh@gnu.org>
3704
3705 Make kFreeBSD code more generic to support ext2fs as root, ufs as
3706 a separate module and maybe other interesting combinations.
3707
3708 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
3709 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
3710 (kfreebsd_entry): Add generic filesystem module load routine.
3711 Map GRUB `ext2' to kFreeBSD `ext2fs'.
3712
63c734a6
CW
37132010-08-20 Colin Watson <cjwatson@ubuntu.com>
3714
3715 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
3716 "numcenter" (I misunderstood the purpose of this entry).
3717 * docs/grub.texi (sendkey): Likewise.
3718
c4d16542
CW
37192010-08-20 Colin Watson <cjwatson@ubuntu.com>
3720
3721 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
3722 status flag options; simply omitting the option is equivalent and
3723 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
3724 (keysym_table): Rename "num5numlock" to "numlock".
3725 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
3726 can uniformly say that only the last of multiple `sendkey'
3727 invocations has any effect.
3728 * docs/grub.texi (sendkey): New section.
3729
93541d66
CW
37302010-08-19 Colin Watson <cjwatson@ubuntu.com>
3731
3732 * commands/i386/pc/sendkey.c (options): Fix three typos.
3733
b4ece5e1
VS
37342010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 Implement sendkey support.
3737
3738 * commands/i386/pc/sendkey.c: New file.
3739 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
3740 (sendkey_mod_SOURCES): New variable.
3741 (sendkey_mod_CFLAGS): Likewise.
3742 (sendkey_mod_LDFLAGS): Likewise.
3743
51f1f5af
CW
37442010-08-18 Colin Watson <cjwatson@ubuntu.com>
3745
3746 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
3747 fix warnings from Autoconf.
3748
9da94e05
CW
37492010-08-18 Colin Watson <cjwatson@ubuntu.com>
3750
3751 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
3752 to avoid false positives with some assemblers that output things
3753 like "someprefix_func" as part of their output.
3754
729a0f2e
RM
37552010-08-15 Robert Millan <rmh@gnu.org>
3756
3757 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
3758 errors.
3759 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
3760 grub_get_libzfs_handle() errors.
3761
f3710e08
RM
37622010-08-14 Robert Millan <rmh@gnu.org>
3763
3764 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
3765 filesystem is not ZFS.
3766
7a3c13de
BC
37672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3768
3769 Fix for misspelled color names defaulting to black/black (bug
3770 reported by Doug Nazar)
3771
3772 * include/grub/normal.h (grub_parse_color_name_pair): Add return
3773 status to prototype.
3774 * normal/color.c (grub_parse_color_name_pair): Return failure
3775 status.
3776 (grub_env_write_color_normal): Ignore bad color names.
3777 (grub_env_write_color_highlight): Likewise.
3778 * normal/main.c (GRUB_MOD_INIT): Set default color names.
3779
ab8ba50d
BC
37802010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3781
3782 "shift" command support to GRUB script.
3783
3784 * include/grub/script_sh.h (grub_script_shift): New prototype.
3785 * script/execute.c (grub_script_shift): New function.
3786 * script/main.c (grub_script_init): Register shift command.
3787 (grub_script_fini): Unregister shift command.
3788 * util/grub-script-check.c (grub_script_cmd_shift): New function.
3789
3790 * tests/grub_script_shift.in: New testcase.
3791 * conf/tests.rmk: Rules for new testcase.
3792
4d61999e
BC
37932010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3794
3795 "continue" command support to GRUB script.
3796
3797 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
3798 (grub_script_break): Continue support.
3799 * script/main.c (grub_script_init): Register continue command.
3800 (grub_script_fini): Unregister continue command.
3801
3802 * tests/grub_script_continue.in: New testcase.
3803 * conf/tests.rmk: Rules for new testcase.
3804
4df51e00
BC
38052010-08-12 BVK Chaitanya <bvk@dbook>
3806
3807 "break" command support to GRUB script.
3808
3809 * conf/common.rmk: Rule updates to grub-script-check.
3810 * include/grub/misc.h (grub_min): New function.
3811 * include/grub/script_sh.h (grub_script_init): New prototype.
3812 (grub_script_fini): New prototype.
3813 (grub_script_break): New prototype.
3814 * script/main.c (grub_script_init): New function.
3815 (grub_script_fini): New function.
3816 * script/execute.c (grub_script_break): New function.
3817 * normal/main.c: Calls to grub_script_{init,fini}.
3818 * util/grub-script-check.c (grub_script_break): New function.
3819
3820 * tests/grub_script_break.in: New testcase.
3821 * conf/tests.rmk: Rules for new test case.
3822
f12c8420
BC
38232010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3824
3825 Function parameters support to GRUB script.
3826
3827 * script/yylex.l (VARIABLE): Regular expression update.
3828 * script/function.c (grub_script_function_call): Moved ...
3829 * script/execute.c (grub_script_function_call): ... to here.
3830 (grub_script_execute_arglist_to_argv): Removed.
3831 (grub_script_arglist_to_argv): New function.
3832 * script/argv.c: New file.
3833 (grub_script_argv_free): New function.
3834 (grub_script_argv_next): Likewise.
3835 (grub_script_argv_append): Likewise.
3836 (grub_script_argv_split_append): Likewise.
3837 * include/grub/script_sh.h (grub_script_argv): New struct.
3838 (grub_script_argv_free): New function.
3839 (grub_script_argv_next): Likewise.
3840 (grub_script_argv_append): Likewise.
3841 (grub_script_argv_split_append): Likewise.
3842
3843 * conf/common.rmk (normal.mod): New source script/argv.c.
3844
3845 * tests/grub_script_echo1.in: More tests.
3846 * tests/grub_script_vars1.in: Likewise.
3847 * tests/grub_script_functions.in: New test case.
3848 * conf/tests.rmk: Rules for new testcase.
3849
8022b748
BC
38502010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3851
3852 Remove grub_script_cmdblock struct.
3853
3854 * include/grub/script_sh.h: Remove grub_script_cmdblock.
3855 * script/parser.y: Likewise.
3856 * script/execute.c: Rename cmdblock suffix to cmdlist.
3857 * script/script.c: Likewise.
3858 * util/grub-script-check.c: Likewise.
3859
79a6ba61
YB
38602010-08-11 Yves Blusseau <blusseau@zetam.org>
3861
3862 * .bzrignore: add grub-macho2img
3863
d04b9414
VS
38642010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
3867
f947ab49
VS
38682010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 Remove the dump of sm712 initialisation sequence.
3871
3872 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
3873 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
3874 (GRUB_VGA_IO_MISC_WRITE): Likewise.
3875 (GRUB_VGA_CR_*): Added many registers.
3876 (GRUB_VGA_SR_*): Likewise.
3877 (GRUB_VGA_GR_*): Likewise.
3878 (grub_vga_write_arx): New function.
3879 (grub_video_hw_config): New struct.
3880 (grub_vga_set_geometry): New function.
3881 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
3882 GRUB_PCI_CLASS_SUBCLASS_VGA.
3883 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
3884 * video/sm712.c (grub_sm712_write_reg): New function
3885 (grub_sm712_read_reg): Likewise.
3886 (grub_sm712_sr_write): Likewise.
3887 (grub_sm712_gr_write): Likewise.
3888 (grub_sm712_cr_write): Likewise.
3889 (grub_sm712_write_arx): Likewise.
3890 (grub_sm712_cr_shadow_write): Likewise.
3891 (grub_sm712_write_dda_lookup): Likewise.
3892 (grub_video_sm712_setup): Initialise the video rather then
3893 blindly replay the dump.
3894 (main) [TEST]: Add a routine to be able to compile as standalone for
3895 tests.
3896 * video/sm712_init.c (sm712_init): Removed.
3897 (sm712_sr_seq1): New array.
3898 (sm712_sr_seq2): Likewise.
3899
f0206638
VS
39002010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * include/grub/vga.h: Add missing grub/pci.h include.
3903
2764da3b
YB
39042010-08-10 Yves Blusseau <blusseau@zetam.org>
3905
3906 * util/grub-macho2img.c (main): fix typo
3907
cf0c775e
VS
39082010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
3911 (grub_vga_gr_read): Likewise.
3912 (grub_vga_cr_write): Likewise.
3913 (grub_vga_cr_read): Likewise.
3914 (grub_vga_sr_write): Likewise.
3915 (grub_vga_sr_read): Likewise.
3916 (grub_vga_palette_read): Likewise.
3917 (grub_vga_palette_write): Likewise.
3918 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
3919 (grub_sm712_sr_read): New function.
3920 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
3921 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
3922
07f360e9
RM
39232010-08-09 Robert Millan <rmh@gnu.org>
3924
3925 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
3926 out unused variables on non-ZFS build.
3927
346c2072
RM
39282010-08-08 Robert Millan <rmh@gnu.org>
3929
3930 Fix path generation for sub-filesystems in ZFS.
3931
3932 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
3933 missing slash.
3934
71175420
RM
39352010-08-08 Robert Millan <rmh@gnu.org>
3936
3937 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
3938
0d8286f3
RM
39392010-08-08 Robert Millan <rmh@gnu.org>
3940
3941 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
3942 exist, issue a proper error message (rely on `ls' for translated
3943 strings).
3944
55dd2924
RM
39452010-08-08 Robert Millan <rmh@gnu.org>
3946
3947 Fix grub-probe invocation.
3948
3949 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
3950
d3dd9e80
RM
39512010-08-04 Robert Millan <rmh@gnu.org>
3952
3953 * configure.ac: Remove checks for getfsstat() and getmntany().
3954 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
3955 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
3956 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
3957 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
3958 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
3959 function.
3960 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
3961 via find_mount_point_from_dir() and getfsstat() / getmntany().
3962
0de22aa9
RM
39632010-08-04 Robert Millan <rmh@gnu.org>
3964
3965 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3966 (grub_find_zpool_from_mount_point): Merge into ...
3967 (grub_find_zpool_from_dir): ... this.
3968 * kern/emu/misc.c: Likewise.
3969
3970 * kern/emu/misc.c
3971 (grub_make_system_path_relative_to_its_root): Replace
3972 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
3973 with grub_find_zpool_from_dir().
3974 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
3975
62858144
RM
39762010-08-04 Robert Millan <rmh@gnu.org>
3977
3978 Support OpenSolaris in ZFS device resolution.
3979
3980 * configure.ac: Check for getmntany().
3981 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
3982 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
3983 support.
3984
9dd6fd50
RM
39852010-08-03 Robert Millan <rmh@gnu.org>
3986
3987 Fix grub-emu build.
3988
3989 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
3990 * include/grub/emu/misc.h: ... here.
3991
3992 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
3993 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
3994
3995 * util/misc.c: Remove `<grub/util/libzfs.h>'.
3996 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
3997 (grub_get_libzfs_handle): Move to ...
3998 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
3999 (grub_get_libzfs_handle): ... here.
4000
c9f7ff97
BC
40012010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
4002
4003 * script/execute.c (grub_script_execute_cmdline): Check for NULL
4004 as command name case.
4005
a870a783
CW
40062010-08-02 Colin Watson <cjwatson@ubuntu.com>
4007
4008 * disk/raid.c (insert_array): Select unique numbers for named arrays
4009 as well, for use as keys in the disk cache.
4010
c7db243b
RM
40112010-08-01 Robert Millan <rmh@gnu.org>
4012
4013 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
4014 kFreeBSD device name, except on ZFS where the filesystem label is
4015 used.
4016 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
4017 `/boot/zfs/zpool.cache'.
4018 Set mountfrom kernel variable using ${kfreebsd_device}.
4019
f7abdefb
RM
40202010-08-01 Robert Millan <rmh@gnu.org>
4021
4022 Make it even harder to use uninitialized `libzfs_handle' (and
4023 make the interface a bit simpler).
4024
4025 * include/grub/util/misc.h (grub_util_init_libzfs)
4026 (libzfs_handle): Remove.
4027 (grub_get_libzfs_handle): New prototype.
4028
4029 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
4030 attribute.
4031 (grub_util_init_libzfs): Remove.
4032 (grub_get_libzfs_handle): New function.
4033
4034 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
4035 grub_get_libzfs_handle() to obtain a libzfs handle instead of
4036 accessing `libzfs_handle' directly.
4037
c882acc0
RM
40382010-08-01 Robert Millan <rmh@gnu.org>
4039
4040 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4041 (grub_find_zpool_from_mount_point): New function prototypes.
4042
4043 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4044 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4045
4046 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4047 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4048 `static' attribute.
4049
4050 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4051 finding zpool from mount point into ...
4052 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4053
4054 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4055 requested path is part of a ZFS pool, use
4056 grub_find_zpool_from_mount_point() to detect its filesystem name,
4057 and generate a path with `/fsname@path' syntax.
4058
8bfe31d8
CW
40592010-08-01 Colin Watson <cjwatson@ubuntu.com>
4060
4061 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
4062 (void) rather than () so that this is a proper prototype.
4063
553df63d
VS
40642010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
4067
8687cf07
VS
40682010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
4071 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
4072
ea9be8ea
CW
40732010-08-01 Colin Watson <cjwatson@ubuntu.com>
4074
4075 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
4076
6eea041a
CW
40772010-08-01 Colin Watson <cjwatson@ubuntu.com>
4078
4079 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
4080
2cfb45df
CW
40812010-08-01 Colin Watson <cjwatson@ubuntu.com>
4082
4083 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
4084 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
4085 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
4086 disable gfxpayload.
4087 (Shell-like scripting): Add real content.
4088 (Serial terminal): Suggest `terminal_input serial; terminal_output
4089 serial' rather than putting the two commands on separate lines,
4090 since console input will be inoperative after the first command.
4091 (menuentry): Document --class, --users, and --hotkey options.
4092 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
4093 Vladimir Serbinenko).
4094
7decd202
VS
40952010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
40962010-08-01 Colin Watson <cjwatson@ubuntu.com>
4097
4098 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
4099
c882acc0
RM
41002010-08-01 Robert Millan <rmh@gnu.org>
4101
4102 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4103 (grub_find_zpool_from_mount_point): New function prototypes.
4104
4105 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4106 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4107
4108 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4109 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4110 `static' attribute.
4111
4112 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4113 finding zpool from mount point into ...
4114 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4115
4116 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4117 requested path is part of a ZFS pool, use
4118 grub_find_zpool_from_mount_point() to detect its filesystem name,
4119 and generate a path with `/fsname@path' syntax.
4120
deb0caa3
RM
41212010-08-01 Robert Millan <rmh@gnu.org>
4122
4123 Prevent accidental use of uninitialized libzfs_handle.
4124
4125 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
4126 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
4127 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
4128
ce04ef47
CW
41292010-08-01 Colin Watson <cjwatson@ubuntu.com>
4130
4131 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
4132 util/grub.d/10_linux.in). Fixes Debian bug #591093.
4133
ebf53056
RM
41342010-08-01 Robert Millan <rmh@gnu.org>
4135
4136 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 4137
3710bb6b
RM
41382010-07-31 Robert Millan <rmh@gnu.org>
4139
4140 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
4141
8072efeb
RM
41422010-07-31 Robert Millan <rmh@gnu.org>
4143
4144 * kern/emu/misc.c: Add missing license header.
4145
3169f4c7
RM
41462010-07-31 Robert Millan <rmh@gnu.org>
4147
4148 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
4149
4150 * include/grub/util/libnvpair.h: Include `<config.h>'.
4151 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
4152 declaring libnvpair prototypes ourselves.
4153 * include/grub/util/libzfs.h: Include `<config.h>'.
4154 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
4155 declaring libzfs prototypes ourselves.
4156
4157 (libzfs_handle): Moved to ...
4158 * include/grub/util/misc.h (libzfs_handle): ... here.
4159 Include `<grub/util/libzfs.h>'.
4160
c9a00aee
RM
41612010-07-30 Robert Millan <rmh@gnu.org>
4162
4163 * include/grub/emu/misc.h: Add missing license header.
4164
a184f9c8
RM
41652010-07-30 Robert Millan <rmh@gnu.org>
4166
4167 Enable `grub-probe -t device' resolution on ZFS.
4168
4169 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
4170 * include/grub/util/libnvpair.h: New file.
4171 * include/grub/util/libzfs.h: New file.
4172
4173 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
4174 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
4175 `<grub/util/libnvpair.h>'.
4176 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
4177
4178 (find_mount_point_from_dir): New static function.
4179 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
4180 function.
4181 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
4182 find_root_device_from_libzfs() before ressorting to find_root_device().
4183
4184 * include/grub/util/misc.h (grub_util_init_libzfs): New function
4185 prototype.
4186 * util/misc.c: Include `<grub/util/libzfs.h>'.
4187 (grub_util_init_libzfs): New function.
4188 [HAVE_LIBZFS] (libzfs_handle): New global variable.
4189 [HAVE_LIBZFS] (fini_libzfs): New static function.
4190 (grub_util_init_libzfs): New function.
4191 * util/grub-probe.c (main): Call grub_util_init_libzfs().
4192
f7790cdd
RM
41932010-07-30 Robert Millan <rmh@gnu.org>
4194
4195 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
4196 (xmalloc, xrealloc, xstrdup, xasprintf): Add
4197 `warn_unused_result' attribute.
4198 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
4199 (grub_xasprintf, grub_xvasprintf): Likewise.
4200 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
4201
0806b63c
RM
42022010-07-29 Robert Millan <rmh@gnu.org>
4203
4204 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
4205 (probe): Handle `PRINT_FS_LABEL'.
4206 (main): Handle `-t fs_label'.
4207
9f841f5c
RM
42082010-07-29 Robert Millan <rmh@gnu.org>
4209
4210 * configure.ac: Remove grub-mkisofs checks.
4211
46371121
VS
42122010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * util/ieee1275/grub-install.in: Don't use empty grub_device.
4215 Reported by: Lennart Sorensen.
4216
42172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
4220 prior to terminal_input/terminal_output separation. It's been over 1.5
4221 years and those versions weren't widely deployed.
4222
a9600892
CW
42232010-07-22 Colin Watson <cjwatson@ubuntu.com>
4224
4225 * disk/raid.c (insert_array): Don't count named arrays when looking
4226 for unused array numbers.
697e053c 4227 Reported and tested by: Michael Guntsche.
a9600892 4228
c03507df
CW
42292010-07-20 Colin Watson <cjwatson@ubuntu.com>
4230
4231 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
4232 implementation of this so that grub-emu links again, with a note
4233 that this should support hotplugging in the future.
4234
b26f1c11
CW
42352010-07-20 Colin Watson <cjwatson@ubuntu.com>
4236
4237 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4238
efc9d7f1
CW
42392010-07-20 Colin Watson <cjwatson@ubuntu.com>
4240
4241 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
4242 handle on failure.
4243 (grub_loopback_close): Remove empty function.
4244 (grub_loopback_dev): Remove close method.
4245
dd8ff5c9
CW
42462010-07-20 Colin Watson <cjwatson@ubuntu.com>
4247
4248 Disable EFI cursor when the EFI console becomes inactive.
4249
4250 * term/efi/console.c (grub_efi_console_init): New function.
4251 (grub_efi_console_fini): New function.
4252 (grub_console_term_output): Register init and fini methods.
4253
5e3bec67
VS
42542010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * tests/util/grub-shell-tester.in: Remove bashism and declare as
4257 sh script.
4258
afaec079
VS
42592010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * disk/loopback.c (grub_loopback): Replace filename with file.
4262 (delete_loopback): Handle new semantics.
4263 (grub_cmd_loopback): Likewise.
4264 (grub_loopback_iterate): Likewise.
4265 (grub_loopback_close): Likewise.
4266
a6a11f3c
VS
42672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
4270 with -p "".
4271 Reported by: Tito Keitel.
4272
64a638b0
VS
42732010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * docs/grub.texi (Naming convention): Document new naming convention.
4276
ab8ba957
VS
42772010-07-20 Vadim Solomin <vadic052@gmail.com>
42782010-07-20 Colin Watson <cjwatson@ubuntu.com>
4279
4280 Generate device.map in something closer to the old ordering.
4281
4282 * util/deviceiter.c (struct device): New declaration.
4283 (compare_file_names): Rename to ...
4284 (compare_devices): ... this. Sort by kernel name in preference to
4285 the stable by-id name, but keep the latter as a fallback comparison.
4286 Update header comment.
4287 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
4288 of `struct device' rather than of plain file names.
4289
a29d6a4b
TF
42902010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
4291
4292 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
4293 on i386.
4294
39d824e8
VS
42952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * commands/acpi.c (setup_common_tables): Use sizeof instead of
4298 hardcoding size.
4299 (setv1table): Likewise.
4300
f058276b
FZ
43012010-07-20 Colin Watson <cjwatson@ubuntu.com>
4302
4303 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
4304 removing the homehost if present.
4305 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
4306 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
4307 removing the homehost if present.
4308 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
4309 if possible.
4310 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
4311
4312 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
4313 parameter. Set its pointer target to 0.
4314 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
4315 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
4316 `data_offset' value from the superblock for 1.x metadata.
4317 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
4318 data on the device.
4319 (insert_array): Record the start sector of data on the device.
4320 (grub_raid_register): Pass start_sector parameters to
4321 grub_raid_list->detect and insert_array.
4322 * include/grub/raid.h (struct grub_raid_array): Add start_sector
4323 member.
4324 (struct grub_raid): Add start_sector parameter to `detect'.
4325
4326 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
4327 __attribute__ ((packed)), leaving a comment.
4328 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
4329 (grub_mdraid_detect_09): ... here and ...
4330 (grub_mdraid_detect_1x): ... here.
4331
43322010-07-20 Peter Henn <peter.henn@web.de>
4333
4334 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
4335 chunk size and disk size, which are already given as sector counts
4336 as distinct from the 0.90 units. Fetch the correct device number
4337 from the role table instead of using the table index.
4338
43392010-07-20 Felix Zielcke <fzielcke@z-51.de>
4340
4341 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
4342 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
4343 (WriteMostly1): New macro.
4344 Set array->name to NULL for metadata format 0.90. Add support for
4345 metadata 1.x. Fix some comments.
4346 * disk/raid.c (): Add support for name based RAID arrays. Fix a
4347 few comments.
4348 * util/getroot.c (grub_util_get_grub_dev): Add support for
4349 /dev/md/name style devices.
4350
4b761da9
CW
43512010-07-20 Colin Watson <cjwatson@ubuntu.com>
4352
4353 * .bzrignore: Ignore 20_linux_xen.
4354
5771289a
CW
43552010-07-17 Colin Watson <cjwatson@ubuntu.com>
4356
4357 * util/import_unicode.py: Remove unnecessary imports.
4358
5dab68df
AN
43592010-07-17 Aleš Nesrsta <starous@volny.cz>
4360
4361 Hotplugging and USB hub support.
4362
4363 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
4364 (grub_ohci): Likewise.
4365 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
4366 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
4367 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
4368 (GRUB_OHCI_CTRL_EDS): Likewise.
4369 (GRUB_OHCI_BULK_EDS): Likewise.
4370 (GRUB_OHCI_TDS): Likewise.
4371 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
4372 (grub_ohci_ed_phys2virt): New function.
4373 (grub_ohci_virt_to_phys): Likewise.
4374 (grub_ohci_td_phys2virt): Likewise.
4375 (grub_ohci_td_virt2phys): Likewise.
4376 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
4377 attachment.
4378 (grub_ohci_find_ed): New function.
4379 (grub_ohci_alloc_td): Likewise.
4380 (grub_ohci_free_td): Likewise.
4381 (grub_ohci_free_tds): Likewise.
4382 (grub_ohci_transfer): Use previously allocated memory.
4383 (grub_ohci_portstatus): Reset status changed bit.
4384 (grub_ohci_detect_dev): Supply status changed.
4385 (grub_ohci_fini_hw): Free memory.
4386 (grub_ohci_restore_hw): Reallocate memory.
4387 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
4388 Reset status change.
4389 (grub_uhci_detect_dev): Supply status_change.
4390 * bus/usb/usb.c (attach_hooks): New var.
4391 (grub_usb_device_attach): New function.
4392 (grub_usb_register_attach_hook_class): Likewise.
4393 (grub_usb_unregister_attach_hook_class): Likewise.
4394 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
4395 (grub_usb_add_hub): Reset connection changed bit.
4396 (attach_root_port): New function.
4397 (grub_usb_root_hub): Likewise.
4398 (poll_nonroot_hub): Likewise.
4399 (grub_usb_poll_devices): Likewise.
4400 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
4401 * disk/usbms.c (grub_usbms_open): Use device hooks.
4402 (grub_usbms_iterate) :Poll devices.
4403 (grub_usbms_finddevs): Split into ...
4404 (grub_usbms_attach): ... this ...
4405 (grub_usbms_attach): ... and this.
4406 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
4407 in detect_dev.
4408 (grub_usb_interface): New fields attached and detach_hook.
4409 (grub_usb_attach_hook_class): New type.
4410 (grub_usb_attach_desc): New struct.
4411 (grub_usb_register_attach_hook_class): New function.
4412 (grub_usb_unregister_attach_hook_class): Likewise.
4413 (grub_usb_poll_devices): Likewise.
4414 (grub_usb_device_attach): Likewise.
4415 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
4416 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
4417
3222efaf
VS
44182010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
4421 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
4422 delta determination style. Works with most NetBSD partitions too.
4423
139b714a
VS
44242010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
4427 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
4428
986aad56
VS
44292010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
4432
99be513c
AB
44332010-07-14 Anton Blanchard <anton@samba.org>
4434
4435 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
4436 ET_DYN files.
4437
18075f62
GS
44382010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4439
4440 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
4441
8d9a5b15
GS
44422010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4443
4444 * kern/partition.c (grub_partition_check_containment): New function to
4445 check that a partition is physically contained in a parent. Since
4446 offsets are relative (and non-negative), this reduces to checking that
4447 the partition ends before its parent.
4448 (grub_partition_map_probe): Discard out-of-range sub-partitions.
4449 (grub_partition_iterate): Likewise.
4450 * include/grub/partition.h (grub_partition_map): Slightly more detailed
4451 comments.
4452 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
4453 partitions that start before their parent, and add debug printfs.
4454
19563c25
CW
44552010-07-13 Colin Watson <cjwatson@ubuntu.com>
4456
4457 * Makefile.in (.SUFFIX): Spell correctly, as ...
4458 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
4459 bare module name without `.mod', e.g. `test') tried to invoke a
4460 Modula-2 compiler.
4461
1a1f1e67
CW
44622010-07-13 Colin Watson <cjwatson@ubuntu.com>
4463
4464 * README: Point to the Info manual.
4465
811b0dca
JS
44662010-07-13 Jiro SEKIBA <jir@unicus.jp>
4467
4468 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
4469 2nd superblock position from partition size.
4470
e4f4eafc
CW
44712010-07-10 Colin Watson <cjwatson@ubuntu.com>
4472
4473 * Makefile.in (MAINTAINER_CLEANFILES): Remove
4474 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
4475 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
4476 outputs.
4477
4274c30f
VS
44782010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 Restructure SCSI .id handling.
4481 Reported and tested by: Aleš Nesrsta.
4482
4483 * disk/ata.c (grub_atapi_close): Removed. All users updated.
4484 (grub_atapi_dev): Changed .name to "ata". New field .id.
4485 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
4486 (grub_usbms_dev): New field .id.
4487 * disk/scsi.c (grub_scsi_iterate): Generate name.
4488 (grub_scsi_open): Parse name.
4489 * include/grub/scsi.h (grub_make_scsi_id): New function.
4490 (grub_scsi_dev): Change iterate and open to number instead of naming
4491 busses. All users updated.
4492 (grub_scsi): Remove name. Add .bus.
4493
5bc24388
VS
44942010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * commands/help.c (grub_cmd_help): Fix a typo.
4497
249975ba
VS
44982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
4501 Reported and tested by: Colin Watson.
4502
3eaac1a1
VS
45032010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
4506 in this context.
4507
becce1b1
VS
45082010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
4511
f7bf0918
CW
45122010-07-07 Colin Watson <cjwatson@ubuntu.com>
4513
4514 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
4515 indentation.
4516
0b0f9620
CW
45172010-07-06 Colin Watson <cjwatson@ubuntu.com>
4518
4519 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
4520 and disk/raid6_recover.c.
4521 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4522 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4523
1e545469
CW
45242010-07-06 Colin Watson <cjwatson@ubuntu.com>
4525
4526 * term/gfxterm.c (repaint_schedulded): Rename to ...
4527 (repaint_scheduled): ... this. Update all callers.
4528 (repaint_was_schedulded): Rename to ...
4529 (repaint_was_scheduled): ... this. Update all callers.
4530
5357687a
CW
45312010-07-06 Colin Watson <cjwatson@ubuntu.com>
4532
4533 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
4534 which we expect to be handled by upper layers.
4535
29d7e783
BC
45362010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
4537
4538 * bus/usb/usbhub.c: #include time.h header.
4539
37582066
CW
45402010-07-06 Colin Watson <cjwatson@ubuntu.com>
4541
4542 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
4543 entry_name also for entries without stat blocks (e.g. ".."); fixes
4544 corruption of the first entry in a directory.
4545
c8c06953
CW
45462010-07-06 Colin Watson <cjwatson@ubuntu.com>
4547
4548 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
4549 after setting gfxterm as the active terminal. GRUB_BACKGROUND
4550 doesn't work otherwise.
4551
e75056f1
CW
45522010-07-05 Colin Watson <cjwatson@ubuntu.com>
4553
4554 * docs/grub.texi (Features): Update list of supported file systems.
4555 (GNU/Linux): Update for GRUB 2.
4556 (Serial terminal): Remove mention of --disable-serial, which was a
4557 GRUB Legacy configure option. Update instructions to use
4558 `terminal_input' and `terminal_output' rather than `terminal'.
4559 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
4560 configuration' and `Installing GRUB using grub-install'.
4561 (Menu entry editor): Update for GRUB 2.
4562 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
4563 Document new -a, -u, and -v options.
4564 (initrd): New section.
4565 (initrd16): New section.
4566 (linux): New section.
4567 (linux16): New section.
4568 (search): The `var' argument to `--set' is optional.
4569 (GRUB only offers a rescue shell): Go into a little more detail on
4570 drive ordering.
4571
5cf69151
CW
45722010-07-05 Colin Watson <cjwatson@ubuntu.com>
4573
4574 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
4575
e3f90044
CW
45762010-07-05 Colin Watson <cjwatson@ubuntu.com>
4577
4578 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
4579 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
4580
38d8f4f3
CW
45812010-07-05 Colin Watson <cjwatson@ubuntu.com>
4582
4583 * util/i386/pc/grub-setup.c (setup): Rename prefix to
4584 install_prefix, in line with install_dos_part and install_bsd_part.
4585 Add new prefix variable, which is copied to install_prefix after
4586 comparing core.img in memory with the one read from disk in the
4587 no-embedding case, and use that rather than overwriting
4588 install_prefix immediately when installing to a partition.
4589 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
4590 Bicakci.
4591
57ebd41e
GS
45922010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4593
4594 * configure.ac: Avoid == in test command, it's not portable.
4595 * util/grub.d/30_os-prober.in: Likewise.
4596
cb7f64b2
CW
45972010-07-04 Colin Watson <cjwatson@ubuntu.com>
4598
4599 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
4600
6b654bb0
GS
46012010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4602
4603 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
4604 multiple (top-level) partmaps.
4605
72a2026d
VS
46062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 4609 Reported by: Tino Keitel.
72a2026d 4610
df3eb88f
VS
46112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 Bidi and diacritics support.
4614
4615 * Makefile.in (widthspec.bin): New target.
4616 (widthspec.h): Likewise.
4617 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
4618 * autogen.sh: Generate unidata.c.
4619 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
4620 * commands/ls.c (grub_ls_list_devices): Likewise.
4621 (grub_ls_list_files): Likewise.
4622 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
4623 (grub_mini_cmd_lsmod): Likewise.
4624 * commands/read.c: Likewise.
4625 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
4626 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
4627 * lib/arg.c (grub_arg_show_help): Likewise.
4628 * lib/crypto.c (grub_password_get): Likewise.
4629 * normal/auth.c (grub_username_get): Likewise.
4630 * normal/misc.c (grub_normal_print_device_info): Likewise.
4631 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
4632 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
4633 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
4634 (normal/charset.c_DEPENDENCIES): New variable.
4635 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
4636 (pkglib_MODULES): Remove charset.mod.
4637 (charset_mod_SOURCES): Removed.
4638 (charset_mod_CFLAGS): Likewise.
4639 (charset_mod_LDFLAGS): Likewise.
4640 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
4641 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
4642 and term/tparm.c.
4643 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4644 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4645 (kernel_img_HEADERS): Add terminfo.h.
4646 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
4647 Fill ->font. Reverse ascii bitmaps.
4648 (grub_font_get_xheight): New function.
4649 * font/font.c (grub_font_get_string_width): Moved from here ...
4650 * gfxmenu/font.c (grub_font_get_string_width): ... here.
4651 * font/font.c (grub_font_draw_string): Moved from here ...
4652 * gfxmenu/font.c (grub_font_draw_string): ... here.
4653 * font/font.c (grub_font_dup_glyph): New function.
4654 (grub_font_blit_glyph): Likewise.
4655 (grub_font_blit_glyph_mirror): Likewise.
4656 (blit_comb): Likewise.
4657 (grub_font_construct_dry_run): Likewise.
4658 (grub_font_get_constructed_device_width): Likewise.
4659 (grub_font_construct_glyph): Likewise.
4660 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
4661 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
4662 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
4663 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
4664 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
4665 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
4666 (grub_font_get_xheight): New proto.
4667 (grub_font_get_constructed_device_width): Likewise.
4668 (grub_font_construct_glyph): Likewise.
4669 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
4670 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
4671 * include/grub/font.h (grub_font_draw_string): Moved from here ...
4672 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
4673 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
4674 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
4675 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
4676 (grub_console_getcharwidth): Likewise.
4677 * include/grub/misc.h (grub_xputs): New proto.
4678 (grub_puts): Inlined.
4679 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
4680 (grub_normal_get_line_counter): Removed.
4681 (grub_install_newline_hook): Likewise.
4682 (grub_normal_get_char_counter): New proto.
4683 (grub_normal_reset_more): Likewise.
4684 (grub_xputs_normal): Likewise.
4685 * include/grub/powerpc/ieee1275/console.h: Removed.
4686 * include/grub/sparc64/ieee1275/console.h: Likewise.
4687 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
4688 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
4689 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
4690 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
4691 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
4692 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
4693 (grub_term_input): Pass reference to self. All users updated.
4694 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
4695 Pass reference to self. New fields normal_color, highlight_color and
4696 data. All users updated.
4697 (grub_putchar): Removed.
4698 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
4699 (grub_unicode_estimate_width): New function.
4700 (grub_term_getcharwidth): Add defaults.
4701 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
4702 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
4703 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
4704 (grub_cls): Remove EXPORT_FUNC.
4705 (grub_setcolorstate): Inline.
4706 (grub_newline_hook): Removed.
4707 * include/grub/terminfo.h: Rewritten. All users updated.
4708 * include/grub/unicode.h: New file.
4709 * include/grub/video.h (grub_video_signed_rect): New type.
4710 * kern/emu/console.c (grub_console_highlight_color): Removed.
4711 (grub_console_normal_color): Likewise.
4712 (grub_console_standard_color): Made static.
4713 (grub_ncurses_putchar): Remove mapping.
4714 (grub_ncurses_getcharwidth): Removed.
4715 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4716 (grub_ncurses_setcolor): Removed.
4717 (grub_ncurses_getcolor): Likewise.
4718 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
4719 (grub_console_putchar): ... this.
4720 (grub_console_putchar): Handle argument difference.
4721 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
4722 console_init_early and console_init_lately.
4723 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
4724 * kern/misc.c (grub_puts): Removed.
4725 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
4726 (grub_vsnprintf_real): Remove str = NULL support.
4727 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
4728 * normal/charset.c (grub_utf8_to_ucs4): ... here.
4729 * kern/term.c (grub_putcode): Renamed to ...
4730 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
4731 (grub_putchar): Removed.
4732 (grub_xputs_dumb): New function.
4733 (grub_xputs): New variable.
4734 * lib/charset.c: Move from here ...
4735 * normal/charset.c: ... to here.
4736 (grub_ucs4_to_utf8): New function.
4737 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
4738 (join_types): New variable.
4739 (unpack_join): New function.
4740 (bidi_types): New variable.
4741 (unpack_bidi): New function.
4742 (get_bidi_type): Likewise.
4743 (get_join_type): Likewise.
4744 (is_mirrored): Likewise.
4745 (grub_unicode_get_comb_type): Likewise.
4746 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
4747 (is_type_after): Likewise.
4748 (grub_unicode_aglomerate_comb): Likewise.
4749 (bidi_line_wrap): Likewise.
4750 (grub_bidi_line_logical_to_visual): Likewise.
4751 (grub_bidi_logical_to_visual): Likewise.
4752 (grub_unicode_mirror_code): Likewise.
4753 (grub_unicode_shape_code): Likewise.
4754 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
4755 Don't use grub_putchar.
4756 * normal/main.c (grub_normal_init_page): Use grub_putcode.
4757 (grub_normal_reader_init): Likewise.
4758 (grub_xputs_saved): New variable.
4759 (GRUB_MOD_INIT): Set grub_xputs.
4760 (GRUB_MOD_FINI): Restore grub_xputs.
4761 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
4762 (menu_init): Avoid printing gfxmenu error.
4763 (show_menu): Use grub_normal_get_char_counter.
4764 * normal/menu_entry.c (update_screen): Fix out-of-array.
4765 (complete): Avoid NULL dereferencing.
4766 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
4767 * normal/menu_text.c (print_spaces): Removed.
4768 (grub_print_ucs4): Likewise.
4769 (grub_print_message_indented): Use grub_print_ucs4.
4770 (print_message): Use grub_putcode.
4771 (print_entry): Hanlde diacritics.
4772 * normal/term.c (term_state): New type.
4773 (grub_more_lines): Removed.
4774 (term_states): New variable.
4775 (grub_normal_line_counter): Renamed to ..
4776 (grub_normal_char_counter): ...this. All users updated.
4777 (grub_normal_get_line_counter): Renamed to ...
4778 (grub_normal_get_char_counter): ... this.
4779 (grub_normal_reset_more): New function.
4780 (process_newline): Removed.
4781 (print_more): New function.
4782 (grub_install_newline_hook): Removed.
4783 (map_code): New function.
4784 (grub_puts_terminal): Use grub_print_ucs4.
4785 (putglyph): New function.
4786 (putcode_real): Likewise.
4787 (grub_putcode): Use putcode_real.
4788 (get_maxwidth): New function.
4789 (get_startwidth): Likewise.
4790 (print_ucs4_terminal): Likewise.
4791 (find_term_state): Likewise.
4792 (put_glyphs_terminal): Likewise.
4793 (print_backlog): Likewise.
4794 (print_ucs4_real): Likewise.
4795 (grub_print_ucs4): Likewise.
4796 (grub_xputs_normal): Likewise.
4797 * term/efi/console.c (grub_console_putchar): Output diacritics.
4798 (grub_console_getcharwidth): Removed.
4799 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4800 * term/gfxterm.c (clear_char): Free chars.
4801 (scroll_up): Avoid leaking memory.
4802 (grub_gfxterm_putchar): Support diacritics.
4803 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4804 * term/i386/pc/console.c (grub_console_term_output): Declare as
4805 GRUB_TERM_CODE_TYPE_VGA.
4806 * term/i386/pc/vga.c (grub_vga_term): Declare as
4807 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
4808 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
4809 GRUB_TERM_CODE_TYPE_VGA.
4810 * term/i386/vga_common.c (map_char): Removed.
4811 (grub_console_putchar): Likewise.
4812 (grub_console_getcharwidth): Likewise.
4813 * term/ieee1275/ofconsole.c: Simplify using terminfo.
4814 (colors): Reordered to match terminfo.
4815 (grub_ofconsole_normal_color): Removed.
4816 (grub_ofconsole_writeesc): Likewise.
4817 (grub_ofconsole_highlight_color): Likewise.
4818 (grub_ofconsole_getcharwidth): Likewise.
4819 (grub_ofconsole_setcolorstate): Likewise.
4820 (grub_ofconsole_setcolor): Likewise.
4821 (grub_ofconsole_getcolor): Likewise.
4822 (grub_ofconsole_readkey): Renamed to ...
4823 (readkey): ... this. Remove escape sequence handling. Return -1 on no
4824 key.
4825 (grub_ofconsole_checkkey): Removed.
4826 (grub_ofconsole_getkey): Likewise.
4827 (grub_ofconsole_getxy): Likewise.
4828 (grub_ofconsole_gotoxy): Likewise.
4829 (grub_ofconsole_cls): Likewise.
4830 (grub_ofconsole_refresh): Likewise.
4831 (grub_ofconsole_terminfo_input): New struct.
4832 (grub_ofconsole_terminfo_output): Likewise.
4833 (grub_ofconsole_term_input): Use terminfo.
4834 (grub_ofconsole_term_output): Likewise.
4835 (grub_console_init): Split into ...
4836 (grub_console_init_early): ...this and ...
4837 (grub_console_init_lately): ...this. Use terminfo.
4838 (grub_ofconsole_putchar): Renamed to ...
4839 (put): ... this. Remove mapping.
4840 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4841 * term/serial.c: Simplify using terminfo.
4842 (xpos): Removed.
4843 (ypos): Likewise.
4844 (keep_track): Likewise.
4845 (registered): Likewise.
4846 (input_buf): Likewise.
4847 (npending): Likewise.
4848 (serial_translate_key_sequence): Likewise.
4849 (fill_input_buf): Likewise.
4850 (grub_serial_checkkey): Likewise.
4851 (grub_serial_getkey): Likewise.
4852 (grub_serial_getxy): Likewise.
4853 (grub_serial_gotoxy): Likewise.
4854 (grub_serial_putchar): Likewise.
4855 (grub_serial_cls): Likewise.
4856 (grub_serial_setcolorstate): Likewise.
4857 (grub_serial_setcursor): Likewise.
4858 (serial_hw_init): Use serial_hw_fetch.
4859 (grub_serial_terminfo_input): New variable.
4860 (grub_serial_terminfo_output): Likewise.
4861 (grub_serial_term_input): Use terminfo.
4862 (grub_serial_term_output): Likewise.
4863 * term/terminfo.c (putstr): Use put.
4864 (grub_terminfo_all_free): New function
4865 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
4866 (grub_terminfo_output_register): New function.
4867 (grub_terminfo_output_unregister): Likewise.
4868 (grub_terminfo_getxy): Likewise.
4869 (grub_terminfo_readkey): Likewise.
4870 (grub_terminfo_checkkey): Likewise.
4871 (grub_terminfo_getkey): Likewise.
4872 (grub_terminfo_input_init): Likewise.
4873 (print_terminfo): Likewise.
4874 (grub_cmd_terminfo): Handle encoding.
4875 (grub_terminfo_gotoxy): Track position.
4876 (grub_terminfo_cls): Likewise.
4877 (grub_terminfo_putchar): Likewise.
4878 (grub_terminfo_setcolorstate): Handle colors
4879 (grub_terminfo_cursor_on): This ...
4880 (grub_terminfo_cursor_off): ... and this merged into ...
4881 (grub_terminfo_setcursor): ... this.
4882 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
4883 * unicode/ArabicShaping.txt: New file (imported from Unicode).
4884 * unicode/BidiMirroring.txt: Likewise.
4885 * unicode/UnicodeData.txt: Likewise.
4886 * unicode/COPYING: Likewise.
4887 * util/grub-editenv.c (grub_putchar): Removed.
4888 (grub_xputs_real): New function.
4889 (grub_xputs): New variable.
4890 * util/grub-fstest.c (grub_putchar): Removed.
4891 (grub_xputs_real): New function.
4892 (grub_xputs): New variable.
4893 * util/grub-mkdevicemap.c (grub_putchar): Removed.
4894 (grub_xputs_real): New function.
4895 (grub_xputs): New variable.
4896 * util/grub-probe.c (grub_putchar): Removed.
4897 (grub_xputs_real): New function.
4898 (grub_xputs): New variable.
4899 * util/grub-script-check.c (grub_putchar): Removed.
4900 (grub_xputs_real): New function.
4901 (grub_xputs): New variable.
4902 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
4903 (grub_xputs_real): New function.
4904 (grub_xputs): New variable.
4905 * util/import_unicode.py: New file.
4906 * util/grub-mkfont.c (ft_errmsgs): New array.
4907 (grub_glyph_info): Make bitmap a pointer.
4908 (file_formats): New type WIDTH_SPEC.
4909 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
4910 (options): Add width-spec.
4911 (help): Likewise.
4912 (add_char): Renamed to ...
4913 (add_glyph): ... this.
4914 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
4915 (glyph_replace): New type.
4916 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
4917 (add_char): New function.
4918 (add_subst): Likewise.
4919 (process_cursive): Likewise.
4920 (add_font): Handle GSUB.
4921 (write_font_width_spec): New function.
4922 (main): Sort glyphs.
4923 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
4924 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
4925 * kern/term.c (grub_cls): Moved from here...
4926 * normal/term.c (grub_cls): ... here.
4927
50f0bcda
CW
49282010-07-02 Colin Watson <cjwatson@ubuntu.com>
4929
4930 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
4931 suitable for using within the format argument of printf when
4932 converting grub_size_t.
4933 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
4934 "x" to convert grub_size_t arguments.
4935
40372103
VS
49362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
4939 too long captions.
4940 (list_get_minimal_size): Take selection box into account.
4941
942a10c7
VS
49422010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
4945 NULL font.
4946
2bdb2892
CW
49472010-07-02 Colin Watson <cjwatson@ubuntu.com>
4948
4949 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
4950 devices when iterating over /dev/disk/by-id; they will be handled
4951 later if appropriate, which they aren't always (e.g. LVM).
4952
e03ed6c1
CW
49532010-07-02 Colin Watson <cjwatson@ubuntu.com>
4954
4955 * include/grub/misc.h (grub_reboot): Declare as noreturn.
4956 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
4957 fails.
4958 (grub_halt): Likewise.
4959 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
4960 reset-all fails.
4961 (grub_halt): Don't return, even if all of shut-down, power-off, and
4962 poweroff fail.
4963
47695765
CW
49642010-07-02 Colin Watson <cjwatson@ubuntu.com>
4965
4966 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
4967 arguments, not three.
4968
507736c8
CW
49692010-07-02 Colin Watson <cjwatson@ubuntu.com>
4970
4971 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
4972 * util/grub.d/10_linux.in: Use it to check for LVM, so that
4973 LVM-on-RAID is handled correctly.
4974
e3c8cd37
CW
49752010-07-02 Colin Watson <cjwatson@ubuntu.com>
4976
4977 * docs/grub.texi (Changes from GRUB Legacy): New section.
4978 (Future): Fix typo.
4979
8d4a2fec
CW
49802010-07-02 Colin Watson <cjwatson@ubuntu.com>
4981
4982 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
4983 grub.d/README accidentally ends up executable for one reason or
4984 another. Ignore it.
4985
1c4827be
VS
49862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
4989 (gpt_partition_map_iterate): Support non-512B sectors.
4990
d9a0c941
VS
49912010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * kern/efi/init.c (grub_efi_init): Disable watchdog.
4994 Tested by: Seth Goldberg.
4995
48f27e87
VS
49962010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
4999 Properly align mbi.
5000 Reported by: Seth Goldberg.
5001
b0c4f956
VS
50022010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * util/grub-mkrescue.in: Avoid module duplication.
5005
105a2e8c
SF
50062010-07-01 Sean Finney <seanius@seanius.net>
5007
5008 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
5009
5944958c
SF
50102010-07-01 Sean Finney <seanius@seanius.net>
5011
5012 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
5013
50142010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * disk/lvm.c (grub_lvm_checkvalue): New function.
5017 (grub_lvm_check_flag): Likewise.
5018
b79889ba
RM
50192010-07-01 Robert Millan <rmh@gnu.org>
5020
5021 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
5022 Support 'p' as partition separator on kernel of FreeBSD (used
5023 with GPT labels).
5024 (grub_util_biosdisk_get_grub_dev): Likewise.
5025
ec1d04f1
VS
50262010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 Yeeloong firmware port.
5029
5030 * boot/mips/yeeloong/fwstart.S: New file.
5031 * bus/cs5536.c (gpiodump): New const.
5032 (set_io_space): New function.
5033 (set_iod): Likewise.
5034 (set_p2d): Likewise.
5035 (grub_cs5536_init_geode): Likewise.
5036 * commands/mips/yeeloong/lsspd.c: New file.
5037 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
5038 (serial_mod_SOURCES): New variable.
5039 (serial_mod_CFLAGS): Likewise.
5040 (serial_mod_LDFLAGS): Likewise.
5041 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
5042 term/terminfo.c and term/tparm.c.
5043 (pkglib_IMAGES): Add fwstart.img.
5044 (fwstart_img_SOURCES): New variable.
5045 (fwstart_img_CFLAGS): Likewise.
5046 (fwstart_img_ASFLAGS): Likewise.
5047 (fwstart_img_LDFLAGS): Likewise.
5048 (fwstart_img_FORMAT): Likewise.
5049 (pkglib_MODULES): Add lsspd.mod.
5050 (lsspd_mod_SOURCES): New variable.
5051 (lsspd_mod_CFLAGS): Likewise.
5052 (lsspd_mod_LDFLAGS): Likewise.
5053 (pkglib_MODULES): Add halt.mod.
5054 (halt_mod_SOURCES): New variable.
5055 (halt_mod_CFLAGS): Likewise.
5056 (halt_mod_LDFLAGS): Likewise.
5057 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
5058 (serial_mod_SOURCES): Removed.
5059 (serial_mod_CFLAGS): Likewise.
5060 (serial_mod_LDFLAGS): Likewise.
5061 * disk/ata.c (check_device): New function.
5062 (grub_ata_device_initialize): Use check_device.
5063 (grub_ata_iterate): Recheck devices.
5064 (grub_ata_open): Likewise.
5065 (grub_atapi_iterate): Likewise.
5066 (grub_atapi_open): Likewise.
5067 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
5068 (GRUB_ATA_CH1_PORT1): Likewise.
5069 (GRUB_ATA_CH0_PORT2): Likewise.
5070 (GRUB_ATA_CH1_PORT2): Likewise.
5071 * include/grub/mips/loongson.h: New file.
5072 * include/grub/mips/yeeloong/ec.h: Likewise.
5073 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
5074 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
5075 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
5076 * include/grub/misc.h (grub_halt): Declare as noreturn.
5077 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
5078 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
5079 (UART_ENABLE_FIFO_TRIGGER1): New definition.
5080 (UART_ENABLE_DTRRTS): Likewise.
5081 (UART_ENABLE_MODEM): Removed.
5082 (UART_ENABLE_OUT2): New const.
5083 * include/grub/term.h (grub_term_register_input_active): New function.
5084 (grub_term_register_output_active): Likewise.
5085 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
5086 argument.
5087 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
5088 (init_pci): New function.
5089 (grub_machine_init): Execute platform init when firmware. Init serial.
5090 (grub_halt): Implement.
5091 (grub_exit): Likewise.
5092 (grub_reboot): Likewise.
5093 * term/serial.c (serial_hw_init): Update macros.
5094 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
5095 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
5096 (image_targets): New target mipsel-yeeloong-flash.
5097 (generate_image): Support IMAGE_YEELOONG_FLASH.
5098 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
5099 (grub_video_sm712_setup): Init card.
5100 (grub_video_sm712_set_palette): Removed.
5101 * video/sm712_init.c: New file.
5102
ff4a70d2
CW
51032010-06-30 Colin Watson <cjwatson@ubuntu.com>
5104
5105 * Makefile.in (install-local): Temporarily prepend $(builddir) to
5106 PATH when running help2man and then run it on the unadorned
5107 executable names, rather than passing $(builddir)/* paths to
5108 help2man. This avoids the build directory ending up in generated
5109 manual pages.
5110
1246efeb
CW
51112010-06-29 Colin Watson <cjwatson@ubuntu.com>
5112
5113 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
5114 to avoid accidents when debugging with 'sh -x'.
5115 * util/grub-mkrescue.in: Likewise.
5116 * util/grub.d/00_header.in: Likewise.
5117 * util/grub.d/10_hurd.in: Likewise.
5118 * util/grub.d/10_kfreebsd.in: Likewise.
5119 * util/grub.d/10_linux.in: Likewise.
5120 * util/grub.d/10_netbsd.in: Likewise.
5121 * util/grub.d/10_windows.in: Likewise.
5122 * util/grub.d/20_linux_xen.in: Likewise.
5123 * util/grub.d/30_os-prober.in: Likewise.
5124 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5125
1ba9b889
CW
51262010-06-29 Colin Watson <cjwatson@ubuntu.com>
5127
5128 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
5129 last character in the buffer.
5130 Reported by: Vladimir Serbinenko.
5131
dccaf99d
RM
51322010-06-29 Robert Millan <rmh@gnu.org>
5133
5134 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
5135 (Command-line and menu entry commands): Document `badram' command.
5136
d500ed12
RM
51372010-06-28 Robert Millan <rmh@gnu.org>
5138
5139 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
5140 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
5141 command using ${GRUB_BADRAM} as parameter.
5142
20bc84a6
CW
51432010-06-28 Colin Watson <cjwatson@ubuntu.com>
5144
5145 * docs/grub.texi (Device map): New section.
5146 (Themes): New section (stub).
5147 * Makefile.in (docs/grub.info): The info documentation now builds
5148 without errors. Make sure it stays that way.
5149
4045dee1
VS
51502010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 Use normal parser for menu entries.
5153 Reported by: Thomas Frauendorfer
5154
5155 * include/grub/parser.h (grub_parser_execute): Don't export.
5156 * normal/menu.c (grub_menu_execute_entry_real): New function.
5157 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
5158
bca58c7b
CW
51592010-06-28 Colin Watson <cjwatson@ubuntu.com>
5160
5161 * docs/grub.texi (Embedded configuration): New section (replacing
5162 old "Preset Menu" stub).
5163 (Images): New section.
5164 (configfile): Note that any menu entries defined in `file' are shown
5165 immediately.
5166
dec53e63
JT
51672010-06-28 Josh Triplett <josh@joshtriplett.org>
5168
5169 * mmap/i386/pc/mmap_helper.S: Set CF on return.
5170
c06e40f7
CW
51712010-06-28 Colin Watson <cjwatson@ubuntu.com>
5172
5173 * util/grub-install.in: Add --debug-image= option.
5174
cb88052b
CW
51752010-06-28 Colin Watson <cjwatson@ubuntu.com>
5176
5177 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
5178 possible on Linux.
5179
5180 * util/deviceiter.c (check_device): Rename to ...
5181 (check_device_readable_unique): ... this. Update all callers.
5182 Maintain and check a list of which devices (by canonicalized name)
5183 have already been seen.
5184 (clear_seen_devices): New function.
5185 (compare_file_names) [__linux__]: New function.
5186 (grub_util_iterate_devices): Clear the list of seen devices on exit
5187 and (just in case) on entry.
5188 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
5189 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
5190 seen-devices list, superseded by general code in check_device.
5191
bbe34652
CW
51922010-06-28 Colin Watson <cjwatson@ubuntu.com>
5193
5194 * commands/cat.c (options): New variable.
5195 (grub_cmd_cat): Parse options. If the --dos option is given, print
5196 DOS-style "\r\n" line endings as simple newlines (Debian bug
5197 #586358).
5198 (GRUB_MOD_INIT): Use extcmd.
5199 (GRUB_MOD_FINI): Likewise.
5200 * docs/grub.texi (cat): Document --dos.
5201
412e09f3
VS
52022010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 XEN with Linux grub-mkconfig support.
5205
5206 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
5207 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
5208 GRUB_CMDLINE_XEN_DEFAULT.
5209 * util/grub.d/20_linux_xen.in: New file.
5210
53f3ef38 52112010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
5212
5213 Initialise VGA video on qemu ourselves.
5214
5215 * boot/i386/qemu/boot.S: Don't call 0xc000.
5216 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
5217 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
5218 (kernel_img_HEADERS): Add pci.h.
5219 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
5220 * configure.ac: Force unifont on qemu and yeeloong.
5221 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
5222 (grub_vga_palette_write): Use correct register.
5223 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
5224 Call grub_qemu_init_cirrus.
5225 * kern/i386/qemu/init.c: New file.
5226 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
5227
5228 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
5229
c75be4fb
PR
52302010-06-26 Pavel Roskin <proski@gnu.org>
5231
5232 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
5233 13.
5234
d8034603
CW
52352010-06-26 Colin Watson <cjwatson@ubuntu.com>
5236
5237 * docs/grub.texi (Simple configuration): Explain that
5238 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
5239 set to `true' to disable their respective recovery entries, not
5240 merely set.
5241
3fa06487
CW
52422010-06-26 Colin Watson <cjwatson@ubuntu.com>
5243
5244 Make the `source' command slightly faster.
5245
5246 * normal/main.c (grub_normal_execute): Don't re-read list files when
5247 nested.
5248
e9b29642
CW
52492010-06-23 Colin Watson <cjwatson@ubuntu.com>
5250
5251 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
5252 field position and mask size to red fields from mode_info, not
5253 green.
5254 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
5255 Remove redundant tag->common.framebuffer_type assignment.
5256 Reported by: Seth Goldberg.
5257
e726542f
CW
52582010-06-23 Colin Watson <cjwatson@ubuntu.com>
5259
5260 Sync up other versions of the Linux loader with Robert Millan's
5261 change of 2010-01-09, "Make loader output a bit more user-friendly".
5262
5263 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
5264 grub_dprintf().
5265 (grub_cmd_linux): Likewise.
5266 (grub_cmd_initrd): Likewise.
5267 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
5268 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5269
d6e98a17
CW
52702010-06-21 Colin Watson <cjwatson@ubuntu.com>
5271
5272 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
5273 larger than MEMORY_MAP_SIZE.
5274
14d3f08e
BC
52752010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
5276
5277 Fix parallel build.
5278
5279 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
5280 dependency.
5281 * script/parser.y: #include grub_script.tab.h header.
5282
4f9613a3
VS
52832010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 Support >3GiB and <16MiB RAM in i386-qemu.
5286
5287 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
5288 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
5289 (grub_lower_mem): Removed.
5290 (grub_upper_mem): Likewise.
5291 (mem_size): Made static.
5292 (above_4g): New variable.
5293 (grub_machine_mmap_init): Detect small mem_size and above_4g.
5294 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
5295 support.
5296
05e51879
VS
52972010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 Cirrus 5446 and Bochs video cards support.
5300
5301 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
5302 video_bochs.mod
5303 (video_cirrus_mod_SOURCES): New variable.
5304 (video_cirrus_mod_CFLAGS): Likewise.
5305 (video_cirrus_mod_LDFLAGS): Likewise.
5306 (video_bochs_mod_SOURCES): Likewise.
5307 (video_bochs_mod_CFLAGS): Likewise.
5308 (video_bochs_mod_LDFLAGS): Likewise.
5309 * include/grub/vga.h: New file.
5310 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
5311 (grub_video_fb_set_page_t): New type.
5312 (grub_video_fb_setup): New prototype.
5313 (grub_video_fb_swap_buffers): Likewise.
5314 (grub_video_fb_get_info_and_fini): Likewise.
5315 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
5316 (CRTC_DATA_PORT): Likewise.
5317 (CRTC_CURSOR): Likewise.
5318 (CRTC_CURSOR_ADDR_HIGH): Likewise.
5319 (CRTC_CURSOR_ADDR_LOW): Likewise.
5320 (CRTC_CURSOR_DISABLE): Likewise.
5321 (update_cursor): Use grub_vga_cr_write.
5322 (grub_vga_text_setcursor): Likewise.
5323 * video/bochs.c: New file.
5324 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
5325 (palette): Likewise.
5326 (palette_size): Likewise.
5327 (framebuffer): New variable.
5328 (grub_video_fb_init): Use 'framebuffer'.
5329 (grub_video_fb_fini): Likewise.
5330 (grub_video_fb_get_info): Likewise.
5331 (grub_video_fb_get_palette): Likewise.
5332 (grub_video_fb_set_palette): Likewise.
5333 (grub_video_fb_set_viewport): Likewise.
5334 (grub_video_fb_get_viewport): Likewise.
5335 (grub_video_fb_map_color): Likewise.
5336 (grub_video_fb_map_rgb): Likewise.
5337 (grub_video_fb_map_rgba): Likewise.
5338 (grub_video_fb_unmap_color): Likewise.
5339 (grub_video_fb_unmap_color_int): Likewise.
5340 (grub_video_fb_fill_rect): Likewise.
5341 (grub_video_fb_blit_bitmap): Likewise.
5342 (grub_video_fb_blit_render_target): Likewise.
5343 (grub_video_fb_scroll): Likewise.
5344 (grub_video_fb_create_render_target): Likewise.
5345 (grub_video_fb_doublebuf_blit_init): Likewise.
5346 (grub_video_fb_set_active_render_target): Handle doublebuffering.
5347 (doublebuf_pageflipping_update_screen): New function.
5348 (doublebuf_pageflipping_init): Likewise.
5349 (grub_video_fb_setup): Likewise.
5350 (grub_video_fb_swap_buffers): Likewise.
5351 (grub_video_fb_get_info_and_fini): Likewise.
5352 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
5353 All users updated.
5354 (doublebuf_pageflipping_commit): Restructured into ...
5355 (doublebuf_pageflipping_set_page): ... this.
5356 (doublebuf_pageflipping_update_screen): Removed.
5357 (doublebuf_pageflipping_init): Likewise.
5358 (double_buffering_init): Likewise.
5359 (grub_video_vbe_setup): Use grub_video_fb_setup.
5360 (grub_video_vbe_swap_buffers): Removed.
5361 (grub_video_vbe_set_active_render_target): Likewise.
5362 (grub_video_vbe_get_active_render_target): Likewise.
5363 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
5364 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
5365 grub_video_fb_set_active_render_target and
5366 grub_video_fb_get_active_render_target.
5367 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
5368 (SEQUENCER_DATA_PORT): Likewise.
5369 (MAP_MASK_REGISTER): Likewise.
5370 (CRTC_ADDR_PORT): Likewise.
5371 (CRTC_DATA_PORT): Likewise.
5372 (START_ADDR_HIGH_REGISTER): Likewise.
5373 (START_ADDR_LOW_REGISTER): Likewise.
5374 (GRAPHICS_ADDR_PORT): Likewise.
5375 (GRAPHICS_DATA_PORT): Likewise.
5376 (READ_MAP_REGISTER): Likewise.
5377 (INPUT_STATUS1_REGISTER): Likewise.
5378 (INPUT_STATUS1_VERTR_BIT): Likewise.
5379 (get_map_mask): Use grub_vga_sr_read.
5380 (set_map_mask): Use grub_vga_sr_write.
5381 (set_read_map): Use grub_vga_gr_write.
5382 (set_start_address): Use grub_vga_cr_write.
5383 * video/sm712.c (framebuffer): Remove leftover fields.
5384
4321c64a
CW
53852010-06-20 Colin Watson <cjwatson@ubuntu.com>
5386
5387 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
5388 setting GRUB_VIDEO_BACKEND. Make it available as a user override
5389 instead. Replace the gfxterm backend check with a check that
5390 ${GRUB_PREFIX}/video.lst is non-empty.
5391 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
5392 again.
5393 (load_video): New generated function. Call it before loading
5394 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
5395 * util/grub.d/10_linux.in (linux_entry): Call load_video.
5396 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
5397 * docs/grub.texi (Simple configuration): Document
5398 GRUB_VIDEO_BACKEND.
5399
54002010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 Use video functions in linux and xnu loaders.
5403
5404 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
5405 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
5406 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
5407 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
5408 loader/i386/pc/linux.c.
5409 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
5410 (find_line_len): Removed.
5411 (find_framebuf): Likewise.
5412 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
5413 * loader/i386/efi/xnu.c: Removed.
5414 * loader/i386/pc/xnu.c: Moved from here...
5415 * loader/i386/xnu.c: ...here.
5416
5417 Enable priorities in video drivers.
5418
5419 * include/grub/video.h (grub_video_adapter_prio_t): New type.
5420 (grub_video_adapter): New field prio.
5421 (grub_video_register): Respect prio when inserting.
5422 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
5423 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
5424 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
5425 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
5426 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
5427 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
5428 * video/sm712.c (grub_video_sm712_adapter): Likewise.
5429
5430 Fix SDL driver ID.
5431
5432 * include/grub/video.h (grub_video_driver_id_t): New value
5433 GRUB_VIDEO_DRIVER_SDL.
5434 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
5435
7d24e434
CW
54362010-06-17 Colin Watson <cjwatson@ubuntu.com>
5437
5438 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
5439 argument to printf.
5440 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5441
c88a83f6
CW
54422010-06-17 Colin Watson <cjwatson@ubuntu.com>
5443
5444 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
5445 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5446
094dfb69
CW
54472010-06-17 Colin Watson <cjwatson@ubuntu.com>
5448
5449 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
5450 directly, and recommend grub-install instead.
5451 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5452
2164da6b
CW
54532010-06-17 Colin Watson <cjwatson@ubuntu.com>
5454
5455 Fix i386-pc prefix handling with nested partitions (Debian bug
5456 #585068). Note that the case where the core image is booted using
5457 multiboot and relocated from its original location still requires
5458 more work.
5459
5460 * kern/i386/pc/init.c (make_install_device): If the prefix starts
5461 with "(,", fill the boot drive in between those two characters, but
5462 expect that a full partition specification including partition map
5463 names will follow.
5464 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
5465 specified, write a prefix without the drive name but including a
5466 full partition specification.
5467
044e2e60
CW
54682010-06-16 Colin Watson <cjwatson@ubuntu.com>
5469
5470 * util/grub-mkconfig.in: Ignore non-option arguments, for
5471 compatibility with older versions (before 2010-06-12) which did the
5472 same. In particular, this makes it easier to ship an update-grub
5473 wrapper which is compatible with that used with GRUB Legacy (Debian
5474 bug #586056).
5475
5591324f
GS
54762010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5477
5478 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
5479 for manual page generation.
5480
662e24d5
GS
54812010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5482
5483 * po/POTFILES: Remove leftover commands/handler.c.
5484
8d70754e
CW
54852010-06-14 Colin Watson <cjwatson@ubuntu.com>
5486
5487 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
5488 left this script non-functional.
5489
41160e2e
CW
54902010-06-14 Colin Watson <cjwatson@ubuntu.com>
5491
5492 * docs/man/grub-emu.h2m: New file.
5493
b5309cc1
CW
54942010-06-13 Colin Watson <cjwatson@ubuntu.com>
5495
5496 * docs/grub.texi (Commands): Document reduced command set in rescue
5497 mode.
5498 (cpuid): New section.
5499
fcb2d090
GS
55002010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
5501
5502 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
5503 new partition naming style.
5504 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
5505
96e5c556
BC
55062010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
5507
5508 Add "-o grub.iso" like cmdline options support.
5509
5510 * util/grub-install.in: Improve cmdline option parsing.
5511 * util/grub-mkconfig.in: Likewise.
5512 * util/grub-mkrescue.in: Likewise.
5513 * util/grub-reboot.in: Likewise.
5514 * util/grub-set-default.in: Likewise.
5515 * util/i386/efi/grub-install.in: Likewise.
5516 * util/ieee1275/grub-install.in: Likewise.
5517 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5518
c16be99b
CW
55192010-06-12 Colin Watson <cjwatson@ubuntu.com>
5520
5521 * .bzrignore: Ignore 41_custom.
5522
ce08a9fb
TS
55232010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5524
5525 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
5526
7beac90c
CW
55272010-06-12 Colin Watson <cjwatson@ubuntu.com>
5528
5529 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
5530 prototype declarations.
5531
5532 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
5533 generating fs, partmap, and video lists.
5534 * include/grub/fs.h (grub_fs_register): Omit prototype if
5535 GRUB_LST_GENERATOR is defined.
5536 * include/grub/partition.h (grub_partition_map_register): Likewise.
5537 * include/grub/video.h (grub_video_register): Likewise.
5538
1c8f0f8d
JM
55392010-06-12 Javier Martín <lordhabbit@gmail.com>
5540
5541 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
5542
a6085973
TS
55432010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5544
5545 * util/grub-mkrescue.in: Support --xorriso argument.
5546
25c56d29
VS
55472010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
5550 Suggested by: Thomas Schmitt.
5551
e03e4b24
VS
55522010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
5555 Suggested by: Thomas Schmitt.
5556
57711df6
VS
55572010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 custom.cfg support.
5560
5561 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
5562 * util/grub.d/41_custom.in: New file.
5563
ee62c427
CW
55642010-06-12 Colin Watson <cjwatson@ubuntu.com>
5565
5566 * util/grub-mkrescue.in (make_image): Remove sh module, which has
5567 been merged back into normal.
5568
283af07a
CW
55692010-06-11 Colin Watson <cjwatson@ubuntu.com>
5570
5571 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
5572 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
5573
56a0d956
CW
55742010-06-11 Colin Watson <cjwatson@ubuntu.com>
5575
5576 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
5577 when generating manual pages.
5578 * docs/man/grub-bin2h.h2m: New file.
5579 * docs/man/grub-editenv.h2m: New file.
5580 * docs/man/grub-fstest.h2m: New file.
5581 * docs/man/grub-install.h2m: New file.
5582 * docs/man/grub-macho2img.h2m: New file.
5583 * docs/man/grub-mkconfig.h2m: New file.
5584 * docs/man/grub-mkdevicemap.h2m: New file.
5585 * docs/man/grub-mkfont.h2m: New file.
5586 * docs/man/grub-mkimage.h2m: New file.
5587 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
5588 * docs/man/grub-mkrelpath.h2m: New file.
5589 * docs/man/grub-mkrescue.h2m: New file.
5590 * docs/man/grub-ofpathname.h2m: New file.
5591 * docs/man/grub-pe2elf.h2m: New file.
5592 * docs/man/grub-probe.h2m: New file.
5593 * docs/man/grub-reboot.h2m: New file.
5594 * docs/man/grub-script-check.h2m: New file.
5595 * docs/man/grub-set-default.h2m: New file.
5596 * docs/man/grub-setup.h2m: New file.
5597
3a37e322
VS
55982010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 Use FOR_* macros instead of *_iterate whenever possible.
5601
5602 * commands/handler.c: Removed.
5603 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
5604 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
5605 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5606 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
5607 (grub_probe_SOURCES): Remove kern/parser.c.
5608 (util/grub-script-check.c_DEPENDENCIES): Removed.
5609 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
5610 and grub_script_check_init.c.
5611 (grub_script_check_init.lst): Removed.
5612 (grub_script_check_init.h): Likewise.
5613 (grub_script_check_init.c): Likewise.
5614 (pkglib_MODULES): Remove handler.mod and sh.mod.
5615 (handler_mod_SOURCES): Removed.
5616 (handler_mod_CFLAGS): Likewise.
5617 (handler_mod_LDFLAGS): Likewise.
5618 (normal_mod_SOURCES): Remove normal/handler.c.
5619 Add script/main.c, script/script.c, script/execute.c,
5620 script/function.c, script/lexer.c, grub_script.tab.c
5621 and grub_script.yy.c.
5622 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5623 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5624 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
5625 (grub_setup_SOURCES): Remove kern/parser.c.
5626 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5627 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
5628 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5629 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5630 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5631 (grub_setup_SOURCES): Remove kern/parser.c.
5632 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5633 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
5634 * include/grub/command.h (grub_command_iterate): Removed.
5635 (FOR_COMMANDS): New macro.
5636 * include/grub/dl.h (grub_dl): New member next.
5637 (grub_dl_iterate): Removed.
5638 (grub_dl_head): New variable declaration.
5639 (FOR_DL_MODULES): New macro.
5640 * include/grub/fs.h: Include list.h.
5641 (grub_fs): Make next first element.
5642 (grub_fs_list): New variable declaration.
5643 (grub_fs_register): Make inline.
5644 (grub_fs_unregister): Likewise.
5645 (grub_fs_iterate): Removed.
5646 (FOR_FILESYSTEMS): New macro.
5647 * include/grub/handler.h: Removed.
5648 * include/grub/list.h (grub_list_hook_t): Removed.
5649 (grub_list_test_t): Likewise.
5650 (grub_list_pop): Likewise.
5651 (grub_list_iterate): Likewise.
5652 (grub_list_insert): Likewise.
5653 (FOR_LIST_ELEMENTS): New macro.
5654 * include/grub/parser.h (grub_parser_class): Removed.
5655 (grub_parser_register): Likewise.
5656 (grub_parser_unregister): Likewise.
5657 (grub_parser_get_current): Likewise.
5658 (grub_parser_set_current): Likewise.
5659 (grub_register_rescue_parser): Likewise.
5660 (grub_rescue_parse_line): New function.
5661 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
5662 * include/grub/script_sh.h (grub_script_function_list): New variable
5663 declaration.
5664 (FOR_SCRIPT_FUNCTIONS): New macro.
5665 (grub_script_function_iterate): Removed.
5666 (grub_normal_parse_line): New prototype.
5667 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
5668 (FOR_DISABLED_TERM_INPUTS): Likewise.
5669 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5670 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5671 * include/grub/video.h (grub_video_adapter): Move 'next' to first
5672 element.
5673 (grub_video_register): Inline.
5674 (grub_video_unregister): Likewise.
5675 (grub_video_adapter_list): New variable declaration.
5676 (grub_video_iterate): Removed.
5677 (FOR_VIDEO_ADAPTERS): New macro.
5678 * kern/dl.c (grub_dl_list): Removed. All users updated.
5679 (grub_dl_iterate): Removed.
5680 * kern/fs.c (grub_fs_list): Make global.
5681 (grub_fs_register): Removed.
5682 (grub_fs_unregister): Likewise.
5683 (grub_fs_iterate): Likewise.
5684 * kern/handler.c: Removed.
5685 * kern/list.c (grub_list_pop): Removed.
5686 (grub_list_iterate): Likewise.
5687 (grub_list_insert): Likewise.
5688 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
5689 (grub_prio_list_insert): Don't use grub_list_insert.
5690 * kern/main.c (grub_register_rescue_parser): Don't call
5691 grub_register_rescue_parser.
5692 * kern/parser.c (grub_parser_class): Removed.
5693 (grub_parser_execute): Use grub_rescue_parse_line.
5694 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
5695 (grub_rescue_parser): Removed.
5696 (grub_register_rescue_parser): Likewise.
5697 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
5698 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
5699 (grub_auth_check_authentication): Likewise.
5700 * normal/completion.c (iterate_command): Removed.
5701 (grub_normal_do_completion): Use FOR_COMMANDS.
5702 * normal/handler.c: Removed.
5703 * normal/main.c (read_config_file): Remove parser changing.
5704 (grub_normal_execute): Don't call read_handler_list.
5705 (grub_normal_read_line_real): Statically allocate prompt.
5706 (grub_cmdline_run): Use grub_normal_parse_line.
5707 (GRUB_MOD_FINI): Don't call free_handler_list.
5708 * normal/menu_entry.c (run): Likewise.
5709 * script/function.c (grub_script_function_list): Make global.
5710 (grub_script_function_iterate): Removed.
5711 * script/main.c (grub_normal_parse_line): Make global.
5712 (grub_sh_parser): Removed.
5713 (GRUB_MOD_INIT): Likewise.
5714 (GRUB_MOD_FINI): Likewise.
5715 * tests/lib/functional_test.c (grub_functional_test): Use
5716 FOR_LIST_ELEMENTS.
5717 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
5718 (grub_test_run): Use FOR_LIST_ELEMENTS.
5719 * tests/lib/unit_test.c (main): Likewise.
5720 * util/deviceiter.c (grub_util_iterate_devices): Don't use
5721 grub_list_pop.
5722 * util/grub-fstest.c (grub_term_input_class): Removed.
5723 (grub_term_output_class): Likewise.
5724 * util/grub-probe.c: Likewise.
5725 * util/i386/pc/grub-setup.c: Likewise.
5726 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5727 * util/grub-script-check.c (main): Don't call grub_init_all and
5728 grub_fini_all.
5729 * video/video.c (grub_video_adapter_list): Make global.
5730 (grub_video_register): Removed.
5731 (grub_video_unregister): Likewise.
5732 (grub_video_iterate): Likewise.
5733
6289c3a7
VS
57342010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
5737 reported by Henrique Ferreiro.
5738
91460247
RM
57392010-06-09 Robert Millan <rmh@gnu.org>
5740
5741 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
5742 ones, when both are available.
5743
0ea7c4f9
GS
57442010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5745
5746 Make --version uniform and avoid hard-coded program name.
5747
5748 * util/grub-mkimage.c (main): Use `program_name' instead of
5749 hard-coded string.
5750 * util/i386/pc/grub-setup.c (main): Likewise.
5751 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
5752 * util/grub-install.in: Save the basename of $0 in $self, and use the
5753 latter in informational messages. Use the same format for --version
5754 as the binary programs.
5755 * util/grub-mkconfig.in: Likewise.
5756 * util/grub-mkrescue.in: Likewise.
5757 * util/grub-reboot.in: Likewise.
5758 * util/grub-set-default.in: Likewise.
5759 * util/i386/efi/grub-install.in: Likewise.
5760 * util/ieee1275/grub-install.in: Likewise.
5761 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5762
e8a6f3b6
GS
57632010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5764
5765 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
5766 embedding area. Use <= instead of == when checking for non-emptiness.
5767
f4d095d7
GS
57682010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5769
5770 * configure.ac: Add `.' to the directories searched for unifont.
5771
50e532ca
CW
57722010-06-08 Colin Watson <cjwatson@ubuntu.com>
5773
5774 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
5775 grub_script.yy.h.
5776
d39f3dec
CW
57772010-06-08 Colin Watson <cjwatson@ubuntu.com>
5778
5779 * docs/grub.texi (History): Expand to cover GRUB 2.
5780 (Serial terminal): Refer to `terminal_input' and `terminal_output'
5781 commands, not `terminal'.
5782 (serial): Likewise.
5783 (terminal_input): New section.
5784 (terminal_output): New section.
5785 (uppermem): New section (stub).
5786 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
5787
6ef0ddb4
CW
57882010-06-08 Colin Watson <cjwatson@ubuntu.com>
5789
5790 * docs/grub.texi (Security): Menu entries are unrestricted by
5791 default, not restricted to superusers as I had previously thought.
5792 Reword to account for this.
5793
e0f4c438
CW
57942010-06-07 Colin Watson <cjwatson@ubuntu.com>
5795
5796 * kern/emu/misc.c (device_mapper_null_log): New function.
5797 (grub_device_mapper_supported): New function.
5798 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
5799 prototype.
5800 * kern/emu/hostdisk.c (find_partition_start): Check whether
5801 device-mapper is supported before trying to use it.
5802 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
5803
da908200
CW
58042010-06-07 Colin Watson <cjwatson@ubuntu.com>
5805
5806 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
5807 (File name syntax): Likewise.
5808 (help): --all is no longer supported in GRUB 2. Be more precise
5809 about pattern matching.
5810
fb55c3ac
CW
58112010-06-07 Colin Watson <cjwatson@ubuntu.com>
5812
5813 * normal/completion.c (grub_normal_do_completion): When completing
5814 arguments to "set" and the current word contains an equals sign,
5815 skip to after the equals sign before starting completion.
5816
258c2573
CW
58172010-06-07 Colin Watson <cjwatson@ubuntu.com>
5818
5819 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
5820
ee75515e
CW
58212010-06-07 Colin Watson <cjwatson@ubuntu.com>
5822
5823 * docs/grub.texi (Network): New section.
5824 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
5825 `(nd)' as in GRUB Legacy.
5826 (pxe_unload): New section.
5827
a6a700aa
CW
58282010-06-07 Colin Watson <cjwatson@ubuntu.com>
5829
5830 * docs/grub.texi (Troubleshooting): `echo' is not usually available
5831 in the rescue shell, so recommend using `set' instead. Thanks,
5832 Jordan Uggla.
5833
4003dd38
CW
58342010-06-07 Colin Watson <cjwatson@ubuntu.com>
5835
5836 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
5837 (password): New section.
5838 (password_pbkdf2): New section.
5839 (search): New section.
5840 (Security): New section.
5841 (Troubleshooting): New section, currently very incomplete.
5842 (Invoking grub-mkpasswd-pbkdf2): New section.
5843 (Internals): New section, currently very incomplete.
5844
e1cbcc40
CW
58452010-06-07 Colin Watson <cjwatson@ubuntu.com>
5846
5847 * util/grub.d/00_header.in: Add some more quoting (of
5848 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
5849 work again.
5850 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
5851
db8fa1ad
CW
58522010-06-07 Colin Watson <cjwatson@ubuntu.com>
5853
5854 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
5855 to `count', fixing variable shadowing that broke the -c option.
5856
58572010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
5858
5859 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
5860 in case they contain spaces.
5861
f28a9212
CW
58622010-06-04 Colin Watson <cjwatson@ubuntu.com>
5863
5864 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
5865 "part_" to partmap module names, in line with grub-install.
5866 Reported by: Jindřich Makovička (Debian bug #584426).
5867
9cdfe32f
CW
58682010-06-04 Colin Watson <cjwatson@ubuntu.com>
5869
5870 * util/grub-mkimage.c: Make target-related error messages slightly
5871 more helpful; -O talks about "format". Explicitly point to the use
5872 of -O if no target is specified.
5873 Reported by: Didier Raboud (Debian bug #584415).
5874
795b593a
CW
58752010-06-03 Colin Watson <cjwatson@ubuntu.com>
5876
5877 * INSTALL: Document several build requirements for optional features
5878 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
5879
9d9b5833
GS
58802010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5881
5882 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
5883 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
5884 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
5885
0819fec8
CW
58862010-06-02 Colin Watson <cjwatson@ubuntu.com>
5887
5888 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
5889 Thanks to Jordan Uggla for spotting this.
5890
49396b4f
VS
58912010-06-02 Aleš Nesrsta <starous@volny.cz>
5892
5893 Finally make USB usable.
5894
5895 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
5896 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
5897 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
5898 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
5899 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
5900 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
5901 (GRUB_OHCI_FSMPS): Likewise.
5902 (GRUB_OHCI_PERIODIC_START): Likewise.
5903 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
5904 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
5905 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
5906 (GRUB_OHCI_SET_PORT_RESET): Likewise.
5907 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
5908 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
5909 (grub_ohci_transaction): Likewise.
5910 (grub_ohci_transfer): Improve condition detection algorithms.
5911 Handle toggle property. Program the transactions correctly.
5912 Improve error handling. Various important fixups.
5913 (grub_ohci_portstatus): Put register writes in right order.
5914 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
5915 (grub_uhci_transfer): Don't show "failed" message on success.
5916 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
5917 array.
5918 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
5919 determine its size.
5920 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
5921 before initialization is completed. Use IN direction for empty
5922 transfers. Use last_trans and compute toggle.
5923 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
5924 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
5925 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
5926 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
5927 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
5928 (grub_usb_device): Increase toggle to 256.
5929 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
5930 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
5931 GRUB_USBMS_SUBCLASS_SFF8070.
5932 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
5933 (grub_scsi_inquiry): New member page and alloc_length.
5934 (grub_scsi_request_sense): New structure.
5935 (grub_scsi_request_sense_data): Likewise.
5936 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
5937 control.
5938 * disk/scsi.c (grub_scsi_request_sense): New function.
5939 (grub_scsi_test_unit_ready): Likewise.
5940 (grub_scsi_inquiry): Fill new fields.
5941 (grub_scsi_read_capacity): Likewise.
5942 (grub_scsi_read10): Add request sense at the end.
5943 (grub_scsi_read12): Likewise.
5944 (grub_scsi_write10): Likewise.
5945 (grub_scsi_write12): Likewise.
5946 (grub_scsi_open): Add Test Unit Ready.
5947 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
5948 Support additional subclasses. Con't clear halt yet. Activate the
5949 proper config. Calculate LUNs correctly.
5950 (grub_usbms_transfer): Various important fixups.
5951
59522010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
5955 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
5956 (grub_ohci_fini_hw): New function.
5957 (grub_ohci_restore_hw): Likewise.
5958 (GRUB_MOD_INIT(ohci)): Register preboot hook.
5959 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
5960 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
5961
59622010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 Dedicated DMA allocations.
5965
5966 * bus/pci.c (grub_memalign_dma32): New function
5967 (grub_dma_free): Likewise.
5968 (grub_dma_get_virt): Likewise.
5969 (grub_dma_get_phys): Likewise.
5970 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
5971 (grub_ohci_pci_iter): Use dma32_alloc.
5972 (grub_ohci_transfer): Likewise.
5973 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5974 (grub_usb_bulk_readwrite): Likewise.
5975 * include/grub/pci.h: Add declarations.
5976
59772010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 CS5536 support.
5980
5981 * bus/cs5536.c: New file.
5982 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
5983 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
5984 (cs5536_mod_SOURCES): New variable.
5985 (cs5536_mod_CFLAGS): Likewise.
5986 (cs5536_mod_LDFLAGS): Likewise.
5987 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
5988 machine/pci.h.
5989 (kernel_img_SOURCES): Add bus/cs5536.c.
5990 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
5991 usb_keyboard.mod.
5992 (usb_mod_SOURCES): New variable.
5993 (usb_mod_CFLAGS): New variable.
5994 (usb_mod_LDFLAGS): New variable.
5995 (usbtest_mod_SOURCES): New variable.
5996 (usbtest_mod_CFLAGS): New variable.
5997 (usbtest_mod_LDFLAGS): New variable.
5998 (ohci_mod_SOURCES): New variable.
5999 (ohci_mod_CFLAGS): New variable.
6000 (ohci_mod_LDFLAGS): New variable.
6001 (usbms_mod_SOURCES): New variable.
6002 (usbms_mod_CFLAGS): New variable.
6003 (usbms_mod_LDFLAGS): New variable.
6004 (usb_keyboard_mod_SOURCES): New variable.
6005 (usb_keyboard_mod_CFLAGS): New variable.
6006 (usb_keyboard_mod_LDFLAGS): New variable.
6007 * include/grub/smbus.h: New file.
6008 * include/grub/cs5536.h: New file.
6009
0b35b2a9
CW
60102010-06-02 Colin Watson <cjwatson@ubuntu.com>
6011
6012 * util/grub.d/00_header.in: Add safety check to make sure that
6013 ${locale_dir} exists before trying to probe it.
6014
ca0afd5b
CW
60152010-06-02 Colin Watson <cjwatson@ubuntu.com>
6016
6017 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
6018 per the GNU Coding Standards; this is now too obscure to be worth
6019 documenting.
6020 (QNX): Likewise.
6021 (chainloader): Remove cross-reference to `SCO UnixWare'.
6022
1c41aa78
CW
60232010-06-02 Colin Watson <cjwatson@ubuntu.com>
6024
6025 * docs/grub.texi (Chain-loading): New section.
6026 (DOS/Windows): New section, borrowed from GRUB Legacy with details
6027 adjusted for GRUB 2.
6028 (SCO UnixWare): Likewise.
6029 (QNX): Likewise.
6030 (chainloader): Add reference to `Block list syntax'.
6031 (drivemap): New section.
6032 (parttool): New section.
6033
bb8ea0f5
CW
60342010-06-02 Colin Watson <cjwatson@ubuntu.com>
6035
6036 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
6037 the grub shell'.
6038 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
6039 (Installing GRUB using grub-install): Remove reference to the grub
6040 shell; mention `grub-mkimage' and `grub-setup' instead.
6041 (Invoking grub-install): Likewise.
6042 (Interface): Add reference to `Menu entry editor'.
6043 (serial): Remove `--device' option.
6044
288dd6ed
CW
60452010-06-02 Colin Watson <cjwatson@ubuntu.com>
6046
6047 * docs/grub.texi (Configuration): New section, documenting
6048 configuration file generation using grub-mkconfig. I've left a slot
6049 for documenting the full shell scripting format but have not yet
6050 started on writing that up.
6051 (Invoking grub-mkconfig): New section.
6052
34c9f0e9
CW
60532010-06-02 Colin Watson <cjwatson@ubuntu.com>
6054
6055 * docs/grub.texi (direntry): Remove grub-terminfo reference.
6056 (GNU GRUB manual): Likewise.
6057 (General commands): Update description of `terminfo' for GRUB 2.
6058
9121567e
CW
60592010-06-02 Colin Watson <cjwatson@ubuntu.com>
6060
6061 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
6062 (GRUB_MOD_INIT): Fix capitalisation.
6063 * docs/grub.texi (Command-line and menu entry commands): Document
6064 gettext and gptsync commands.
6065
ab631611
CW
60662010-06-02 Colin Watson <cjwatson@ubuntu.com>
6067
6068 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
6069 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
6070
bde4a9ac
CW
60712010-06-01 Colin Watson <cjwatson@ubuntu.com>
6072
6073 Add btrfs probing support, currently only in the single-device case.
6074
6075 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
6076 function.
6077 (grub_guess_root_device): Call find_root_device_from_mountinfo
6078 before looking in /dev.
6079
b1d17e10
VS
60802010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
6083 GRUB_DISK_SIZE_UNKNOWN.
6084 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
6085
dfbfe004
JS
60862010-05-31 Jiro SEKIBA <jir@unicus.jp>
6087
6088 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
6089 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
6090 corrupted or not synced properly.
6091
c2ffc8e9
VS
60922010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
6095 Reported by: Seth Goldberg.
6096
56293166
VS
60972010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
6100 addition of dest.
6101 Reported by: Seth Goldberg.
6102
7620e7de
VS
61032010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
6106 Reported by: Seth Goldberg.
6107
c837af3f
VS
61082010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
6111 64-bit address as signed on MIPS.
6112
c7c75cf4
CW
61132010-05-28 Colin Watson <cjwatson@ubuntu.com>
6114
6115 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
6116 to the empty string.
6117
fa4b8490
BC
61182010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
6119
6120 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
6121
6122 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
6123 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
6124 * kern/misc.c (__enable_execute_stack): Disable on
6125 GRUB_MACHINE_EMU.
6126
a33075b9
CW
61272010-05-28 Colin Watson <cjwatson@ubuntu.com>
6128
6129 Make grub-probe work with symbolic links under /dev/mapper as well
6130 as with real block devices. The Linux world seems to be (at best)
6131 in transition here, and GRUB shouldn't get caught in the middle.
6132
6133 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
6134 /dev/mapper.
6135
d8708134
CW
61362010-05-27 Colin Watson <cjwatson@ubuntu.com>
6137
6138 * util/grub-script-check.c (main): Ensure defined behaviour on empty
6139 input files (in which case exit zero).
6140
db2102a0
CW
61412010-05-27 Colin Watson <cjwatson@ubuntu.com>
6142
6143 * kern/emu/misc.c (canonicalize_file_name): realpath can still
6144 return NULL for various reasons even if it has a maximum-length
6145 buffer: for example, there might be a symlink loop, or the path
6146 might exceed PATH_MAX. If this happens, return NULL.
6147
5fdba519
RM
61482010-05-27 Robert Millan <rmh@gnu.org>
6149
6150 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
6151 partmap module to handle cross-partmap setups.
6152 Reported by Orestes Mas. Gràcies!
6153
d1d368e4
CW
61542010-05-27 Colin Watson <cjwatson@ubuntu.com>
6155
6156 * util/grub-mkrescue.in: Initialise override_dir rather than
6157 assuming that it's unset or empty in the environment.
6158
95ac3c73
GS
61592010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
6160
6161 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
6162 variable index into p_index to suppress a warning with -Wshadow.
6163
7d8c0213
BC
61642010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
6165
6166 * INSTALL: Added flex >= 2.5.35 requirement.
6167
db4d5813
VS
61682010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
6171
f24f4300
VS
61722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 cmostest support.
6175
6176 * commands/i386/cmostest.c: New file.
6177 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
6178 (cmostest_mod_SOURCES): New variable.
6179 (cmostest_mod_CFLAGS): Likewise.
6180 (cmostest_mod_LDFLAGS): Likewise.
6181 * conf/i386-pc.rmk: Likewise.
6182 * docs/grub.texi (Vendor power-on keys): New section.
6183 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
6184 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
6185 and GRUB_BUTTON_CMOS_ADDRESS.
6186 * util/grub.d/00_header.in: Handle powering-on by separate button.
6187
ad603f61
VS
61882010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
6191 Removed drawing_scrollbar argument. All users updated
6192 Fixes #29792.
6193 Reported by Jo Shields
6194
3ecb080a
VS
61952010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
6198 buffer since gfxterm handles double repaint.
6199
5f2316c1
VS
62002010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
6203 * term/gfxterm.c (real_scroll): Likewise.
6204
9a25f885
VS
62052010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
6208 before calling BIOS.
6209
39fbb79a
VS
62102010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * include/grub/i18n.h: Always enable grub_gettext.
6213
228cfa97
VS
62142010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
6217 partition naming style.
6218
21717c8f
CW
62192010-05-21 Colin Watson <cjwatson@ubuntu.com>
6220
6221 * util/grub-mkconfig.in: Fix handling of -o so that it works when
6222 not the first option.
6223
c0f48e65
CW
62242010-05-20 Colin Watson <cjwatson@ubuntu.com>
6225
6226 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
6227
96779aec
CW
62282010-05-20 Colin Watson <cjwatson@ubuntu.com>
6229
6230 * util/misc.c: Move inclusion of <limits.h> to ...
6231 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
6232
fa9d256e
GS
62332010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
6234
6235 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
6236 Fix merge error in NetBSD code.
6237 (find_partition_start) [__NetBSD__]: Likewise.
6238
123b7a85
BC
62392010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
6240
6241 Fix grub-mkrescue usage unit testing.
6242
6243 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
6244
74276c0d
CF
62452010-05-18 Christian Franke <franke@computer.org>
6246
6247 * util/grub.d/10_windows.in: Use path names instead of
6248 drive letters to prevent warning from Cygwin 1.7.
6249 Add drivemap command to menuentry if needed.
6250
c4f7b523
ST
62512010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
6252
6253 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
6254 gnumach and gnumach.gz.
6255
95b97950
VS
62562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * include/grub/i18n.h (gettext): Inline instead of using #define.
6259 (grub_gettext): Likewise.
6260 (_): Likewise.
6261
01b8d2d7
VS
62622010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
6265 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
6266 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
6267 (main): Add a slash after pkglibdirroot.
6268
654e1d1e
VS
62692010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * util/grub-install.in: Add missing "in" keyword.
6272
26966aeb
VS
62732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
6276 Reported by: Seth Goldberg.
6277
75006747
VS
62782010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
6281
74cbf5bd
CW
62822010-05-18 Colin Watson <cjwatson@ubuntu.com>
6283
6284 * configure.ac: Check for Linux device-mapper support.
6285
6286 * util/hostdisk.c (device_is_mapped): New function.
6287 (find_partition_start): New function, partly broken out from
6288 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
6289 device-mapper support added.
6290 (linux_find_partition): Use find_partition_start.
6291 (convert_system_partition_to_system_disk): Add `st' argument.
6292 Support Linux /dev/mapper/* devices if device-mapper support is
6293 available; only DM-RAID devices are understood at present.
6294 (find_system_device): Add `st' argument. Pass it to
6295 convert_system_partition_to_system_disk.
6296 (grub_util_biosdisk_get_grub_dev): Pass stat result to
6297 find_system_device and convert_system_partition_to_system_disk. Use
6298 find_partition_start.
6299
6300 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
6301 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
6302 * util/deviceiter.c [__linux__]: Define MINOR.
6303 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
6304 * util/mkdevicemap.c (grub_putchar): New function.
6305 (grub_getkey): New function.
6306 (grub_refresh): New function.
6307 (main): Set debug=all if -v -v is used.
6308
355b51e9
CW
63092010-05-18 Colin Watson <cjwatson@ubuntu.com>
6310
6311 Fix build with non-GNU libcs.
6312
6313 * util/misc.c (canonicalize_file_name): Move to ...
6314 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
6315 grub_make_system_path_relative_to_its_root.
6316
7fb5c25f
CW
63172010-05-18 Colin Watson <cjwatson@ubuntu.com>
6318
6319 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
6320 we handle finding grub-mkimage. Default to finding grub-mkimage in
6321 ${bindir} with program_transform_name applied, and provide a
6322 --grub-mkimage option to override this.
6323
1d3293d6
VS
63242010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 Remove grub-mkisofs.
6327
6328 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
6329 (grub_mkisofs_SOURCES): Removed.
6330 (grub_mkisofs_CFLAGS): Removed.
6331 * util/mkisofs/defaults.h: Removed.
6332 * util/mkisofs/eltorito.c: Likewise.
6333 * util/mkisofs/exclude.h: Likewise.
6334 * util/mkisofs/hash.c: Likewise.
6335 * util/mkisofs/include/: Likewise.
6336 * util/mkisofs/include/fctldefs.h: Likewise.
6337 * util/mkisofs/include/mconfig.h: Likewise.
6338 * util/mkisofs/include/prototyp.h: Likewise.
6339 * util/mkisofs/include/statdefs.h: Likewise.
6340 * util/mkisofs/iso9660.h: Likewise.
6341 * util/mkisofs/joliet.c: Likewise.
6342 * util/mkisofs/match.c: Likewise.
6343 * util/mkisofs/match.h: Likewise.
6344 * util/mkisofs/mkisofs.c: Likewise.
6345 * util/mkisofs/mkisofs.h: Likewise.
6346 * util/mkisofs/msdos_partition.h: Likewise.
6347 * util/mkisofs/multi.c: Likewise.
6348 * util/mkisofs/name.c: Likewise.
6349 * util/mkisofs/rock.c: Likewise.
6350 * util/mkisofs/tree.c: Likewise.
6351 * util/mkisofs/write.c: Likewise.
6352
5dde9afe
VS
63532010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 Unify grub-mkimage accross platforms.
6356
6357 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
6358 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
6359 (grub_mkelfimage_SOURCES): Removed.
6360 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
6361 (util/grub-mkimage.c_DEPENDENCIES): .. this.
6362 (bin_UTILITIES): Add grub-mkimage.
6363 (grub_mkimage_SOURCES): New variable.
6364 (kernel_img_HEADERS): Remove machine/kernel.h.
6365 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
6366 (pkglib_PROGRAMS): Add kernel.img.
6367 (kernel_img_HEADERS): Add machine/kernel.h.
6368 (kernel_img_FORMAT): Removed.
6369 (bin_UTILITIES): Remove grub-mkimage.
6370 (grub_mkimage_SOURCES): Removed.
6371 (grub_mkimage_CFLAGS): Likewise.
6372 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6373 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
6374 (pkglib_PROGRAMS): Add kernel.img.
6375 (bin_UTILITIES): Remove grub-mkimage.
6376 (grub_mkimage_SOURCES): Removed.
6377 (grub_mkimage_CFLAGS): Likewise.
6378 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6379 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
6380 (pkglib_PROGRAMS): Add kernel.img.
6381 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
6382 (pkglib_PROGRAMS): Add kernel.img.
6383 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
6384 (grub_mkimage_SOURCES): Removed.
6385 (grub_mkimage_CFLAGS): Likewise.
6386 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6387 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
6388 (pkglib_PROGRAMS): Add kernel.img.
6389 (bin_UTILITIES): Remove grub-mkimage.
6390 (grub_mkimage_SOURCES): Removed.
6391 (grub_mkimage_CFLAGS): Likewise.
6392 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6393 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
6394 (grub_mkimage_SOURCES): Removed.
6395 (grub_mkimage_CFLAGS): Likewise.
6396 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6397 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
6398 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
6399 (grub_pe32_optional_header): ... this.
6400 (grub_pe64_optional_header): ... and this. All users updated.
6401 (GRUB_PE32_PE32_MAGIC): Split into ..
6402 (GRUB_PE32_PE32_MAGIC): .. this.
6403 (GRUB_PE32_PE64_MAGIC): .. and this.
6404 (GRUB_PE32_SIGNATURE_SIZE): New definition.
6405 * include/grub/elf.h (PT_GNU_STACK): New definition.
6406 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
6407 * include/grub/i386/efi/kernel.h: Likewise.
6408 * include/grub/i386/kernel.h: Likewise.
6409 * include/grub/i386/pc/kernel.h: Likewise.
6410 * include/grub/i386/qemu/boot.h: Likewise.
6411 * include/grub/mips/kernel.h: Likewise.
6412 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6413 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6414 * include/grub/powerpc/kernel.h: Likewise.
6415 * include/grub/sparc64/ieee1275/boot.h: Likewise.
6416 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6417 * include/grub/sparc64/kernel.h: Likewise.
6418 * include/grub/x86_64/efi/kernel.h: Likewise.
6419 * include/grub/x86_64/kernel.h: Likewise.
6420 * include/grub/offsets.h: New file.
6421 * include/grub/kernel.h (grub_module_info): Split into ...
6422 (grub_module_info32): ... this.
6423 (grub_module_info64): ... and this.
6424 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
6425 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
6426 (grub_boot_blocklist): Moved from here ...
6427 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
6428 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
6429 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
6430 * include/grub/types.h (grub_target_to_host16): Removed.
6431 (grub_target_to_host32): Likewise.
6432 (grub_target_to_host64): Likewise.
6433 (grub_host_to_target16): Likewise.
6434 (grub_host_to_target32): Likewise.
6435 (grub_host_to_target64): Likewise.
6436 (grub_host_to_target_addr): Likewise.
6437
6438 Support grub-mkrescue for efi, coreboot and qemu.
6439
6440 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
6441 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
6442 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
6443 * util/grub-mkrawimage.c: Moved from here ...
6444 * util/grub-mkimage.c: ... here. All users updated.
6445 (ALIGN_ADDR): Use image_target.
6446 (TARGET_NO_FIELD): New const.
6447 (image_target_desc): New type.
6448 (image_targets): New array.
6449 (grub_target_to_host64): Use image_target.
6450 (grub_target_to_host32): Likewise.
6451 (grub_target_to_host16): Likewise.
6452 (grub_host_to_target64): Likewise.
6453 (grub_host_to_target32): Likewise.
6454 (grub_host_to_target16): Likewise.
6455 (grub_host_to_target_addr): Likewise.
6456 (generate_image): Handle multiimage.
6457 (main): Require -O parameter. All users updated.
6458 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
6459 util/efi/grub-mkimage.c
6460 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
6461 New option --rom-directory.
6462 Use xorriso.
6463 * util/i386/efi/grub-mkimage.c: Removed.
6464 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
6465 (grub_target_to_host32): Likewise.
6466 (grub_target_to_host64): Likewise.
6467 (grub_host_to_target16): Likewise.
6468 (grub_host_to_target32): Likewise.
6469 (grub_host_to_target64): Likewise.
6470 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
6471 (grub_target_to_host32): Likewise.
6472 (grub_target_to_host64): Likewise.
6473 (grub_host_to_target16): Likewise.
6474 (grub_host_to_target32): Likewise.
6475 (grub_host_to_target64): Likewise.
6476
f4fc97d0
BC
64772010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
6478
6479 Source tree is reorganized for emu build.
6480
6481 * include/grub/util/console.h: Move from here...
6482 * include/grub/emu/console.h: ...to here.
6483 * include/grub/util/getroot.h: Move from here...
6484 * include/grub/emu/getroot.h: ...to here.
6485 * include/grub/util/hostdisk.h: Move from here...
6486 * include/grub/emu/hostdisk.h: ...to here.
6487 * util/console.c: Move from here...
6488 * kern/emu/console.c: ...to here.
6489 * util/getroot.c: Move from here...
6490 * kern/emu/getroot.c: ...to here.
6491 * util/grub-emu.c: Move from here...
6492 * kern/emu/main.c: ...to here.
6493 * util/hostdisk.c: Move from here...
6494 * kern/emu/hostdisk.c: ...to here.
6495 * util/hostfs.c: Move from here...
6496 * kern/emu/hostfs.c: ...to here.
6497 * util/mm.c: Move from here...
6498 * kern/emu/mm.c: ...to here.
6499 * util/pci.c: Move from here...
6500 * bus/emu/pci.c: ...to here.
6501 * util/sdl.c: Move from here...
6502 * video/emu/sdl.c: ...to here.
6503 * util/time.c: Move from here...
6504 * kern/emu/time.c: ...to here.
6505 * util/usb.c: Move from here...
6506 * bus/usb/emu/usb.c: ...to here.
6507
6508 * include/grub/emu/misc.h: New header for grub-emu functions.
6509 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
6510
6511 * conf/any-emu.rmk: Rule updates for above renames.
6512 * conf/common.rmk: Likewise.
6513 * conf/i386-pc.rmk: Likewise.
6514 * conf/i386-qemu.rmk: Likewise.
6515 * conf/mips.rmk: Likewise.
6516 * conf/sparc64-ieee1275.rmk: Likewise.
6517 * conf/x86-efi.rmk: Likewise.
6518
6519 * disk/lvm.h: #include updates for above renames.
6520 * util/grub-mkrelpath.c: Likewise.
6521 * util/grub-probe.c: Likewise.
6522 * util/i386/pc/grub-setup.c: Likewise.
6523 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6524 * kern/emu/console.c: Likewise.
6525 * kern/emu/getroot.c: Likewise.
6526 * kern/emu/hostdisk.c: Likewise.
6527 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
6528
6529 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
6530 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
6531 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
6532 * util/misc.c: Remove grub-emu functions.
6533
cced9145
VS
65342010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 Fix gfxmenu crash.
6537 Reported by: Thorsten Grützmacher.
6538
6539 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
6540 timeout hook.
6541 (circprog_set_property): Register and unregister timeout hook.
6542 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
6543 (label_destroy): Free template. and unregister hook.
6544 (label_set_state): New function.
6545 (label_set_property): Handle templates and hooks.
6546 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
6547 timeout hook.
6548 (progress_bar_set_property): Register and unregister timeout hook.
6549 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
6550 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
6551 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
6552 (update_timeout_visit): Removed.
6553 (update_timeouts): New function.
6554 (redraw_timeouts): Likewise.
6555 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
6556 (grub_gfxmenu_clear_timeout): Likewise.
6557 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
6558 (grub_gfxmenu_timeout_notify): Likewise.
6559 (grub_gfxmenu_timeout_notifications): New external variable.
6560 (grub_gfxmenu_timeout_register): New function.
6561 (grub_gfxmenu_timeout_unregister): Likewise.
6562
c6e5caab
VS
65632010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 Transform (broken) vga terminal into (working) vga video driver.
6566
6567 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
6568 video/i386/pc/vga.c.
6569 * include/grub/video.h (grub_video_driver_id):
6570 Add GRUB_VIDEO_DRIVER_VGA.
6571 * term/i386/pc/vga.c: Renamed to ...
6572 * video/i386/pc/vga.c: ...this
6573 (DEBUG_VGA): Removed.
6574 (CHAR_WIDTH): Likewise.
6575 (CHAR_HEIGHT): Likewise.
6576 (TEXT_WIDTH): Likewise.
6577 (TEXT_HEIGHT): Likewise.
6578 (DEFAULT_FG_COLOR): Likewise.
6579 (DEFAULT_BG_COLOR): Likewise.
6580 (colored_char): Likewise.
6581 (xpos): Likewise.
6582 (ypos): Likewise.
6583 (cursor_state): Likewise.
6584 (fg_color): Likewise.
6585 (bg_color): Likewise.
6586 (text_buf): Likewise.
6587 (page): Likewise.
6588 (font): Likewise.
6589 (framebuffer): New variable.
6590 (set_read_map): Disabled.
6591 (setup): New variable.
6592 (is_target): Likewise.
6593 (grub_vga_mod_init): Likewise.
6594 (grub_vga_mod_fini): Likewise.
6595 (check_vga_mem): Likewise.
6596 (write_char): Likewise.
6597 (write_cursor): Likewise.
6598 (scroll_up): Likewise.
6599 (grub_vga_putchar): Likewise.
6600 (grub_vga_getcharwidth): Likewise.
6601 (grub_vga_getwh): Likewise.
6602 (grub_vga_getxy): Likewise.
6603 (grub_vga_gotoxy): Likewise.
6604 (grub_vga_cls): Likewise.
6605 (grub_vga_setcolorstate): Likewise.
6606 (grub_vga_setcursor): Likewise.
6607 (grub_video_vga_init): New function.
6608 (grub_video_vga_setup): Likewise.
6609 (grub_video_vga_fini): Likewise.
6610 (update_target): Likewise.
6611 (grub_video_vga_blit_bitmap): Likewise.
6612 (grub_video_vga_blit_render_target): Likewise.
6613 (grub_video_vga_set_active_render_target): Likewise.
6614 (grub_video_vga_get_active_render_target): Likewise.
6615 (grub_video_vga_swap_buffers): Likewise.
6616 (grub_video_vga_set_palette): Likewise.
6617 (grub_video_vga_get_info_and_fini): Likewise.
6618 (grub_vga_term): Removed.
6619 (grub_video_vga_adapter): New variable.
6620 (GRUB_MOD_INIT): Register a video driver instead of terminal.
6621 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
6622
2bf61a98
VS
66232010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * video/readers/jpeg.c: Indented.
6626
09ddcd11
VS
66272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 Various jpeg cleanups.
6630
6631 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
6632 (grub_jpeg_decode_quan_table): Use sizeof.
6633 (grub_jpeg_decode_du): Use ARRAY_SIZE.
6634
e5507505
PH
66352010-05-05 Peter Hurley <No e-mail available> (tiny change)
6636
6637 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
6638 tables. Ignore non-last ac bit.
6639 (grub_jpeg_decode_quan_table): Likewise.
6640
7e720a9b
VS
66412010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6644 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
6645 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6646 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
6647 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
6648 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
6649
a7fc080b
VS
66502010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
6653 error.
6654
2bf6012d
VS
66552010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
6658
265d68cd
VS
66592010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
6662 condition.
6663
66642010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
6665
6666 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
6667 part.
6668
265d68cd 66692010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
6670
6671 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
6672 pointers.
6673
265d68cd 66742010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
6675
6676 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
6677
d1b61374
CF
66782010-05-01 Christian Franke <franke@computer.org>
6679
6680 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
6681 Remove broken Cygwin path conversion.
6682 * util/misc.c: [__CYGWIN__] Add include and define.
6683 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
6684 for Cygwin 1.7.
6685 (make_system_path_relative_to_its_root): Simplify loop, replace early
6686 return by break.
6687 [__CYGWIN__] Add conversion to win32 path.
6688 Include "/" case in trailing slash removal.
6689
3558c6e9
VS
66902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * kern/main.c (grub_load_config): Fix copy-pasted comment.
6693 Reported by: Seth Goldberg
6694
f5f3ff93
VS
66952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * commands/help.c (grub_cmd_help): Fix a typo.
6698 Reported by: Seth Goldberg
6699
d8b5cd40
VS
67002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
6703 name and add N_.
6704 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
6705 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
6706 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
6707 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
6708 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
6709 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
6710 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6711 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6712 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6713 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6714 * normal/context.c (GRUB_MOD_INIT): Likewise.
6715 * normal/main.c (GRUB_MOD_INIT): Likewise.
6716 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6717 * term/serial.c (GRUB_MOD_INIT): Likewise.
6718 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6719
88c14915
VS
67202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
6723 extra == 0.
6724
165134bc
VS
67252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 * commands/iorw.c: New file.
6728 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
6729 (iorw_mod_SOURCES): New variable.
6730 (iorw_mod_CFLAGS): Likewise.
6731 (iorw_mod_LDFLAGS): Likewise.
6732
c5ac9b32
VS
67332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 Hotkey support
6736
6737 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
6738 * normal/main.c (hotkey_aliases): New variable.
6739 (grub_normal_add_menu_entry): Parse "--hotkey".
6740 * normal/menu_text.c (run_menu): Handle hotkeys.
6741
ce60689c
VS
67422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * kern/i386/coreboot/init.c (grub_machine_init): Call
6745 grub_machine_mmap_init on qemu.
6746
0359d006
VS
67472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * boot/i386/qemu/boot.S: Add a missing .code16.
6750
7819a456
VS
67512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 Use LBIO on coreboot.
6754
6755 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
6756 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
6757 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
6758 New declaration.
6759 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
6760 grub_machine_mmap_init on coreboot.
6761 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
6762 GRUB_LINUXBIOS_MEMBER_LINK.
6763 (grub_machine_mmap_iterate): Fix declaration.
6764 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
6765
7210dca9
VS
67662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 Split coreboot and multiboot ports.
6769
6770 * conf/i386-multiboot.rmk: New file.
6771 * configure.ac: Add multiboot port.
6772 * include/grub/i386/multiboot/boot.h: New file.
6773 * include/grub/i386/multiboot/console.h: Likewise.
6774 * include/grub/i386/multiboot/init.h: Likewise.
6775 * include/grub/i386/multiboot/kernel.h: Likewise.
6776 * include/grub/i386/multiboot/loader.h: Likewise.
6777 * include/grub/i386/multiboot/memory.h: Likewise.
6778 * include/grub/i386/multiboot/serial.h: Likewise.
6779 * include/grub/i386/multiboot/time.h: Likewise.
6780 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
6781 * loader/multiboot.c: Likewise.
6782 * loader/multiboot_mbi2.c: Likewise.
6783 * util/grub-mkrescue.in: Generate multiboot rescue.
6784
6f8aaf68
VS
67852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6786
3080f7a7
VS
6787 * kern/parser.c (grub_parser_execute): Cope with read-only config.
6788
67892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
6792
6793 * commands/terminal.c (abstract_terminal): New struct.
6794 (handle_command): New function. Based on grub_cmd_terminal_input.
6795 (grub_cmd_terminal_input): Use handle_command.
6796 (grub_cmd_terminal_output): Use handle_command.
6797
a8ebb841
BC
67982010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
6799
6800 Fix comment handling.
6801
6802 * tests/grub_script_comments.in: New testcase.
6803 * conf/tests.rmk: Rules for new testcase.
6804 * script/yylex.l: Updated flex rules.
6805
bb06ba08
ST
68062010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
6807
6808 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
6809 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
6810 if argc is 1.
bb06ba08 6811
cc9d2425
VS
68122010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
6815 autogen issues.
6816
460d8402
CF
68172010-04-26 Christian Franke <franke@computer.org>
6818
6819 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
6820 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
6821 (grub_get_prefix): Remove function.
6822 * util/grub-emu.c (main): Replace grub_get_prefix () call by
6823 make_system_path_relative_to_its_root ().
6824 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6825
553c01f9
CF
68262010-04-24 Christian Franke <franke@computer.org>
6827
6828 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
6829 (kernel_img_LDFLAGS): Remove -static-libgcc.
6830
2aec1692
CF
68312010-04-24 Christian Franke <franke@computer.org>
6832
6833 * configure.ac: Do not CHECK_BSS_START_SYMBOL
6834 and CHECK_END_SYMBOL if grub-emu is built.
6835 Unset TARGET_OBJ2ELF if grub-emu is built
6836 without module support.
6837
f67dc308
JS
68382010-04-24 Jiro SEKIBA <jir@unicus.jp>
6839
6840 Nilfs2 support.
6841
6842 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
6843 (grub_fstest_SOURCES): Likewise.
6844 (pkglib_MODULES): Add nilfs2.mod.
6845 (nilfs2_mod_SOURCES): New variable.
6846 (nilfs2_mod_CFLAGS): Likewise.
6847 (nilfs2_mod_LDFLAGS): Likewise.
6848 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6849 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6850 * fs/nilfs2.c: New file.
6851
4ba8d354
VS
68522010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
6855 is not supported.
6856
0d2c20c6
GS
68572010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
6858
6859 Add grub-mkconfig support for NetBSD.
6860
6861 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
6862 * util/grub-mkconfig.in: export new NetBSD specific variables.
6863 * po/POTFILES-shell: added 10_netbsd.in.
6864 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
6865
bc4a2d83
BC
68662010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
6867
6868 Fix emu build with grub-emu-pci and grub-emu-modules.
6869
6870 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
6871 functions.
6872 * include/grub/libpciaccess.h: New file.
6873 * conf/any-emu.rmk: Update kernel headers for emu build.
6874
f48c87aa
VS
68752010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
6878
18959385
VS
68792010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
6882
0037de3f
VS
68832010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
6886 Retrieve chosen/bootpath if bootpath isn't hardcoded.
6887 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
6888 util/ieee1275/ofpath.c.
6889 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
6890 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
6891 * include/grub/sparc64/ieee1275/boot.h
6892 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
6893 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
6894 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
6895 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
6896 const char *.
6897 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
6898 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
6899 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
6900 install.
6901
38e55e90
GS
69022010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6903
6904 * util/grub-mkconfig.in: Corrected two == equality tests.
6905 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
6906 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
6907 expect a number appended to it.
6908 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
6909 expects a number appended to it.
6910
a9e6ff28
VS
69112010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
6914
0b830b8f
VS
69152010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * util/hostdisk.c (make_device_name): Change to new partition naming.
6918
0973daeb
VS
69192010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
6922
460d8402 69232010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
6924
6925 * Makefile.in: Add missing localedir setting.
6926
0b456309
CW
69272010-04-14 Colin Watson <cjwatson@ubuntu.com>
6928
6929 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
6930 mistake in r2156. Noticed by Anthony Fok.
6931
6932 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
6933 @localedir@.
6934 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6935
08f46d62
BC
69362010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
6937
6938 Fix a spurious, uninitialized variable warning.
6939
6940 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
6941 Initialize variable, shdr.
6942 (grub_freebsd_load_elfmodule): Likewise.
6943 (grub_freebsd_load_elf_meta): Likewise.
6944
8c4a72d4
BC
69452010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
6946
6947 Fix for escaped dollar in double quoted strings.
6948
6949 * script/yylex.l: Updated flex rules.
6950 * conf/tests.rmk: Rule for new testcase.
6951 * tests/grub_script_dollar.in: New testcase.
6952
ce44826e
CPE
69532010-04-13 Carles Pina i Estany <carles@pina.cat>
69542010-04-13 Colin Watson <cjwatson@ubuntu.com>
6955
6956 Enclose all translated strings in grub.cfg in single quotes, and
6957 escape them appropriately (Ubuntu bug #552921).
6958
6959 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
6960 * util/grub.d/10_hurd.in: Use it.
6961 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6962 * util/grub.d/10_linux.in (linux_entry): Likewise.
6963
4b0cd8f8
VS
69642010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 Fix cygwin compilation.
6967
6968 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
6969 * include/grub/misc.h (__register_frame_info)
6970 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
6971 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6972 * kern/misc.c (__register_frame_info)
6973 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
6974 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6975
01fcf061
VS
69762010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
6979
5d04b11e
VS
69802010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 Unify libgcc processing.
6983
6984 * Makefile.in (kernel_img_LDFLAGS): New variable.
6985 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
6986 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
6987 overwriting.
6988 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
6989 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
6990 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
6991 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
6992 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
6993 overwriting. Remove -lgcc and -static-libgcc
6994 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
6995 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6996 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6997 (kernel_img_LDFLAGS): Append instead of overwriting.
6998 Remove -lgcc and -static-libgcc
6999 * conf/sparc64-ieee1275.rmk: Likewise.
7000 * include/grub/powerpc/libgcc.h: Move to ...
7001 * include/grub/libgcc.h: .. this.
7002 * include/grub/libgcc.h: Don't export most of the function on x86.
7003 (__bswapsi2): New export.
7004 (__bswapdi2): Likewise.
7005 * include/grub/mips/libgcc.h: Removed.
7006 * include/grub/sparc64/libgcc.h: Likewise.
7007
b7f3ac29
VS
70082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
7011 disk_info_msg (conflicts with gettexting into languages with cases).
7012
2c7031b1
GS
70132010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7014
7015 Add grub-probe support for NetBSD.
7016
7017 * util/getroot.c (find_root_device): Convert block device to
7018 character device on NetBSD.
7019 * util/probe.c (probe): Require character device on NetBSD.
7020 * util/hostdisk.c: NetBSD specific headers.
7021 (configure_device_driver): new function to tune device driver
7022 parameters (currently only for NetBSD floppy driver).
7023 (grub_util_biosdisk_open): NetBSD specific code (get disk size
7024 via disklabel ioctl).
7025 (open_device): call configure_device_driver on NetBSD.
7026 (convert_system_partition_to_system_disk): NetBSD specific code.
7027 (device_is_wholedisk): Likewise.
7028 (grub_util_biosdisk_get_grub_dev): Likewise.
7029 (make_device_name): Fixed a typo in bsd_part_str.
7030 * configure.ac: check for opendisk() and getrawpartition() on
7031 NetBSD and set LIBUTIL.
7032 * Makefile.in: add LIBUTIL to LIBS.
7033
f516290c
BC
70342010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7035
7036 Documentation fix.
7037
7038 * util/grub-script-check.c: Better help message.
7039
d8dcc0df
BC
70402010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7041
7042 Fix FreeBSD build.
7043
7044 * configure.ac: Flex version check.
7045 * conf/common.rmk: Add -Wno-error to sh.mod.
7046 * script/yylex.l: Remove all #pragma.
7047
6734334a
VS
70482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 * include/grub/util/misc.h (canonicalise_file_name): Add missing
7051 prototype.
7052 Reported by: Seth Goldberg.
7053
daea6abd
VS
70542010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
7057 Rename "module" to "module2".
7058 Reported by: Seth Goldberg.
7059
f2fd9d2b
VS
70602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
7063 EXPORT_FUNC.
7064 Reported by: Seth Goldberg.
7065
be124579
VS
70662010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * lib/posix_wrap/locale.h: Add missing file.
7069 Reported by: Seth Goldberg.
7070
ef5da797
VS
70712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 grub-emu module load support.
7074
7075 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
7076 NO_DYNAMIC_MODULES switched to this.
7077 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
7078 (CFLAGS): Likewise.
7079 * conf/any-emu.rmk: Generate symlist.
7080 (kernel_img_HEADERS): Add util/datetime.h.
7081 (kernel_img_HEADERS) [sdl]: Add sdl.h.
7082 (kernel_img_HEADERS) [libusb]: Add libusb.h.
7083 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
7084 kern/$(target_cpu)/cache.S.
7085 * configure.ac (grub-emu-modules): New option.
7086 * genmk.rb: Handle multiple source lists.
7087 * include/grub/sdl.h: New file.
7088 * include/grub/libusb.h: Likewise.
7089 * util/grub-emu.c (main): Hanle (host) root.
7090 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
7091 GRUB_ERR_UNKNOWN_DEVICE.
7092 * util/misc.c: Move mm functions to ...
7093 * util/mm.c: ... here. All users updated.
7094
47822096
VS
70952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
7098 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
7099 missing files.
7100 (maintainer-clean): Remove libgcrypt-grub.
7101
5d7e7445
VS
71022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
7105
25f4e252
EC
71062010-04-09 EFI Coder <eficoder@hotmail.com>
7107
7108 * normal/menu_text.c (print_message): Clean up the message and show
7109 the Fn information when on EFI
7110 * term/efi/console.c (grub_console_checkkey): Add F4 support.
7111
027de555
VS
71122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
7115 All users updated.
7116 * normal/crypto.c (read_crypto_list): Likewise.
7117 * normal/dyncmd.c (read_command_list): Likewise.
7118 * normal/term.c (read_terminal_list): Likewise.
7119 * normal/main.c (read_lists): Use explicit prefix.
7120 (read_lists_hook): Use read_lists.
7121 (grub_normal_execute): Likewise.
7122
47779711
VS
71232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
7126 Reported by: Thomas Schmitt.
7127 Add -no-emul-boot to grub-mkisofs parameters.
7128
1118c32e
VS
71292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * font/font.c: Indented.
7132
7d652447
BC
71332010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7134
7135 Elif support to GRUB script (by Deepak Vankadaru).
7136
7137 * tests/grub_script_if.in: New testcase.
7138 * conf/tests.rmk: Rule for new testcase.
7139 * script/parser.y: Grammar rules for elif.
7140
34bb22df
BC
71412010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7142
7143 While and until loops support to GRUB script.
7144
7145 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
7146 (grub_script_create_cmdwhile): New function prototype.
7147 (grub_script_execute_cmdwhile): New function prototype.
7148 * script/execute.c (grub_script_execute_cmdwhile): New function.
7149 * script/parser.y (command): New commands.
7150 (whilecmd): New grammar rule.
7151 (untilcmd): New grammar rule.
7152 * script/script.c (grub_script_create_cmdwhile): New function.
7153 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
7154 function.
7155
7156 * tests/grub_script_while1.in: New testcase.
7157 * conf/tests.rmk: Rule for new testcase.
7158
e215d8e0
VS
71592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
7162 as *.jpg.
7163
d7c43ba1
MV
71642010-04-09 Mario Vazquez <mariovazq@gmail.com>
7165
7166 GRUB_BACKGROUND support.
7167
7168 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
7169 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
7170
d64795c0
VS
71712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 7174 Idea by: Mario Vazquez
d64795c0
VS
7175
7176 * util/grub.d/00_header.in: Load pf2 and image modules.
7177
f267f83a
VS
71782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 grub-mkconfig multiple terminal support.
7181
7182 * util/grub-mkconfig.in: Handle multiple terminals correctly.
7183 * util/grub.d/00_header.in: Likewise.
7184
b7841ceb
VS
71852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * Makefile.in: Specify files explicitly instead of using $< and $@ since
7188 we use cd $(srcdir).
7189
df60998c
CW
71902010-04-08 Colin Watson <cjwatson@ubuntu.com>
7191
7192 * util/grub.d/10_linux.in: Only use the first word of
7193 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
7194 spaces in GRUB_DISTRIBUTOR.
7195 * util/grub.d/10_kfreebsd.in: Likewise.
7196 * util/grub.d/10_hurd.in: Likewise.
7197
fa09c82e
BC
71982010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
7199
14e18ae3 7200 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
7201
7202 * tests/util/grub-shell.in: Remove -serial stdio option.
7203
daf892b3
BC
72042010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 POSIX header file wrappers.
7207
7208 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
7209 equivalents.
7210 * lib/posix_wrap/ctype.h: Likewise.
7211 * lib/posix_wrap/errno.h: Likewise.
7212 * lib/posix_wrap/langinfo.h: Likewise.
7213 * lib/posix_wrap/limits.h: Likewise.
7214 * lib/posix_wrap/localcharset.h: Likewise.
7215 * lib/posix_wrap/stdint.h: Likewise.
7216 * lib/posix_wrap/stdio.h: Likewise.
7217 * lib/posix_wrap/stdlib.h: Likewise.
7218 * lib/posix_wrap/string.h: Likewise.
7219 * lib/posix_wrap/sys/types.h: Likewise.
7220 * lib/posix_wrap/unistd.h: Likewise.
7221 * lib/posix_wrap/wchar.h: Likewise.
7222 * lib/posix_wrap/wctype.h: Likewise.
7223 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
7224 (grub_script.yy.h): Likewise.
7225 * script/yylex.l: Remove POSIX emulation #defines.
7226 * Makefile.in (POSIX_CFLAGS): New variable.
7227 (GNULIB_UTIL_CFLAGS): Likewise.
7228
7229 Regexp support.
7230
7231 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
7232 (regexp_mod_SOURCES): New variable.
7233 (regexp_mod_CFLAGS): Likewise.
7234 (regexp_mod_LDFLAGS): Likewise.
7235 * commands/regexp.c: New file.
7236 * gnulib/regcomp.c: New file. Imported from gnulib.
7237 * gnulib/regex.c: Likewise.
7238 * gnulib/regex_internal.c: Likewise.
7239 * gnulib/regex_internal.h: Likewise.
7240 * gnulib/regexec.c: Likewise.
7241 * gnulib/regex.h: Likewise.
7242
974ac4f7
VS
72432010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
7246 unsupported video mode types.
7247
2622c3ff
VS
72482010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
7251
064cb524
VS
72522010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
7255 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
7256
a8c3b552
VS
72572010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 Remove unused grub_vga_get_font.
7260
7261 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
7262 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
7263
187bbe3d
GS
72642010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7265
7266 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
7267 * include/grub/misc.h: Likewise.
7268
b9396631
GS
72692010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7270
7271 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
7272 for which failure is fatal.
7273
50479feb
GS
72742010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7275
7276 * util/grub-install.in: Use mkdir -p to create grub directory.
7277 * util/i386/efi/grub-install.in: Likewise.
7278 * util/ieee1275/grub-install.in: Likewise.
7279
b1654fdf
GS
72802010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7281
7282 * Makefile.in (LEX): new variable.
7283
bd5a6415
GS
72842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7285
7286 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
7287 `=' and added double quotes on operands of this equality test.
7288
3db3a82b
VS
72892010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * Makefile.in (uninstall): Remove a leftover debug echo.
7292 Reported by: Grégoire Sutre
7293
38023412
VS
72942010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 MIPS multiboot2 support.
7297
7298 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
7299 (multiboot2_mod_SOURCES): New variable.
7300 (multiboot2_mod_CFLAGS): Likewise.
7301 (multiboot2_mod_LDFLAGS): Likewise.
7302 (multiboot2_mod_ASFLAGS): Likewise.
7303 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
7304 definition.
7305 (MULTIBOOT_ENTRY_REGISTER): Likewise.
7306 (MULTIBOOT_MBI_REGISTER): Likewise.
7307 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
7308 (MULTIBOOT_ELF32_MACHINE): Likewise.
7309 (MULTIBOOT_ELF64_MACHINE): Likewise.
7310 * include/grub/mips/multiboot.h: New file.
7311 * include/grub/video.h (grub_video_driver_id): New type
7312 GRUB_VIDEO_DRIVER_SM712.
7313 (grub_video_get_info_and_fini): Export.
7314 (grub_video_get_palette): Likewise.
7315 (grub_video_get_driver_id): Likewise.
7316 * include/multiboot2.h: Resynced with spec.
7317 * loader/i386/multiboot.c: Moved from here ...
7318 * loader/multiboot.c: ... here. All users updated.
7319 (grub_multiboot_boot): Use platform-specific macros.
7320 * loader/i386/multiboot_elfxx.c: Moved from here ...
7321 * loader/multiboot_elfxx.c: ... here. All users updated.
7322 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
7323 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
7324 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
7325
47674667
VS
73262010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 Import gnulib argp module.
7329
7330 * gnulib/argp-ba.c: New file.
7331 * gnulib/argp-eexst.c: Likewise.
7332 * gnulib/argp-fmtstream.c: Likewise.
7333 * gnulib/argp-fmtstream.h: Likewise.
7334 * gnulib/argp-fs-xinl.c: Likewise.
7335 * gnulib/argp-help.c: Likewise.
7336 * gnulib/argp-namefrob.h: Likewise.
7337 * gnulib/argp-parse.c: Likewise.
7338 * gnulib/argp-pin.c: Likewise.
7339 * gnulib/argp-pv.c: Likewise.
7340 * gnulib/argp-pvh.c: Likewise.
7341 * gnulib/argp-version-etc.c: Likewise.
7342 * gnulib/argp-version-etc.h: Likewise.
7343 * gnulib/argp-xinl.c: Likewise.
7344 * gnulib/argp.h: Likewise.
7345
495442ed
VS
73462010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * kern/device.c (grub_device_iterate): Clear errors after failed
7349 opening device.
7350
f9fd65df
VS
73512010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
7354 returned by firmware.
7355
af09641e
VS
73562010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
7359 compilation on coreboot and qemu
7360
016883a5
VS
73612010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * include/multiboot2.h: Resync with spec.
7364
f97e1f7d
VS
73652010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 Multiboot2 tag support
7368
7369 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
7370 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
7371 Remove loader/multiboot_loader.c.
7372 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
7373 (grub_multiboot2_real_boot): Likewise.
7374 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
7375 (grub_get_multiboot_mmap_count): New proto.
7376 (grub_fill_multiboot_mmap): Likewise.
7377 (grub_multiboot_set_video_mode): Likewise.
7378 (grub_multiboot_set_console): Likewise.
7379 (grub_multiboot_load): Likewise.
7380 (grub_multiboot_load_elf): Likewise.
7381 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
7382 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
7383 * include/multiboot.h: Resynced with specification.
7384 * include/multiboot2.h: Resynced with specification.
7385 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
7386 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
7387 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
7388 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
7389 users updated.
7390 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
7391 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
7392 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
7393 Removed.
7394 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
7395 Moved from here...
7396 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
7397 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7398 Moved from here...
7399 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
7400 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
7401 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
7402 All users updated.
7403 * loader/i386/multiboot_mbi2.c: New file.
7404
3506b90b
VS
74052010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 Resync with gnulib.
7408
7409 * Makefile.in (GNULIB_CFLAGS): New variable.
7410 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
7411 (grub_script_check_CFLAGS): New variable.
7412 * gnulib/alloca.h: Resync with gnulib.
7413 * gnulib/error.c: Likewise.
7414 * gnulib/error.h: Likewise.
7415 * gnulib/fnmatch.c: Likewise.
7416 * gnulib/fnmatch_loop.c: Likewise.
7417 * gnulib/getdelim.c: Likewise.
7418 * gnulib/getline.c: Likewise.
7419 * gnulib/getopt.c: Likewise.
7420 * gnulib/getopt1.c: Likewise.
7421 * gnulib/getopt_int.h: Likewise.
7422 * gnulib/gettext.h: Likewise.
7423 * gnulib/progname.c: Likewise.
7424 * gnulib/progname.h: Likewise.
7425
394a3120
GS
74262010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
7427
7428 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
7429 which is the case with --disabled-nls.
7430
7431 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7432 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
7433 * util/misc.c: Likewise.
7434 * util/mkisofs/mkisofs.c: Likewise.
7435 * util/mkisofs/mkisofs.h: Likewise.
7436
969d1c78
VS
74372010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 Simplify Apple CC support.
7440
7441 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
7442 Add 0 byte at the end not to have a symbol with empty target.
7443 * mmap/i386/pc/mmap_helper.S: Likewise.
7444 * genmk.rb: Ignore errors 2030 and 2050.
7445 * kern/i386/pc/startup.S: Use LOCAL when possible.
7446
8d2977bb
BC
74472010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
7448
7449 Testcase and the fix for final semicolon on cmdline.
7450
7451 * tests/grub_script_final_semicolon.in: New testcase.
7452 * conf/tests.rmk: Rules for the new testcase.
7453 * script/parser.y: Grammar fix.
7454
a7bd6915
BC
74552010-03-26 BVK Chaitanya <bvk@localhost>
7456
7457 Blank lines testcase for GRUB script.
7458
7459 * tests/grub_script_blanklines.in: New testcase.
7460 * conf/tests.rmk: Rules for the new testcase.
7461
e4ff6628
VS
74622010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 Don't use __FILE__.
7465
7466 * genmk.rb: Add -DGRUB_FILE to all C targets.
7467 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
7468 * include/grub/list.h: Likewise.
7469 * include/grub/misc.h: Likewise.
7470 * include/grub/mm.h: Likewise.
7471 * include/grub/test.h: Likewise.
7472 * kern/mm.c: Likewise.
7473 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7474
6a5cf6b6
VS
74752010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 Sunpc partitions support.
7478
7479 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
7480 (grub_fstest_SOURCES): Likewise.
7481 (pkglib_MODULES): Add part_sunpc.mod.
7482 (part_sunpc_mod_SOURCES): New variable.
7483 (part_sunpc_mod_CFLAGS): Likewise.
7484 (part_sunpc_mod_LDFLAGS): Likewise.
7485 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
7486 * partmap/sunpc.c: New file.
7487
746d9045
BC
74882010-03-26 BVK Chaitanya <bvk@localhost>
7489
7490 For loop support to GRUB script.
7491
7492 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
7493 (grub_script_create_cmdfor): New function prototype.
7494 (grub_script_execute_cmdfor): New function prototype.
7495 * script/execute.c (grub_script_execute_cmdfor): New function.
7496 * script/parser.y (command): New for command.
7497 (forcmd): New grammar rule.
7498 * script/script.c (grub_script_create_cmdfor): New function.
7499 * util/grub-script-check.c (grub_script_execute_cmdfor): New
7500 function.
7501 * tests/grub_script_for1.in: New testcase.
7502 * conf/tests.rmk: Rules for new testcase.
7503
18486b18
VS
75042010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 Nested partitions
7507
7508 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
7509 'partition' is NULL, grub_partition_get_start already does that.
7510 * commands/loadenv.c (check_blocklists): Likewise.
7511 (write_blocklists): Likewise.
7512 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
7513 (grub_fstest_SOURCES): Likewise.
7514 (pkglib_MODULES): Add part_bsd.mod.
7515 (part_bsd_mod_SOURCES): New variable.
7516 (part_bsd_mod_CFLAGS): Likewise.
7517 (part_bsd_mod_LDFLAGS): Likewise.
7518 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
7519 (grub_emu_SOURCES): Likewise.
7520 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7521 * include/grub/bsdlabel.h: New file.
7522 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
7523 'get_name'.
7524 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
7525 (grub_partition_map_list): New variable.
7526 (grub_partition_map_register): Inline.
7527 (grub_partition_map_unregister): Likewise.
7528 (FOR_PARTITION_MAPS): New macro.
7529 (grub_partition_map_iterate): Removed.
7530 (grub_partition_get_start): Handle nested partitions.
7531 * include/grub/msdos_partition.h: Remove bsd-related entries.
7532 (grub_pc_partition): Remove.
7533 * kern/disk.c (grub_disk_close): Free partition data.
7534 (grub_disk_adjust_range): Handle nested partitions.
7535 * kern/partition.c (grub_partition_map_probe): New function.
7536 (grub_partition_probe): Parse name to number, handle subpartitions.
7537 (get_partmap): New function.
7538 (grub_partition_iterate): Handle subpartitions.
7539 (grub_partition_get_name): Likewise.
7540 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
7541 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
7542 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
7543 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
7544 Set 'number'.
7545 (acorn_partition_map_probe): Remove.
7546 (acorn_partition_map_get_name): Likewise.
7547 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
7548 Set 'number'.
7549 Set 'index' to 0 since there can be only one partition entry per sector.
7550 (amiga_partition_map_probe): Remove.
7551 (amiga_partition_map_get_name): Likewise.
7552 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
7553 Set 'number'.
7554 Set 'offset' and 'index' to real positions of partitions.
7555 (apple_partition_map_probe): Remove.
7556 (apple_partition_map_get_name): Likewise.
7557 * partmap/bsdlabel.c: New file.
7558 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
7559 Set 'number'.
7560 Allocate 'data' so it can be correctly freed.
7561 Set 'index' to offset inside sector.
7562 (gpt_partition_map_probe): Remove.
7563 (gpt_partition_map_get_name): Likewise.
7564 * partmap/msdos.c (grub_partition_parse): Remove.
7565 (pc_partition_map_iterate): Don't force raw access.
7566 Set 'number'.
7567 Make 'ext_offset' a local variable.
7568 (pc_partition_map_probe): Remove.
7569 (pc_partition_map_get_name): Remove.
7570 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
7571 Set 'number'.
7572 (sun_partition_map_probe): Remove.
7573 (sun_partition_map_get_name): Likewise.
7574 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
7575 (grub_pcpart_type): Likewise.
7576 * util/hostdisk.c (open_device): Handle new numbering scheme.
7577 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
7578 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
7579 * util/grub-probe.c (probe_partmap): Handle nested paritions.
7580 * util/grub-install.in: Insert all subpartition modules.
7581 * util/ieee1275/grub-install.in: Likewise.
7582
a3940f88
AG
75832010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
7584
7585 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
7586 grammar.
7587
21b99926 75882010-03-24 Colin Watson <cjwatson@ubuntu.com>
7589
7590 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
7591
bed1d352
CW
75922010-03-21 Colin Watson <cjwatson@ubuntu.com>
7593
7594 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
7595 match where 'make install' puts them.
7596 * util/i386/efi/grub-install.in: Likewise.
7597
c9f58427
CW
75982010-03-19 Colin Watson <cjwatson@ubuntu.com>
7599
7600 * .bzrignore: Add gentrigtables, grub-script-check,
7601 grub_script_check_init.c, grub_script_check_init.h, and
7602 trigtables.c.
7603
f84afb27
VS
76042010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * kern/parser.c: Indented.
7607
ed0e3d30
VS
76082010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
7611
0ea81d98
VS
76122010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
7615 alpha_mask_size == 0 case.
7616
0cdc2a09
BC
76172010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
7618
7619 GRUB shell lexer and parser improvements.
7620
7621 * conf/any-emu.rmk: Build rule updates.
7622 * conf/common.rmk: Likewise.
7623 * conf/i386-coreboot.rmk: Likewise.
7624 * conf/i386-efi.rmk: Likewise.
7625 * conf/i386-ieee1275.rmk: Likewise.
7626 * conf/i386-pc.rmk: Likewise.
7627 * conf/powerpc-ieee1275.rmk: Likewise.
7628 * conf/x86_64-efi.rmk: Likewise.
7629
7630 * configure.ac: Configure check for flex.
7631
7632 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
7633 types.
7634 (grub_lexer_param): Struct member updates.
7635 (grub_parser_param): Likewise.
7636 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
7637 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
7638 (grub_script_lexer_init): Prototype update.
7639 (grub_script_lexer_record_start): Likewise.
7640 (grub_script_lexer_record_stop): Likewise.
7641 (grub_script_lexer_yywrap): New function prototype.
7642 (grub_script_lexer_fini): Likewise.
7643 (grub_script_execute_argument_to_string): Removed by...
7644 (grub_script_execute_argument_to_argv): ...better version.
7645
7646 * script/execute.c (ROUND_UPTO): New macro.
7647 (grub_script_execute_cmdline): Out of memory fixes.
7648 (grub_script_execute_menuentry): Likewise.
7649 (grub_script_execute_argument_to_string): Removed. Update all
7650 users by...
7651 (grub_script_execute_argument_to_argv): ...better version.
7652 * script/function.c (grub_script_function_create): Use
7653 grub_script_execute_argument_to_argv instead of
7654 grub_script_execute_argument_to_string.
7655
7656 * script/lexer.c (check_varstate): Removed.
7657 (check_textstate): Removed.
7658 (grub_script_lexer_record_start): Likewise.
7659 (grub_script_lexer_record_stop): Likewise.
7660 (recordchar): Replaced with...
7661 (grub_script_lexer_record): ...new function.
7662 (nextchar): Removed.
7663 (grub_script_lexer_init): Rewritten.
7664 (grub_script_yylex): Rewritten.
7665 (append_newline): New function.
7666 (grub_script_lexer_yywrap): New function.
7667 (grub_script_lexer_fini): New function.
7668 (grub_script_yyerror): Sets error flag.
7669
7670 * script/yylex.l: New file.
7671 (grub_lexer_yyfree): Wrapper for flex yyffre.
7672 (grub_lexer_yyalloc): Likewise.
7673 (grub_lexer_yyrealloc): Likewise.
7674 * script/parser.y: Refactored.
7675
7676 * script/script.c (grub_script_arg_add): Out of memory fixes.
7677 (grub_script_add_arglist): Likewise.
7678 (grub_script_create_cmdline): Likewise.
7679 (grub_script_create_cmdmenu): Likewise.
7680 (grub_script_add_cmd): Likewise.
7681 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
7682 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
7683 unnecessary code.
7684
7685 * tests/grub_script_echo1.in: New testcase.
7686 * tests/grub_script_vars1.in: New testcase.
7687 * tests/grub_script_echo_keywords.in: New testcase.
7688
1d63a066
VS
76892010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 Remove some redundancy in build system.
7692
7693 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
7694 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
7695 (TARGET_LDFLAGS): Add -nostdlib.
7696 (TARGET_IMG_LDFLAGS): Likewise.
7697 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
7698 anything since mmap isn't available.
7699 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
7700 Add util/time.c.
7701 (pkglib_MODULES): Remove reboot.mod.
7702 (reboot_mod_SOURCES): Removed.
7703 (reboot_mod_CFLAGS): Likewise.
7704 (reboot_mod_LDFLAGS): Likewise.
7705 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
7706 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
7707 (DEFSYMFILES): Add kernel_syms.lst.
7708 (kernel_img_HEADERS): Add common headers.
7709 (symlist.c): New target.
7710 (kernel_syms.lst): Likewise.
7711 (pkglib_MODULES): Add memdisk.mod.
7712 (memdisk_mod_SOURCES): New variable.
7713 (memdisk_mod_CFLAGS): Likewise.
7714 (memdisk_mod_LDFLAGS): Likewise.
7715 (pkglib_MODULES): Add reboot.mod.
7716 (reboot_mod_SOURCES): New variable.
7717 (reboot_mod_CFLAGS): Likewise.
7718 (reboot_mod_LDFLAGS): Likewise.
7719 (pkglib_MODULES): Add date.mod.
7720 (date_mod_SOURCES): New variable.
7721 (date_mod_CFLAGS): Likewise.
7722 (date_mod_LDFLAGS): Likewise.
7723 (pkglib_MODULES): Add datehook.mod.
7724 (datehook_mod_SOURCES): New variable.
7725 (datehook_mod_CFLAGS): Likewise.
7726 (datehook_mod_LDFLAGS): Likewise.
7727 (pkglib_MODULES): Add lsmmap.mod.
7728 (lsmmap_mod_SOURCES): New variable.
7729 (lsmmap_mod_CFLAGS): Likewise.
7730 (lsmmap_mod_LDFLAGS): Likewise.
7731 (pkglib_MODULES): Add boot.mod.
7732 (boot_mod_SOURCES): New variable.
7733 (boot_mod_CFLAGS): Likewise.
7734 (boot_mod_LDFLAGS): Likewise.
7735 * conf/i386-coreboot.rmk: Removed redundant parts.
7736 * conf/i386-ieee1275.rmk: Likewise.
7737 * conf/i386-pc.rmk: Likewise.
7738 * conf/mips-yeeloong.rmk: Likewise.
7739 * conf/mips.rmk: Likewise.
7740 * conf/powerpc-ieee1275.rmk: Likewise.
7741 * conf/sparc64-ieee1275.rmk: Likewise.
7742 * conf/x86_64-efi.rmk: Likewise.
7743 * conf/i386-coreboot.rmk: Moved qemu parts ..
7744 * conf/i386-qemu.rmk: ... here
7745 * conf/i386-efi.rmk: Moved common parts to...
7746 * conf/x86-efi.rmk: ... here.
7747 * conf/i386.rmk: Added modules common to all x86 variants.
7748 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
7749 * disk/memdisk.c: Remove grub/machine/kernel.h.
7750 * gensymlist.sh.in: Include symbol.h.
7751 * hook/datehook.c: Correct module name.
7752 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
7753 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
7754 * include/grub/i386/efi/serial.h: New file.
7755 * include/grub/x86_64/efi/serial.h: Likewise.
7756 * util/time.c: Likewise.
7757 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
7758
463ac55f
CK
77592010-03-14 Colin King <colin.king@ubuntu.com>
77602010-03-14 Colin Watson <cjwatson@ubuntu.com>
7761
7762 Shrink the pre-partition-table part of boot.img by eight bytes.
7763
7764 * boot/i386/pc/boot.S (ERR): New macro.
7765 (chs_mode): Use ERR.
7766 (geometry_error): Likewise.
7767 (hd_probe_error): Remove. This is only used once, so we wrwite
7768 it inline instead.
7769 (read_error): Instead of printing read_error_string, just set up
7770 %si and fall through to ...
7771 (error_message): ... this new function, also used by ERR.
7772
08e46ede
CW
77732010-03-14 Colin Watson <cjwatson@ubuntu.com>
7774
7775 Speed up consecutive hostdisk operations on the same device.
7776
7777 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
7778 (grub_util_biosdisk_open): Initialise disk->data.
7779 (struct linux_partition_cache): New structure.
7780 (linux_find_partition): Cache partition start positions; these are
7781 expensive to compute on every read and write.
7782 (open_device): Cache open file descriptor in disk->data, so that we
7783 don't have to reopen it and flush the buffer cache for consecutive
7784 operations on the same device.
7785 (grub_util_biosdisk_close): New function.
7786 (grub_util_biosdisk_dev): Set `close' member.
7787
7788 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
7789 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
7790 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7791 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7792 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
7793
4a6d2d06
VS
77942010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 Compile parts of grub-emu as modules.
7797
7798 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
7799 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
7800 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
7801 (all-local): Add $(GRUB_EMU).
7802 (install-local): Install $(GRUB_EMU).
7803 (uninstall): Uninstall $(GRUB_EMU).
7804 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
7805 * kern/dl.c: Likewise.
7806 * commands/sleep.c: Not include machine/time.h.
7807 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
7808 (COMMON_CFLAGS): Likewise.
7809 (sbin_UTILITIES): Remove grub-emu.
7810 (grub_emu_SOURCES): Removed.
7811 (kernel_img_RELOCATABLE): New variable.
7812 (pkglib_PROGRAMS): Add kernel.img.
7813 (kernel_img_SOURCES): New variable
7814 (kernel_img_CFLAGS): Likewise.
7815 (kernel_img_LDFLAGS): Likewise.
7816 (TARGET_NO_STRIP): Likewise.
7817 (TARGET_NO_DYNAMIC_MODULES): Likewise.
7818 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
7819 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
7820 (grub-emu): New target.
7821 (GRUB_EMU): New variable.
7822 * configure.ac: Whitelist -emu as possible x86_64 architecture.
7823 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
7824 * loader/xnu.c: Likewise.
7825 * include/grub/pci.h: Likewise.
7826 * genemuinit.sh: New file.
7827 * genemuinitheader.sh: Likewise.
7828 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
7829 Support TARGET_NO_DYNAMIC_MODULES.
7830 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
7831 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
7832 * disk/loopback.c: Likewise.
7833 * font/font_cmd.c: Likewise.
7834 * partmap/acorn.c: Likewise.
7835 * partmap/amiga.c: Likewise.
7836 * partmap/apple.c: Likewise.
7837 * partmap/gpt.c: Likewise.
7838 * partmap/msdos.c: Likewise.
7839 * partmap/sun.c: Likewise.
7840 * parttool/msdospart.c: Likewise.
7841 * term/gfxterm.c: Likewise.
7842 * video/bitmap.c: Likewise.
7843 * video/readers/jpeg.c: Likewise.
7844 * video/readers/png.c: Likewise.
7845 * video/readers/tga.c: Likewise.
7846 * video/video.c: Likewise.
7847 * util/grub-emu.c (read_command_list): Removed.
7848 (main): Don't call util_init_nls.
7849 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
7850 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
7851
91fdd2ed
VS
78522010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
7855 date.mod, datehook.mod.
7856 (datetime_mod_SOURCES): New variable.
7857 (datetime_mod_CFLAGS): Likewise.
7858 (datetime_mod_LDFLAGS): Likewise.
7859 (date_mod_SOURCES): Likewise.
7860 (date_mod_CFLAGS): Likewise.
7861 (date_mod_LDFLAGS): Likewise.
7862 (datehook_mod_SOURCES): Likewise.
7863 (datehook_mod_CFLAGS): Likewise.
7864 (datehook_mod_LDFLAGS): Likewise.
7865 * conf/sparc64-ieee1275.rmk: Likewise.
7866 * lib/ieee1275/datetime.c: New file.
7867
873ccae6
VS
78682010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
7871 (ieee1275_fb_mod_SOURCES): New variable.
7872 (ieee1275_fb_mod_CFLAGS): Likewise.
7873 (ieee1275_fb_mod_LDFLAGS): Likewise.
7874 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
7875 New proto.
7876 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
7877 (HEAP_MAX_ADDR): Likewise.
7878 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
7879 type.
7880 Correct stop condition.
7881 (grub_ieee1275_devices_iterate): New function.
7882 * video/ieee1275.c: New file.
7883
601c97c0
VS
78842010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
7887
7888 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
7889 as scratch.
7890 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
7891 SCRATCH_PAD_DISKBOOT as scratch.
7892 (bootit): Pass Openfirmware pointer in %o4.
7893 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
7894 of 0x200000.
7895 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
7896 with util/grub-mkrawimage.c.
7897 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
7898 * include/grub/aout.h (AOUT_MID_SUN): New definition.
7899 (grub_aout_get_type) [GRUB_UTIL]: Removed.
7900 (grub_aout_load) [GRUB_UTIL]: Likewise.
7901 * include/grub/kernel.h (grub_modules_get_end): New proto.
7902 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
7903 (SCRATCH_PAD_BOOT): New definition.
7904 (SCRATCH_PAD_DISKBOOT): Likewise.
7905 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
7906 * include/grub/sparc64/ieee1275/ieee1275.h
7907 (grub_ieee1275_original_stack): New variable
7908 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
7909 New definition
7910 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
7911 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
7912 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
7913 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
7914 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
7915 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
7916 (grub_platform_image_format_t): New type.
7917 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
7918 * kern/main.c (grub_modules_get_end)
7919 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
7920 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
7921 (codestart): Switch stacks.
7922 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
7923 variable.
7924 (grub_heap_init): Use grub_modules_get_end.
7925 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
7926 stack.
7927 * util/grub-mkrawimage.c (generate_image): Support sparc64.
7928 (main): Likewise.
7929 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
7930
d68b491e
TG
79312010-03-14 Thorsten Glaser <tg@mirbsd.org>
7932
7933 * util/grub-mkrescue.in: Base ISO UUID on UTC.
7934
4e02ed50
MK
79352010-03-08 Matt Kraai <kraai@ftbfs.org>
7936
7937 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
7938 bug #559005).
7939
1f15fc1e
VS
79402010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * genmoddep.awk: Output all missing symbols and not only first.
7943
fce5d8ff
VS
79442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * NEWS: Put the date of 1.98 release.
7947
d1e8a02f
VS
79482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
7951 ft2build.h.
7952
696fd607
VS
79532010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
7956 completition in the middle of string.
7957
33e2e6f3
VS
79582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * util/grub-mkrescue.in: Use mktemp with explicit template.
7961
b1f6d291
VS
79622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
7965
2ac227c7
VS
79662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
7969 right pointer.
7970
8f9a632b
VS
79712010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 Fix FreeBSD compilation.
7974
7975 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
7976 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
7977
60b03859
VS
79782010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
7981
48a5a769
VS
79822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
7985
3ab4bd77
VS
79862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7987
7988 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
7989
d116e0d8
RM
79902010-03-04 Robert Millan <rmh.grub@aybabtu.com>
7991
7992 Support relative image path in theme file.
7993
7994 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
7995 (image_set_property): Handle theme_dir and relative path.
7996
c7ef54aa
VS
79972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 * configure.ac: Alias amd64 to x86_64.
8000
fcee14ed
VS
80012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * NEWS: mention multiboot on EFI.
8004
d0780363
VS
80052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * kern/main.c (grub_load_modules): Handle errors from init functions of
8008 embeded modules.
8009
41168ea4
VS
80102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 * normal/autofs.c (autoload_fs_module): Handle errors.
8013
b54d93ac
VS
80142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 Disable linux.mod on qemu-mips since it's not functional and leads
8017 to compilation failure.
8018
8019 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
8020 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
8021 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
8022 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
8023 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
8024 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
8025 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
8026 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
8027 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
8028 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
8029 Reported by: BVK Chaitanya
8030
fc8345da
JU
80312010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
8032
8033 * INSTALL: Add gettext as a dependency and add qemu to a new section
8034 "Prerequisites for make-check".
8035
4760f979
CF
80362010-03-04 Christian Franke <franke@computer.org>
8037
8038 * util/grub-pe2elf.c: Add missing include "progname.h".
8039
f209b5b2
VS
80402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * normal/crypto.c (read_crypto_list): Fix a typo.
8043 Reported by: Seth Goldberg.
8044
b4b7be98
VS
80452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 8048 Reported by: Seth Goldberg.
b4b7be98 8049
c0ee0385
VS
80502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
8053 ascii.bitmaps.
8054
a8efbf64
VS
80552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 8058 Reported by: Seth Goldberg.
a8efbf64 8059
08dcd913
VS
80602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * util/i386/efi/grub-install.in: Copy gettext files.
8063
c4d0b332
VS
80642010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
8067
c6f2fe52
VS
80682010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 Wait for user entry basing on presence of output rather than on errors.
8071
8072 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
8073 (grub_install_newline_hook): Likewise.
8074 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
8075 * normal/menu.c (show_menu): Check line_counter to determine presence
8076 of output.
8077 * normal/term.c (grub_normal_line_counter): New variable.
8078 (grub_normal_get_line_counter): New function.
8079 (grub_install_newline_hook): Likewise.
8080
5382b1e4
VS
80812010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
8084
5519963b
VS
80852010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * configure.ac: Update version to 1.98.
8088
72b28631
VS
80892010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * util/grub.d/10_linux.in (linux_entry): Don't default to
8092 gfxpayload=keep if Linux doesn't support video handover.
8093
c140a180
VS
80942010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 Don't compile video modules on yeeloong since video subsystem is part
8097 of kernel.
8098
8099 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
8100 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
8101 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
8102 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
8103 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
8104 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
8105 * include/grub/bitmap_scale.h: Likewise.
8106 * include/grub/bufio.h: Likewise.
8107 * include/grub/font.h: Likewise.
8108 * include/grub/gfxterm.h: Likewise.
8109 * include/grub/video.h: Likewise.
8110 * include/grub/vbe.h: Don't include video_fb.h.
8111 * video/i386/pc/vbe.c: Include video_fb.h.
8112 * commands/i386/pc/vbetest.c: Include video.h.
8113
a0ca21c2
CW
81142010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
8115
8116 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
8117 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
8118 default entry if GRUB_SAVEDEFAULT=true. This allows using
8119 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
8120 saving a new default on every boot.
8121
4a8a763c
VS
81222010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * normal/crypto.c (read_crypto_list): Fix a memory leak.
8125 * normal/term.c (read_terminal_list): Likewise.
8126 * normal/main.c (grub_normal_init_page): Likewise.
8127 (grub_normal_read_line_real): Likewise.
8128
607ffde2
VS
81292010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
8132 memory leak.
8133 Reported by: Seth Goldberg.
8134
2b8fa975
CW
81352010-02-24 Joey Korkames <joey+lists@kidfixit.com>
8136
8137 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
8138 duplicate declaration of `start'.
8139
618307dd
VS
81402010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
8143 filename.
8144 Reported by: Georgy Buranov
8145
7dd05b96 81462010-02-20 Carles Pina i Estany <carles@pina.cat>
8147
8148 * util/grub-mkrawimage.c (usage): Change string formatting to
8149 improve gettext.
8150
d1484a42
MRA
81512010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8152
8153 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
8154 backspace keys.
8155
42b1d186
VS
81562010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
8159 Reported by: Michael Suchanek.
8160
81612010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
8162
8163 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
8164 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
8165
d9f31a41
VS
81662010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 Remove any reference to non-free fonts.
8169
8170 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
8171 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
8172 uses non-free components.
8173 * font/font.c (grub_font_get_name): Remove example name.
8174 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
8175 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8176 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
8177 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
8178
2793c71e
GB
81792010-02-16 Georgy Buranov <gburanov@gmail.com>
8180
8181 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
8182
402e3779
VS
81832010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
8186 Double divisor.
8187 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
8188 features.
8189 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
8190
0dd1e0dd
VS
81912010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * gensymlist.sh.in: Use TARGET_CC instead of CC.
8194
6fa7cfce
ST
81952010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8196
8197 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
8198 * docs/grub.texi (Command-line and menu entry commands): Document play
8199 command.
8200
37c8483b
ST
82012010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8202
8203 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
8204 parse arguments as inline tempo and notes. Move code for playing notes
8205 to...
8206 (play): ... new function.
8207
14da0fb7
ST
82082010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8209
8210 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
8211 grub_uint16_t instead of short.
8212 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
8213 disk from little endian to cpu endianness.
8214
04459e70
ST
82152010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
8216
8217 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
8218 GRUB_TICKS_PER_SECOND instead of 120.
8219
a0876943
VS
82202010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
8223 escape sequence after \e.
8224
e29f95dc
VS
82252010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
8228 non-ASCII characters.
8229
d27859b2
VS
82302010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
8233 set root in single quotes to prevent \, from being unescaped.
8234
bc028f2f
VS
82352010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 Prevent unknown commands from stopping menuentry execution.
8238
8239 * script/execute.c (grub_script_execute_cmdline): Print error after
8240 unknown command.
8241
095f5f82
VS
82422010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
8245 Reported by: Pavel Pisa.
8246
8c717950
VS
82472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
8250
904935c3
VS
82512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 Merge grub_ieee1275_map_physical into grub_map and rename to
8254 grub_ieee1275_map
8255
8256 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
8257 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
8258 Remove.
8259 * kern/ieee1275/openfw.c (grub_map): Rename to ...
8260 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
8261 necessary.
8262 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
8263
5b59a4e3
VS
82642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
8267 opening and not after.
8268
69e137e8
VS
82692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
8272 constants.
8273
2c0fcc36
VS
82742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
8277 (alloc_phys): Use ALIGN_UP instead of align_addr.
8278
8c6052ce
VS
82792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
8282
17cec782
VS
82832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
8286
e0128bbd
VS
82872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
8290 verbose dprintf.
8291
ca62070b
VS
82922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 Fix over-4GiB seek on sparc64.
8295
8296 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
8297 Replace pos_i and pos_lo with pos. All users updated.
8298 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8299 New constant.
8300 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8301 Likewise.
8302 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
8303 and pos_lo.
8304
bdca2607
VS
83052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * util/grub-mkrawimage.c (main): Call set_program_name.
8308
da278c4d
VS
83092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 Properly align 64-bit targets.
8312
8313 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
8314 (generate_image): Use ALIGN_ADDR.
8315
b274d734
VS
83162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 Properly create cross-endian images.
8319
8320 * include/grub/types.h (grub_host_to_target_addr): New macro
8321 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
8322
82da2062
VS
83232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
8326
7cae4377
VS
83272010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
8330
8331 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
8332 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
8333 (grub_linux_boot): Divide by 64K when on VESA.
8334
65a533e7
VS
83352010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8336
8337 Support GRUB_GFXPAYLOAD_LINUX.
8338
8339 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
8340 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
8341
dd01d397
VS
83422010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
8345 to show messages instead of discarding them.
8346 Process errors after executing command and not before. Keep old method
8347 too as precaution.
8348
660960d6
VS
83492010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * configure.ac: Check for ft2build.h.
8352
62509f04
VS
83532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
8356
473df63d
VS
83572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * genkernsyms.sh.in: Use TARGET_CC.
8360
c98d2a13
CW
83612010-02-07 Colin Watson <cjwatson@ubuntu.com>
8362
8363 * NEWS: Update.
8364
6e14234c
VS
83652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
8368 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
8369 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 8370
b255e9cf
YB
83712010-02-07 Yves Blusseau <blusseau@zetam.org>
8372
6e14234c 8373 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 8374
98e6959d
VS
83752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 Fix warnings in grub-emu when compiling with maximum warning options.
8378
8379 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
8380 (grub_arch_modules_addr): Return 0 and not NULL.
8381 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 8382 (xstrdup): Use newstr instead of dup.
f88d801b
VS
8383 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
8384 of disk to dsk to avoid shadowing.
74e4934e
VS
8385 (find_free_slot): Fix prototype.
8386 * util/getroot.c (grub_util_is_dmraid): Make static.
8387 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
8388 Add missing prototype.
8389 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 8390
74e31b5c
VS
83912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * loader/i386/linux.c (grub_linux_setup_video): Handle error
8394 appropriately.
8395
6b2ad14b
VS
83962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
8399 code out.
8400
8f891adc
VS
84012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
8404 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
8405 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
8406 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
8407 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
8408 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
8409
74b45184
VS
84102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * include/grub/err.h (grub_err_printf): Don't export.
8413
a4bced77
VS
84142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
8417
007d0695
VS
84182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * include/grub/i18n.h (grub_gettext_dummy): Removed.
8421 * kern/misc.c (grub_gettext_dummy): Make static.
8422
b6c0d9c2
VS
84232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
8426 by non-valid ones.
8427 * kern/term.c (grub_putchar): Likewise.
8428
f51a90d0
VS
84292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
8432 buggy hook call and memory leak.
8433
6846cec5
VS
84342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
8437
468d69fe
VS
84382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
8441
51906b8c
VS
84422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
8445 modevar.
8446 Return grub_errno on allocation error.
8447
09706ce5
VS
84482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
8451
911df80c
YB
84522010-02-06 Yves Blusseau <blusseau@zetam.org>
8453
8454 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
8455 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
8456
3746a6bc
VS
84572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
8460 non-pxe disk.
8461 (grub_pxefs_open): Likewise.
8462
09706ce5
VS
84632010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8464
8465 * util/grub.d/10_hurd.in: Add --class information to menuentries.
8466 * util/grub.d/10_kfreebsd.in: Likewise.
8467 * util/grub.d/10_linux.in: Likewise.
8468
7cc192d9
VS
84692010-02-06 Colin D Bennett <colin@gibibit.com>
8470
8471 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
8472 (gfxmenu_mod_SOURCES): New variable.
8473 (gfxmenu_mod_CFLAGS): Likewise.
8474 (gfxmenu_mod_LDFLAGS): Likewise.
8475 * include/grub/term.h (grub_term_set_current_output): Declare
8476 argument as const.
8477 * docs/gfxmenu-theme-example.txt: New file.
8478 * gfxmenu/gfxmenu.c: Likewise.
8479 * gfxmenu/gui_box.c: Likewise.
8480 * gfxmenu/gui_canvas.c: Likewise.
8481 * gfxmenu/gui_circular_progress.c: Likewise.
8482 * gfxmenu/gui_image.c: Likewise.
8483 * gfxmenu/gui_label.c: Likewise.
8484 * gfxmenu/gui_list.c: Likewise.
8485 * gfxmenu/gui_progress_bar.c: Likewise.
8486 * gfxmenu/gui_string_util.c: Likewise.
8487 * gfxmenu/gui_util.c: Likewise.
8488 * gfxmenu/icon_manager.c: Likewise.
8489 * gfxmenu/model.c: Likewise.
8490 * gfxmenu/named_colors.c: Likewise.
8491 * gfxmenu/theme_loader.c: Likewise.
8492 * gfxmenu/view.c: Likewise.
8493 * gfxmenu/widget-box.c: Likewise.
8494 * include/grub/gfxmenu_model.h: Likewise.
8495 * include/grub/gfxmenu_view.h: Likewise.
8496 * include/grub/gfxwidgets.h: Likewise.
8497 * include/grub/gui.h: Likewise.
8498 * include/grub/gui_string_util.h: Likewise.
8499 * include/grub/icon_manager.h: Likewise.
8500
85012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 Agglomerate scrolling in gfxterm.
8504
8505 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
8506 (grub_virtual_screen_setup): Initialise 'total_screen'.
8507 (write_char): Split to ...
8508 (paint_char): ... this ...
8509 (write_char): ... and this.
8510 (paint_char): Handle delayed scrolling.
8511 (draw_cursor): Likewise.
8512 (scroll_up): Split to ...
8513 (real_scroll): ... this ...
8514 (scroll_up): ... and this.
8515 (real_scroll): Handle multi-line scroll and draw below-the-bottom
8516 characters.
8517 (grub_gfxterm_refresh): Call real_scroll.
8518
85192010-02-06 Colin D Bennett <colin@gibibit.com>
8520
8521 * include/grub/misc.h (grub_iscntrl): New inline function.
8522 (grub_isalnum): Likewise.
8523 (grub_strtol): Likewise.
8524
85252010-02-06 Colin D Bennett <colin@gibibit.com>
8526
8527 * normal/menu_text.c (get_entry_number): Move from here ...
8528 * normal/menu.c (get_entry_number): ... moved here.
8529 * include/grub/menu.h (grub_menu_get_default_entry_index):
8530 New prototype.
8531 * normal/menu.c (grub_menu_get_default_entry_index): New function.
8532 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
8533 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
8534 (grub_menu_viewer_should_return): Likewise.
8535 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
8536 * normal/menu_text.c (run_menu): Enable menu switching.
8537 * normal/menu_viewer.c (should_return): New variable.
8538 (menu_viewer_changed): Likewise.
8539 (grub_menu_viewer_show_menu): Handle menu viewer changes.
8540 (grub_menu_viewer_should_return): New function.
8541 (menuviewer_write_hook): Likewise.
8542 (grub_menu_viewer_init): Likewise.
8543
85442010-02-06 Colin D Bennet <colin@gibibit.com>
85452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 Support for gfxterm in a window.
8548
8549 * include/grub/gfxterm.h: New file.
8550 * include/grub/video.h (struct grub_video_rect): New declaration.
8551 (grub_video_rect_t): Likewise.
8552 * term/gfxterm.c (struct grub_gfxterm_window): New type.
8553 (refcount): New variable.
8554 (render_target): Likewise.
8555 (window): Likewise.
8556 (repaint_callback): Likewise.
8557 (grub_virtual_screen_setup): Use 'render_target'.
8558 (init_window): New function.
8559 (grub_gfxterm_init_window): Likewise.
8560 (grub_gfxterm_init): Check reference counter.
8561 Use init_window.
8562 (destroy_window): New function.
8563 (grub_gfxterm_destroy_window): Likewise.
8564 (grub_gfxterm_fini): Check reference counter.
8565 Use destroy_window.
8566 (redraw_screen_rect): Restore viewport.
8567 Use 'render_target' and 'window'.
8568 Call 'repaint_callback'.
8569 (write_char): Use 'render_target'.
8570 (draw_cursor): Likewise.
8571 (scroll_up): Restore viewport.
8572 Use 'render_target' and 'window'.
8573 Call 'repaint_callback'.
8574 (grub_gfxterm_cls): Likewise.
8575 (grub_gfxterm_refresh): Use 'window'.
8576 (grub_gfxterm_set_repaint_callback): New function.
8577 (grub_gfxterm_background_image_cmd): Use 'window'.
8578 (grub_gfxterm_get_term): New function.
8579 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
8580
85812010-02-06 Colin D Bennett <colin@gibibit.com>
8582
8583 Bitmap scaling support.
8584
8585 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
8586 (bitmap_scale_mod_SOURCES): New variable.
8587 (bitmap_scale_mod_CFLAGS): Likewise.
8588 (bitmap_scale_mod_LDFLAGS): Likewise.
8589 * include/grub/bitmap_scale.h: New file.
8590 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
8591 (background_image_cmd_options): New variable.
8592 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
8593 (cmd): Rename and change type to ...
8594 (background_image_cmd_handle): ... this. All users updated.
8595 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
8596 * video/bitmap_scale.c: New file.
8597
85982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 SDL support.
8601
8602 * Makefile.in (LIBSDL): New variable.
8603 (enable_grub_emu_sdl): Likewise.
8604 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
8605 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
8606 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
8607 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
8608 * util/sdl.c: New file.
8609
86102010-02-06 Colin D Bennett <colin@gibibit.com>
86112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 Double buffering support.
8614
8615 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
8616 * include/grub/video.h: Update comment.
8617 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8618 New type.
8619 (grub_video_fb_doublebuf_blit_init): New prototype.
8620 * term/gfxterm.c (scroll_up): Support double buffering.
8621 (grub_gfxterm_refresh): Likewise.
8622 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
8623 (grub_video_fb_doublebuf_blit_init): Likewise.
8624 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
8625 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
8626 'displayed_page', 'render_page' and 'update_screen'.
8627 (grub_video_vbe_fini): Free offscreen buffer.
8628 (doublebuf_pageflipping_commit): New function.
8629 (doublebuf_pageflipping_update_screen): Likewise.
8630 (doublebuf_pageflipping_init): Likewise.
8631 (double_buffering_init): Likewise.
8632 (grub_video_vbe_setup): Enable doublebuffering.
8633 (grub_video_vbe_swap_buffers): Implement.
8634 (grub_video_vbe_set_active_render_target): Handle double buffering.
8635 (grub_video_vbe_get_active_render_target): Likewise.
8636 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
8637 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
8638 (grub_video_vbe_enable_double_buffering): Likewise.
8639 (grub_video_vbe_swap_buffers): Use update_screen.
8640 (grub_video_set_mode): Use double buffering.
8641
86422010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8643
8644 * maintainance/gentrigtables.py: Remove.
8645 * lib/trig.c: Likewise.
8646
8647 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
8648
8649 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
8650 `trigtables.c'.
8651 (trigtables.c): New rule.
8652 (gentrigtables): Likewise.
8653 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
8654
86552010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8656
8657 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
8658 integer constants.
8659
86602010-02-06 Colin D Bennet <colin@gibibit.com>
8661
8662 Trigonometry support.
8663
8664 * include/grub/trig.h: New file.
8665 * lib/trig.c: Likewise.
8666 * maintainance/gentrigtables.py: Likewise.
8667 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
8668 (trig_mod_SOURCES): New variable.
8669 (trig_mod_CFLAGS): Likewise.
8670 (trig_mod_LDFLAGS): Likewise.
8671
5562834e
VS
86722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
8675 disk devices.
8676
4f8528fc
VS
86772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
8680 error.
8681
2b4068e9
VS
86822010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * util/hostdisk.c (open_device): Don't use partition device when reading
8685 before the partition.
8686 (grub_util_biosdisk_read): Don't read from partition and before the
8687 partition in single operation.
8688 (grub_util_biosdisk_write): Don't write to partition and before the
8689 partition in single operation.
8690
399f6e4d
TL
86912010-02-03 Torsten Landschoff <torsten@debian.org>
8692
8693 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8694 last sectors.
8695
996649b0
VS
86962010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
8699 CDROM reads.
8700 (grub_biosdisk_write): Refuse to write to CDROM.
8701
3b205d4d
VS
87022010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
8705
61e89d9d
VS
87062010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * font/font.c (find_glyph): Check that bmp_idx is available before
8709 using it.
8710 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
8711 with (font == NULL).
8712
bf7fcba2
CS
87132010-01-28 Christian Schmitt <chris@ilovelinux.de>
8714
8715 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
8716
f45d2663
BC
87172010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
8718
8719 * include/grub/script_sh.h (sourcecode): Add const qualifier.
8720 * util/grub-script-check.c (getline): Fix empty lines case.
8721
ec1444e6
RM
87222010-01-28 Robert Millan <rmh.grub@aybabtu.com>
8723
8724 * Makefile.in (check): Exit with fail status when one of the tests
8725 fails.
8726 * tests/example_functional_test.c (example_test): Fix reversed assert.
8727 * tests/example_unit_test.c (example_test): Likewise.
8728
2e1cb9bb
CW
87292010-01-28 Colin Watson <cjwatson@ubuntu.com>
8730
8731 * util/grub.d/10_linux.in: This script does not use any of the
8732 contents of gettext.sh, only the external command `gettext', so stop
8733 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
8734 the same prefix as GRUB.)
8735 * util/grub.d/10_kfreebsd.in: Likewise.
8736
63533ab0
VS
87372010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
8740 of the line.
8741
989e1f93
VS
87422010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8745 last sectors.
8746
e709ebe2
VS
87472010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
8750 having a 4KiB and not 32KiB buffer size.
8751
27dea7ed
RM
87522010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8753
8754 * util/hostfs.c: Include `<errno.h>'.
8755 (grub_hostfs_read): Handle errors from fseeko() and fread().
8756
67667b9c
RM
87572010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8758
8759 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
8760 loop when using read hooks on files whose size isn't sector-aligned.
8761
c294d9d8
RM
87622010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8763
8764 Remove unused parameter.
8765
8766 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
8767 (grub_iso9660_open): Remove initialization of `data->length'.
8768
af75a9f1
RM
87692010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8770
8771 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
8772 memleak conditions.
8773
254e2ce5 87742010-01-27 Carles Pina i Estany <carles@pina.cat>
8775
8776 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
8777 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
8778
b510928c 87792010-01-26 Carles Pina i Estany <carles@pina.cat>
8780
8781 * util/bin2h.c (usage): Fix warning (space after backslash).
8782
aa2f9dd2 87832010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 8784
8785 * font/font.c: Include `grub/fontformat.h.
8786 Remove font file format constants.
8787 (grub_font_load): Use the new macros.
8788 * include/grub/fontformat.h: New file.
8789 * util/grub-mkfont.c: Include `grub/fontformat.c'.
8790 (write_font_pf2): Use the new macros.
8791
94e7e712
RM
87922010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8793
8794 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
8795 does.
8796
3973a59a
RM
87972010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8798
8799 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
8800
8801 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
8802 (_start): Macroify `0x7F'.
8803
8804 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
8805 (make_install_device): Use "(pxe)" as fallback prefix when booting
8806 via PXE.
8807
42e0cba3
GS
88082010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * configure.ac: Reset LIBS after check for libgcc symbols.
8811
847effd8
CW
88122010-01-25 Colin Watson <cjwatson@ubuntu.com>
8813
8814 * util/hostdisk.c (open_device): Add trailing newline to debug
8815 message.
8816
ea4a7e35
GS
88172010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8818
8819 * configure.ac: Check for `limits.h'.
8820 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
8821
67951a53
RM
88222010-01-24 Robert Millan <rmh.grub@aybabtu.com>
8823
8824 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
8825 capitalize error strings.
8826
c273d4ce
ST
88272010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
8828
8829 * util/grub.d/10_hurd.in: Add a recovery mode.
8830
69be5b74
VS
88312010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * configure.ac: Check for libgcc symbols with -nostdlib.
8834
fc9e5810
BC
88352010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
8836
8837 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
8838
4b358c0a
VS
88392010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
8842 stack since heap may be unavailable at that point.
8843 (grub_ofconsole_gotoxy): Likewise.
8844
454fcd1c
VS
88452010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * configure.ac: Check for _restgpr_14_x.
8848 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
8849 and _savegpr_* prototypes.
8850
566863ca
RM
88512010-01-22 Robert Millan <rmh.grub@aybabtu.com>
8852
8853 Use generic grub_reboot() for i386-efi.
8854
8855 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
8856 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
8857 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
8858
bf86e59a
VS
88592010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
8862 presence of "prefix" variable as it breaks when normal.mod is
8863 embedded.
8864
d645e0f8
VS
88652010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
8868 stack since heap is unavailable at that point.
8869
f9ab2e25
VS
88702010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
8873 (grub_freebsd_bootinfo): Rewritten.
8874 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
8875
01fc7054
VS
88762010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
8879
caab4fd6
RM
88802010-01-21 Robert Millan <rmh.grub@aybabtu.com>
8881
8882 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
8883 domain now.
8884
67eb1427
FZ
88852010-01-20 Felix Zielcke <fzielcke@z-51.de>
8886
8887 * util/misc.c (make_system_path_relative_to_its_root): Change the work
8888 around for handling "/" to the correct fix. Fix a memory leak. Use
8889 xstrdup instead of strdup.
8890
a9ed4ff3
VS
88912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
8894
88952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
8896
8897 Optimise glyph lookup by Basic Multilingual Plane lookup array.
8898
8899 * font/font.c (struct grub_font): New member 'bmp_idx'.
8900 (font_init): Initialise 'bmp_idx'.
8901 (load_font_index): Fill 'bmp_idx'.
8902 (find_glyph): Make inline. Use bmp_idx for BMP characters.
8903
48209f4f
VS
89042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
8907 unnecessary calls.
8908
9f0a4bb7
VS
89092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 Move context handling out of the kernel.
8912
8913 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
8914 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
8915 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
8916 * conf/i386-efi.rmk: Likewise.
8917 * conf/i386-ieee1275.rmk: Likewise.
8918 * conf/i386-pc.rmk: Likewise.
8919 * conf/powerpc-ieee1275.rmk: Likewise.
8920 * conf/sparc64-ieee1275.rmk: Likewise.
8921 * conf/x86_64-efi.rmk: Likewise.
8922 * include/grub/env.h: Include grub/menu.h.
8923 (grub_env_var_type): Removed.
8924 (grub_env_var): Replaced field 'type' with 'global'.
8925 (grub_env_find): New prototype.
8926 (grub_env_context_open): Remove EXPORT_FUNC.
8927 (grub_env_context_close): Likewise.
8928 (grub_env_export): Likewise.
8929 (grub_env_set_data_slot): Removed.
8930 (grub_env_get_data_slot): Likewise.
8931 (grub_env_unset_data_slot): Likewise.
8932 (grub_env_unset_menu): New prototype.
8933 (grub_env_set_menu): Likewise.
8934 (grub_env_get_menu): Likewise.
8935 * include/grub/env_private.h: New file.
8936 * include/grub/normal.h (grub_context_init): New prototype.
8937 (grub_context_fini): Likewise.
8938 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
8939 * normal/context.c (grub_cmd_export): ... to here.
8940 * kern/env.c: Include env_private.h.
8941 (HASHSZ): Moved to include/grub/env_private.h.
8942 (grub_env_context): Likewise.
8943 (grub_env_sorted_var): Likewise.
8944 (current_context): Renamed from this ...
8945 (grub_current_context): ...to this. 'static' removed. All users updated.
8946 (grub_env_find): Removed 'static'.
8947 (grub_env_context_open): Moved to normal/context.c.
8948 (grub_env_context_close): Likewise.
8949 (grub_env_export): Likewise.
8950 (mangle_data_slot_name): Removed.
8951 (grub_env_set_data_slot): Likewise.
8952 (grub_env_get_data_slot): Likewise.
8953 (grub_env_unset_data_slot): Likewise.
8954 * kern/main.c (grub_set_root_dev): Don't export root.
8955 It will be done later.
8956 (grub_main): Don't export prefix.
8957 It will be done later.
8958 * normal/context.c: New file.
8959 * normal/main.c (free_menu): Use grub_env_unset_menu.
8960 (grub_normal_add_menu_entry): Use grub_env_get_menu.
8961 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
8962 (GRUB_MOD_INIT(normal)): Call grub_context_init.
8963 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
8964
8dd35b8c
VS
89652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 setpci support.
8968
8969 * commands/setpci.c: New file.
8970 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
8971 (setpci_mod_SOURCES): New variable.
8972 (setpci_mod_CFLAGS): Likewise.
8973 (setpci_mod_LDFLAGS): Likewise.
8974
449193d5
VS
89752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 Byte-addressable PCI configuration space.
8978
8979 * bus/pci.c (grub_pci_make_address): Use byte address instead of
8980 dword address.
8981 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
8982 GRUB_PCI_REG_CACHELINE.
8983 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
8984 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
8985 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
8986 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
8987 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
8988 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
8989 grub_pci_make_address.
8990 (lock_rom_area): Likewise.
8991 * commands/lspci.c (grub_lspci_iter): Use macroses
8992 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
8993 of grub_pci_make_address.
8994 * disk/ata.c (grub_ata_pciinit): Likewise.
8995 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
8996 (GRUB_PCI_REG_VENDOR): Likewise.
8997 (GRUB_PCI_REG_DEVICE): Likewise.
8998 (GRUB_PCI_REG_COMMAND): Likewise.
8999 (GRUB_PCI_REG_STATUS): Likewise.
9000 (GRUB_PCI_REG_REVISION): Likewise.
9001 (GRUB_PCI_REG_CLASS): Likewise.
9002 (GRUB_PCI_REG_CACHELINE): Likewise.
9003 (GRUB_PCI_REG_LAT_TIMER): Likewise.
9004 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
9005 (GRUB_PCI_REG_BIST): Likewise.
9006 (GRUB_PCI_REG_ADDRESSES): Likewise.
9007 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9008 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9009 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9010 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9011 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9012 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9013 (GRUB_PCI_REG_CIS_POINTER): Likewise.
9014 (GRUB_PCI_REG_SUBVENDOR): Likewise.
9015 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
9016 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
9017 (GRUB_PCI_REG_CAP_POINTER): Likewise.
9018 (GRUB_PCI_REG_IRQ_LINE): Likewise.
9019 (GRUB_PCI_REG_IRQ_PIN): Likewise.
9020 (GRUB_PCI_REG_MIN_GNT): Likewise.
9021 (GRUB_PCI_REG_MAX_LAT): Likewise.
9022 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
9023 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
9024 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 9025 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
9026 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
9027 space.
9028
96d73208
RM
90292010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9030
9031 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
9032 can be reliably determined to be supported.
9033
d4484482
RM
90342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9035
9036 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
9037 that VESA is supported.
9038 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
9039 supported.
9040
00308ecf
VS
90412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
9044
f66924a4
RM
90452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9046
9047 * util/misc.c (make_system_path_relative_to_its_root): Work around
9048 special-casing of "/", as previous incarnation of this routine did.
9049
cbca0ada
VS
90502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 Fix any-emu compilation.
9053
9054 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
9055 * grub_bin2h_SOURCES: New variable.
9056
34a66d99
RM
90572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9058
9059 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
9060
94fabf58
RM
90612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9062
9063 * util/grub.d/00_header.in: Fix handling of locale_dir.
9064
02cf98ca
VS
90652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
9068 as possible unifont location (Gentoo).
9069 Reported by: Alexander Brüning
9070
327dbcd7
VS
90712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 Don't try to generate lists for kernel.img.
9074
9075 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
9076 (pkglib_MODULES): Remove kernel.img.
9077 (kernel_img_EXPORTS): Removed.
9078 (kernel_img_RELOCATABLE): New variable.
9079 * conf/x86_64-efi.rmk: Likewise.
9080 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
9081
ca467290
VS
90822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
9085 grub_xasprintf or grub_snprintf.
9086 (grub_vsprintf): Likewise.
9087 (grub_snprintf): New proto.
9088 (grub_vsnprintf): Likewise.
9089 (grub_xasprintf): Likewise.
9090 (grub_xvasprintf): Likewise.
9091 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
9092 (grub_sprintf): Removed.
9093 (grub_vsnprintf): New function.
9094 (grub_snprintf): Likewise.
9095 (grub_xvasprintf): Likewise.
9096 (grub_xasprintf): Likewise.
9097 (grub_vsprintf): Renamed to ...
9098 (grub_vsnprintf_real): ...this. New argument max_len.
9099
aca655fd
BC
91002010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
9101
9102 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
9103 fix grub-script-check warning.
9104
7ee92c32
VS
91052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * include/grub/font.h (grub_font_load): Fix prototype.
9108
f80927ca
VS
91092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
9112
119c50ea
VS
91132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * include/grub/x86_64/at_keyboard.h: New file.
9116
47d5f3c1
VS
91172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * loader/mips/linux.c: Include missing grub/i18n.h.
9120
55ff5266
RM
91212009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9122
9123 * normal/menu.c (notify_execution_failure): Clarify error message.
9124
c893cc87
RM
91252009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9126
9127 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
9128 return value (and revert all return statements). Update users.
9129
917dd370
CW
91302010-01-20 Dan Merillat <debian@dan.merillat.org>
9131
9132 * kern/device.c (grub_device_iterate): Allocate new part_ent
9133 structure based on sizeof (*p) rather than sizeof (p->next), to
9134 account for structure padding.
9135
9136 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
9137 disk is NULL, which might happen for LVM physical volumes with no
9138 LVM signature.
9139
d4a4ee57
RM
91402009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9141
9142 * loader/mips/linux.c (grub_cmd_initrd)
9143 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
9144
91452009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9146
9147 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
9148 (grub_video_video_init, grub_video_bitmap_init)
9149 (grub_font_manager_init, grub_term_gfxterm_init)
9150 (grub_at_keyboard_init): New extern declarations.
9151 (grub_machine_init): Initialize gfxterm and at_keyboard.
9152
9153 * kern/main.c (grub_main): Revert grub_printf delay kludge.
9154
9155 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
9156 `gfxterm.mod' into core image.
9157
9158 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9159 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9160 (kernel_img_FORMAT): Copy to ...
9161
9162 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9163 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9164 (kernel_img_FORMAT): ... here, and ...
9165
9166 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9167 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9168 (kernel_img_FORMAT): ... here.
9169
9170 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
9171 and input (at_keyboard) terminals in kernel.
9172 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
9173
9174 (pkglib_MODULES): Remove `pci.mod'.
9175 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
9176 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
9177 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9178 (at_keyboard_mod_LDFLAGS): Remove variables.
9179
91802010-01-11 Felix Zielcke <fzielcke@z-51.de>
9181
9182 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
9183
91842009-12-10 Robert Millan <rmh.grub@aybabtu.com>
9185
9186 * include/grub/mips/libgcc.h: Only export symbols for functions
9187 that libgcc provides.
9188
91892009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 MIPS support.
9192
9193 * bus/bonito.c: New file.
9194 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
9195 GRUB_PCI_NUM_DEVICES.
9196 * term/i386/pc/serial.c: Move to ...
9197 * term/serial.c: ... here. All users updated.
9198 * util/i386/pc/grub-mkimage.c: Move to ...
9199 * util/grub-mkrawimage.c: ... here. All users updated.
9200 * term/i386/pc/at_keyboard.c: Move to ...
9201 * term/at_keyboard.c: ... here. All users updated.
9202 * conf/mips-qemu-mips.rmk: New file.
9203 * conf/mips-yeeloong.rmk: Likewise.
9204 * conf/mips.rmk: Likewise.
9205 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
9206 mipsel-qemu-mips.
9207 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
9208 to port addresses.
9209 (grub_ata_pciinit): Support CS5536.
9210 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
9211 * font/font_cmd.c (loadfont_command): Open file before passing it to
9212 grub_font_load.
9213 (pseudo_file_read): New function.
9214 (pseudo_file_close): Likewise.
9215 (pseudo_fs): New structure.
9216 (load_font_module): New function.
9217 (GRUB_MOD_INIT(font_manager)): Load embedded font.
9218 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
9219 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
9220 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
9221 * include/grub/i386/at_keyboard.h: Split into ...
9222 * include/grub/at_keyboard.h: ... this ...
9223 * include/grub/i386/at_keyboard.h: ... and this.
9224 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
9225 New prototype.
9226 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
9227 updated.
9228 (grub_elf64_size): Likewise.
9229 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
9230 filename.
9231 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
9232 * include/grub/i386/coreboot/serial.h: Rewritten.
9233 * include/grub/i386/ieee1275/serial.h: Include
9234 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
9235 * include/grub/i386/pc/serial.h: Moved from here ...
9236 * include/grub/serial.h: ... to here. All users updated.
9237 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
9238 (GRUB_PCI_NUM_BUS): Likewise.
9239 (GRUB_PCI_NUM_DEVICES): Likewise.
9240 (grub_pci_device_map_range): Add missing volatile keyword.
9241 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
9242 * include/grub/mips/at_keyboard.h: New file.
9243 * include/grub/mips/cache.h: Likewise.
9244 * include/grub/mips/io.h: Likewise.
9245 * include/grub/mips/kernel.h: Likewise.
9246 * include/grub/mips/libgcc.h: Likewise.
9247 * include/grub/mips/pci.h: Likewise.
9248 * include/grub/mips/qemu-mips/boot.h: Likewise.
9249 * include/grub/mips/qemu-mips/kernel.h: Likewise.
9250 * include/grub/mips/qemu-mips/loader.h: Likewise.
9251 * include/grub/mips/qemu-mips/memory.h: Likewise.
9252 * include/grub/mips/qemu-mips/serial.h: Likewise.
9253 * include/grub/mips/qemu-mips/time.h: Likewise.
9254 * include/grub/mips/relocator.h: Likewise.
9255 * include/grub/mips/time.h: Likewise.
9256 * include/grub/mips/types.h: Likewise.
9257 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
9258 * include/grub/mips/yeeloong/boot.h: Likewise.
9259 * include/grub/mips/yeeloong/kernel.h: Likewise.
9260 * include/grub/mips/yeeloong/loader.h: Likewise.
9261 * include/grub/mips/yeeloong/memory.h: Likewise.
9262 * include/grub/mips/yeeloong/pci.h: Likewise.
9263 * include/grub/mips/yeeloong/serial.h: Likewise.
9264 * include/grub/mips/yeeloong/time.h: Likewise.
9265 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
9266 * kern/elf.c (grub_elf32_size): New parameter. All users
9267 updated.
9268 (grub_elf64_size): Likewise.
9269 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
9270 Load modules before saying "Welcome to GRUB!".
9271 Call grub_refresh after saying "Welcome to GRUB!".
9272 * kern/mips/cache.S: New file.
9273 * kern/mips/cache_flush.S: Likewise.
9274 * kern/mips/dl.c: Likewise.
9275 * kern/mips/init.c: Likewise.
9276 * kern/mips/qemu-mips/init.c: Likewise.
9277 * kern/mips/startup.S: Likewise.
9278 * kern/mips/yeeloong/init.c: Likewise.
9279 * kern/term.c (grub_putcode): Handle NULL terminal.
9280 (grub_getcharwidth): Likewise.
9281 (grub_getkey): Likewise.
9282 (grub_checkkey): Likewise.
9283 (grub_getkeystatus): Likewise.
9284 (grub_getxy): Likewise.
9285 (grub_getwh): Likewise.
9286 (grub_gotoxy): Likewise.
9287 (grub_cls): Likewise.
9288 (grub_setcolorstate): Likewise.
9289 (grub_setcolor): Likewise.
9290 (grub_getcolor): Likewise.
9291 (grub_refresh): Likewise.
9292 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
9293 (write_jump): Add hatch nop.
9294 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
9295 * lib/mips/setjmp.S: New file.
9296 * loader/mips/linux.c: Likewise.
9297 * term/i386/pc/at_keyboard.c: Move from here ...
9298 * term/at_keyboard.c: ... to here.
9299 * term/i386/pc/serial.c: Moved from here ...
9300 * term/serial.c: ... to here. All users updated.
9301 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
9302 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
9303 (serial_translate_key_sequence): Avoid deadlock.
9304 (grub_serial_getkey): Handle backspace.
9305 (grub_serial_putchar): Fix newline handling.
9306 * util/i386/pc/grub-mkimage.c: Move from here ...
9307 * util/grub-mkrawimage.c: ... to here. All users updated.
9308 (generate_image): New parameters 'font_path' and 'format'.
9309 Support embedding font.
9310 Use grub_host_to_target* instead of grub_cpu_to_le*.
9311 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
9312 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
9313 (options): New option "--font".
9314 (usage): Likewise.
9315 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
9316 (main): Handle "--font".
9317 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
9318 (grub_virtual_screen_setup): Set bg_color_display.
9319 (redraw_screen_rect): Use bg_color_display instead of incorrect
9320 bg_color.
9321 (grub_gfxterm_cls): Likewise.
9322 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
9323 Support embedding config file.
9324 (add_segments): Likewise.
9325 (options): New option "--config".
9326 (main): Handle "--config".
9327 * video/sm712.c: New file.
9328
25c2b5b3
RM
93292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9330
9331 Fix parallel builds.
9332
9333 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
9334 font.c depend on ascii.h).
9335
93362010-01-12 Carles Pina i Estany <carles@pina.cat>
9337
9338 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
9339
93402010-01-11 Carles Pina i Estany <carles@pina.cat>
9341
9342 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
9343 By default: disabled.
9344 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
9345 parameter.
9346
93472010-01-10 Carles Pina i Estany <carles@pina.cat>
9348
9349 * font/font.c: Update copyright years.
9350 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
9351
93522010-01-10 Carles Pina i Estany <carles@pina.cat>
9353
9354 * font/font.c: Include `ascii.h'.
9355 (ASCII_BITMAP_SIZE): New macro.
9356 (ascii_font_glyph): Define.
9357 (ascii_glyph_lookup): New function.
9358 (grub_font_get_string_width): Change comment. If glyph not found, use
9359 ascii_glyph_lookup.
9360 (grub_font_get_glyph_with_fallback): If glyph not available returns
9361 ascii_glyph_lookup.
9362 * util/grub-mkfont.c (file_formats): New enum.
9363 (options): Add `ascii-bitmaps' new option.
9364 (usage): Add `asii-bitmaps' new option.
9365 (write_font_ascii_bitmap): New function.
9366 (write_font): Rename to ...
9367 (write_font_p2): ... this. Remove print_glyphs call.
9368 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
9369 used. Call print_glyphs.
9370 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
9371
93722010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9373
9374 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
9375 (grub_bin2h_SOURCES): New variable.
9376 * util/bin2h.c: New file.
9377
915fc1b8
VS
93782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * include/multiboot.h: Resynced with spec.
9381 * include/multiboot2.h: Likewise.
9382 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
9383 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
9384
9444b678
RM
93852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9386
9387 * include/grub/term.h (grub_term_register_input,
9388 grub_term_register_output): Check return of terminal init()
9389 routines, and abort if errors are raised.
9390
9391 * commands/terminal.c: Update copyright year.
9392
cba98e8d
RM
93932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9394
9395 * commands/terminal.c (grub_cmd_terminal_input)
9396 (grub_cmd_terminal_output): Check return of terminal init()
9397 routines, and abort if errors are raised.
9398
6f7db5d6
VS
93992010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 * include/grub/i386/bsd.h: Fix include pathes.
9402
262bff8d
VS
94032010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9404
9405 Add missing *BSD copyright headers.
9406
9407 * include/grub/aout.h: Add BSD licence.
9408 * include/grub/i386/bsd.h: Parts under different licences moved to ...
9409 * include/grub/i386/freebsd_linker.h: ... here,
9410 * include/grub/i386/freebsd_reboot.h: ... here,
9411 * include/grub/i386/netbsd_bootinfo.h: ... here,
9412 * include/grub/i386/netbsd_reboot.h: ... here,
9413 * include/grub/i386/openbsd_bootarg.h: ... here,
9414 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
9415 licence to each file.
9416
b2cab848
RM
94172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9418
9419 * acinclude.m4: Remove `nop' assembly instruction; it's not
9420 implemented by all architectures.
9421
2cb6be4b
RM
94222010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9423
9424 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
9425 ELILO. This is no longer necessary.
9426
a2eaee15
BC
94272010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
9428
9429 Added new tool, grub-scrit-check to verify grub.cfg syntax.
9430
9431 * util/grub-script-check.c: grub-script-check tool.
9432 * conf/common.rmk: Make rules for grub-script-check.
9433
88d17012
RM
94342010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9435
9436 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
9437 spotting it back in 2008. Shame on me for forgetting he did.
9438
9439 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
9440
8040619d
RM
94412010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9442
9443 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
9444 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
9445 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
9446 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
9447 (GRUB_VIDEO_TYPE_EFI): Rename to ...
9448 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
9449
a0c2a0f6
RM
94502010-01-17 Robert Millan <rmh.grub@aybabtu.com>
9451
9452 * include/grub/test.h: Add license header.
9453 * tests/example_functional_test.c: Likewise.
9454 * tests/example_unit_test.c: Likewise.
9455 * tests/lib/functional_test.c: Likewise.
9456 * tests/lib/test.c: Likewise.
9457 * tests/lib/unit_test.c: Likewise.
9458
b0b13907
VS
94592010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 Use flag-based instead of hook-based video mode selection and "auto"
9462 keyword.
9463
9464 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
9465 (grub_video_set_mode): Changed prototype. All users updated.
9466 (grub_video_check_mode_flag): New inline function.
9467 * video/video.c (parse_modespec): New function.
9468 (grub_video_set_mode): Parse flags and keywords.
9469
ea379330 94702010-01-17 Carles Pina i Estany <carles@pina.cat>
9471
9472 * util/misc.c (grub_util_info): Fix the order of the parameters in a
9473 fprintf call.
9474
e15c215e
FZ
94752010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
9476
9477 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
9478
409ae1c9 94792010-01-16 Carles Pina i Estany <carles@pina.cat>
9480
9481 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
9482 string.
9483 * util/grub-emu.c (usage): Likewise.
9484 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
9485 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9486 * util/i386/pc/grub-mkimage.c (usage): Likewise.
9487 * util/i386/pc/grub-setup.c (usage): Likewise.
9488
70a14d3d 94892010-01-16 Carles Pina i Estany <carles@pina.cat>
9490
9491 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
9492 the message.
9493 (grub_util_info): Likewise.
9494 (grub_util_error): Likewise.
9495 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
9496 and/or new lines in `grub_util_warna', `grub_util_info',
9497 `grub_util_error' calls.
9498 * util/getroot.c: Likewise.
9499 * util/grub-editenv.c: Likewise.
9500 * util/grub-emu.c: Likewise.
9501 * util/grub-fstest.c: Likewise.
9502 * util/grub-mkdevicemap.c: Likewise.
9503 * util/grub-mkfont.c: Likewise.
9504 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9505 * util/grub-mkrelpath.c: Likewise.
9506 * util/grub-pe2elf.c: Likewise.
9507 * util/grub-probe.c: Likewise.
9508 * util/hostdisk.c: Likewise.
9509 * util/i386/efi/grub-mkimage.c: Likewise.
9510 * util/i386/pc/grub-mkimage.c: Likewise.
9511 * util/i386/pc/grub-setup.c: Likewise.
9512 * util/ieee1275/ofpath.c: Likewise.
9513 * util/mkisofs/eltorito.c: Likewise.
9514 * util/mkisofs/rock.c: Likewise.
9515 * util/mkisofs/write.c: Likewise.
9516 * util/raid.c: Likewise.
9517 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9518 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9519
a0b766fc
VS
95202010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 Enable multiboot on non-pc.
9523
9524 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
9525 multiboot.mod and multiboot2.mod to ...
9526 * conf/i386.rmk (pkglib_MODULES): ... here.
9527 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
9528 Moved to ...
9529 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
9530 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
9531 Moved to ...
9532 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
9533 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
9534 Moved to ...
9535 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
9536 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
9537 Moved to ...
9538 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
9539 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
9540 relocator.mod.
9541 (ata_mod_SOURCES): Removed.
9542 (ata_mod_CFLAGS): Likewise.
9543 (ata_mod_LDFLAGS): Likewise.
9544 (relocator_mod_SOURCES): Removed.
9545 (relocator_mod_CFLAGS): Likewise.
9546 (relocator_mod_ASFLAGS): Likewise.
9547 (relocator_mod_LDFLAGS): Likewise.
9548 Include i386.mk.
9549 * include/grub/x86_64/multiboot.h: New file.
9550 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
9551 Terminate EFI.
9552
884ade56
VS
95532010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 Video multiboot support.
9556
9557 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
9558 New prototype.
9559 * include/multiboot.h: Resynced with multiboot specification.
9560 * include/multiboot2.h: Likewise.
9561 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
9562 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
9563 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
9564 (HAS_VGA_TEXT): Likewise.
9565 (accepts_video): New variable.
9566 (grub_multiboot_set_accepts_video): New function.
9567 (grub_multiboot_get_mbi_size): Account for video structures.
9568 (set_video_mode): New function.
9569 (retrieve_video_parameters): Likewise.
9570 (grub_multiboot_make_mbi): Fill video fields.
9571
0d90e8a6
VS
95722010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 Video driver ids.
9575
9576 * include/grub/video.h (grub_video_driver_id): New type.
9577 (grub_video_adapter): New member 'id'. All users updated.
9578 (grub_video_get_driver_id): New proto.
9579 * video/video.c (grub_video_get_driver_id): New function.
9580
5c71db1b 95812010-01-14 Carles Pina i Estany <carles@pina.cat>
9582
9583 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
9584 `var=val'.
9585
cca15b52 95862010-01-14 Carles Pina i Estany <carles@pina.cat>
9587
9588 * normal/cmdline.c (print_completion): Gettextizze.
9589
c586fbb2 95902001-01-14 Carles Pina i Estany <carles@pina.cat>
9591
9592 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
9593
ba2f6848 95942010-01-14 Carles Pina i Estany <carles@pina.cat>
9595
9596 * gettext/gettext.c (grub_gettext_translate): Push and pop
9597 grub_errno.
9598 (grub_gettext_delete_list): Change comment style.
9599 * kern/err.c (grub_error): Gettextizze.
9600 (grub_fatal): Gettextizze.
9601
0a46429a
RM
96022010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9603
9604 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
9605 (grub_linux16_real_boot): ... this.
9606 * kern/i386/loader.S: Likewise.
9607 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
9608 (grub_linux16_boot): New function. Switches to text mode and calls
9609 grub_linux16_real_boot().
9610
9611 * loader/i386/bsd.c: Include `<grub/video.h>'.
9612 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
9613 text mode before calling grub_unix_real_boot().
9614
9615 * loader/i386/multiboot.c: Include `<grub/video.h>'.
9616 (grub_multiboot_boot): Switch to text mode before calling
9617 grub_relocator32_boot().
9618
9619 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
9620 (grub_chainloader_boot): Switch to text mode before calling
9621 grub_chainloader_real_boot().
9622
d6f93a66
RM
96232010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
96242010-01-05 Colin Watson <cjwatson@ubuntu.com>
9625
9626 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
9627 non-empty value.
9628
96292010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
96302010-01-05 Colin Watson <cjwatson@ubuntu.com>
9631
9632 * util/grub.d/00_header.in: Define a "savedefault" function for use
9633 in menu entries.
9634 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
9635
96362010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
96372010-01-05 Colin Watson <cjwatson@ubuntu.com>
9638
9639 * util/grub-mkconfig_lib.in (save_default_entry): Only set
9640 saved_entry if boot_once is unset.
9641 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
9642 previous saved entry (i.e. grub-reboot).
9643
96442009-12-08 Colin Watson <cjwatson@ubuntu.com>
9645
9646 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
9647
96482009-12-08 Colin Watson <cjwatson@ubuntu.com>
9649
9650 * util/grub.d/00_header.in: Use `set var=val' rather than plain
9651 `var=val'.
9652 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
9653
96542009-12-08 Colin Watson <cjwatson@ubuntu.com>
9655
9656 * util/grub-reboot.in: Fix --version output.
9657 * util/grub-set-default.in: Likewise.
9658
96592009-12-08 Colin Watson <cjwatson@ubuntu.com>
9660
9661 * util/grub.d/00_header.in: Silently ignore zero-sized environment
9662 blocks.
9663
96642009-12-08 Colin Watson <cjwatson@ubuntu.com>
9665
9666 * util/grub.d/00_header.in: Quote the value assigned to `default',
9667 in case it contains spaces.
9668
96692009-12-08 Colin Watson <cjwatson@ubuntu.com>
9670
9671 * util/grub.d/30_os-prober.in: Fix merge error that moved a
9672 `save_default_entry' call from the macosx case to the linux case.
9673
96742009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
96752009-10-25 Colin Watson <cjwatson@ubuntu.com>
9676
9677 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
9678 in `chosen' environment variable.
9679 * normal/menu_text.c (get_entry_number): Check if the variable
9680 matches the title of a menu entry.
9681 (run_menu): Pass menu to get_entry_number.
9682
9683 * util/grub-reboot.in: New file.
9684 * util/grub-set-default.in: New file.
9685 * conf/common.rmk (grub-reboot): New utility.
9686 (grub-set-default): New utility.
9687
9688 * util/grub-mkconfig_lib.in (save_default_entry): New function.
9689 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
9690 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
9691 move it to `saved_entry' for the next boot. Load environment on
9692 initialisation.
9693 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
9694 * util/grub.d/10_hurd.in: Likewise.
9695 * util/grub.d/10_linux.in (linux_entry): Likewise.
9696 * util/grub.d/10_windows.in: Likewise.
9697 * util/grub.d/30_os-prober.in: Likewise.
9698
9699 * util/grub-install.in: Create environment block.
9700 * util/i386/efi/grub-install.in: Likewise.
9701 * util/ieee1275/grub-install.in: Likewise.
9702 * util/sparc64/ieee1275/grub-install.in: Likewise.
9703
0934d184
BC
97042010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
9705
9706 Unit testing framework for GRUB.
9707
9708 * Makefile.in: Test framework build rules for 'make check'.
9709 * conf/tests.rmk: Build rules for individual tests and framework.
9710
9711 * include/grub/test.h: Header file for whitebox tests.
9712 * tests/lib/functional_test.c: Framework support for whitebox
9713 functional tests.
9714 * tests/lib/test.c: Common whitebox testing code for unit and
9715 functional tests.
9716 * tests/lib/unit_test.c: Framework support for whitebox unit
9717 tests.
9718
9719 * tests/util/grub-shell-tester.in: Support utility for grub-script
9720 tests.
9721 * tests/util/grub-shell.in: Utility to execute grub-script
9722 commands in a Qemu instance.
9723
9724 * tests/example_functional_test.c: Example whitebox functional
9725 test.
9726 * tests/example_grub_script_test.in: Example grub-script test.
9727 * tests/example_scripted_test.in: Example scripted test.
9728 * tests/example_unit_test.c: Example whitebox unit test.
9729
9c4ffeeb
VS
97302010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
9733 Add loader/i386/multiboot_mbi.c.
9734 (multiboot2_mod_SOURCES): Likewise.
9735 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
9736 (multiboot2_mod_SOURCES): Likewise.
9737 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
9738 (grub_multiboot_make_mbi): Likewise.
9739 (grub_multiboot_free_mbi): Likewise.
9740 (grub_multiboot_init_mbi): Likewise.
9741 (grub_multiboot_add_module): Likewise.
9742 (grub_multiboot_set_bootdev): Likewise.
9743 * loader/i386/multiboot.c (mbi): Removed.
9744 (mbi_dest): Likewise.
9745 (alloc_mbi): New variable.
9746 (grub_multiboot_payload_size): Removed. All users updated.
9747 (grub_multiboot_pure_size): New variable.
9748 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
9749 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
9750 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
9751 (grub_fill_multiboot_mmap): Likewise.
9752 (grub_multiboot_get_bootdev): Likewise.
9753 (grub_multiboot): Use multiboot_mbi functions.
9754 * loader/i386/multiboot_mbi.c: New file.
9755
17383dfe
VS
97562010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
9759 it would result in module crash.
9760
c1f28820
VS
97612010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
9764 (grub_ofconsole_getwh): Split to ...
9765 (grub_ofconsole_getwh): ... this.
9766 (grub_ofconsole_dimensions): ...and this.
9767 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
9768
58655a16
RM
97692010-01-13 Robert Millan <rmh.grub@aybabtu.com>
9770
9771 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
9772
10891398
VS
97732010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * loader/i386/pc/multiboot2.c: Removed stalled file.
9776
0b8a223c
VS
97772010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
9780 Reported by: Grégoire Sutre
9781
92ab12b0
RM
97822010-01-11 Robert Millan <rmh.grub@aybabtu.com>
9783
9784 * util/misc.c (canonicalize_file_name): New function.
9785 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
9786 instead of realpath().
9787
a788afb6
CW
97882010-01-11 Colin Watson <cjwatson@ubuntu.com>
9789
9790 * util/grub-install.in (usage): Clarify meaning of --root-directory,
9791 and make it clearer that it's optional. Based on confusion
9792 witnessed on IRC.
9793
ffa8e3d2
VS
97942010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
9797 in premature implicit newline.
9798
e9060a9d
VS
97992010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
9802 which resulted in garbled command line at the end of screen.
9803
f0d0c0b7
RM
98042010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9805
9806 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
9807 initialization with similar approach as with other Linux loaders.
9808
0e60bae7
RM
98092010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9810
9811 Fix i386-ieee1275 build.
9812
9813 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
9814 and grub_term_height() for video_{width,height} initialization.
9815
98162010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
9817
9818 Fix grub-emu build.
9819
9820 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
9821
cdb3f378
RM
98222010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
98232010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9824
9825 Support for multiple terminals.
9826
9827 * Makefile.in (pkglib_DATA): terminal.lst.
9828 (terminal.lst): New target.
9829 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
9830 (GRUB_MOD_INIT(handler)): Likewise.
9831 (GRUB_MOD_FINI(handler)): Likewise.
9832 * commands/help.c (grub_cmd_help): Handle multiple terminals.
9833 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
9834 * commands/sleep.c (do_print): Use grub_term_restore_pos.
9835 (grub_cmd_sleep): Use grub_term_save_pos.
9836 * commands/terminal.c: New file.
9837 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
9838 commands/terminal.c and lib/charset.c.
9839 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
9840 (pkglib_MODULES): Add terminal.mod.
9841 (terminal_mod_SOURCES): New variable.
9842 (terminal_mod_CFLAGS): Likewise.
9843 (terminal_mod_LDFLAGS): Likewise.
9844 * genhandlerlist.sh: Don't handle terminals.
9845 * genmk.rb: Generate terminal-*.lst.
9846 * genterminallist.sh: New file.
9847 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
9848 (grub_is_valid_utf8): Likewise.
9849 (grub_utf8_to_ucs4_alloc): Likewise.
9850 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
9851 (grub_menu_register_viewer): Changed argument.
9852 (grub_menu_try_text): New proto.
9853 (grub_gfxmenu_try_hook): New declaration.
9854 * include/grub/normal.h (grub_normal_exit_level): New declaration.
9855 (grub_menu_init_page): Additional argument term.
9856 (grub_normal_init_page): Likewise.
9857 (grub_cmdline_get): Arguments simplified.
9858 (grub_utf8_to_ucs4_alloc): Removed.
9859 (grub_print_ucs4): Additional argument term.
9860 (grub_getstringwidth): Likewise.
9861 (grub_print_message_indented): Likewise.
9862 (grub_menu_text_register_instances): New proto.
9863 (grub_show_menu): Likewise.
9864 (read_terminal_list): Likewise.
9865 (grub_set_more): Likewise.
9866 * include/grub/parser.h: Include handler.h.
9867 * include/grub/reader.h: Rewritten.
9868 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
9869 (GRUB_TERM_WIDTH): Changed to function.
9870 (GRUB_TERM_HEIGHT): Likewise.
9871 (GRUB_TERM_BORDER_WIDTH): Likewise.
9872 (GRUB_TERM_BORDER_HEIGHT): Likewise.
9873 (GRUB_TERM_NUM_ENTRIES): Likewise.
9874 (GRUB_TERM_ENTRY_WIDTH): Likewise.
9875 (GRUB_TERM_CURSOR_X): Likewise.
9876 (grub_term_input_class): Likewise.
9877 (grub_term_output_class): Likewise.
9878 (grub_term_outputs_disabled): New declaration.
9879 (grub_term_inputs_disabled): Likewise.
9880 (grub_term_outputs): Likewise.
9881 (grub_term_inputs): Likewise.
9882 (grub_term_register_input): Rewritten.
9883 (grub_term_register_output): Likewise.
9884 (grub_term_unregister_input): Likewise.
9885 (grub_term_unregister_output): Likewise.
9886 (FOR_ACTIVE_TERM_INPUTS): New macro.
9887 (FOR_DISABLED_TERM_INPUTS): Likewise.
9888 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9889 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9890 * include/grub/terminfo.h: Add oterm argument to all protypes.
9891 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
9892 Use grub_rescue_run.
9893 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
9894 All users updated.
9895 * kern/reader.c: Removed. All users updated.
9896 * kern/rescue_reader.c (grub_rescue_init): Removed.
9897 (grub_rescue_reader): Likewise.
9898 (grub_register_rescue_reader): Likewise.
9899 (grub_rescue_run): New function based on kern/reader.c.
9900 * kern/term.c: Adapted for multiterm.
9901 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
9902 (grub_is_valid_utf8): Likewise.
9903 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
9904 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
9905 right terminal.
9906 * loader/i386/linux.c (grub_linux_boot): Likewise.
9907 * normal/auth.c (grub_username_get): New function.
9908 (grub_auth_check_authentication): Use grub_username_get.
9909 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
9910 * normal/color.c: Adapt for multiterm.
9911 * normal/main.c (read_config_file): Don't use grub_reader_loop.
9912 (grub_normal_init_page): Additional argument term.
9913 (read_lists): Call read_terminal_lists.
9914 (grub_enter_normal_mode): Call grub_cmdline_run.
9915 Handle grub_normal_exit_level.
9916 (grub_cmd_normal): Make reentrant.
9917 (grub_cmd_normal_exit): New function.
9918 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
9919 * normal/menu.c: Adapt for multiterm.
9920 * normal/menu_entry.c: Likewise.
9921 * normal/menu_text.c: Likewise.
9922 * normal/menu_viewer.c: Removed. All users updated.
9923 * normal/term.c: New file.
9924 * util/console.c: Change order of includes to workaround a bug in
9925 ncurses headers.
9926 * term/terminfo.c: New argument oterm on all exported functions.
9927 All users updated.
9928 * util/grub-editenv.c (grub_term_input_class): Removed.
9929 (grub_term_output_class): Likewise.
9930
1a064917
RM
99312010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9932
9933 Make loader output a bit more user-friendly.
9934
9935 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
9936 is being loaded. Likewise for the Hurd.
9937
9938 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
9939 that kernel of FreeBSD ${version} is being loaded.
9940
9941 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
9942 grub_dprintf().
9943 (grub_cmd_initrd): Likewise.
9944 * util/grub.d/10_linux.in (linux_entry): Print message indicating
9945 that Linux ${version} is being loaded. Likewise for initrd.
9946
5ce0a83a 99472010-01-09 Carles Pina i Estany <carles@pina.cat>
9948
9949 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
9950
809bbfeb 99512010-01-08 Carles Pina i Estany <carles@pina.cat>
9952
9953 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
9954 (GRUB_MOD_INIT): Gettextizze.
9955 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
9956 (GRUB_MOD_INIT): Gettextizze.
9957 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
9958 (grub_cmd_linux): Capitalise Linux.
9959 (GRUB_MOD_INIT): Gettextizze.
9960 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
9961 (grub_cmd_linux): Capitalise Linux.
9962 (GRUB_MOD_INIT): Gettextizze.
9963 * loader/i386/linux.c: Include `<grub/i18n.h>'.
9964 (grub_cmd_linux): Capitalise Linux.
9965 (GRUB_MOD_INIT): Gettextizze.
9966 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
9967 (GRUB_MOD_INIT): Gettextizze.
9968 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
9969 (grub_cmd_linux): Capitalise Linux.
9970 (GRUB_MOD_INIT): Gettextizze.
9971 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
9972 (grub_cpu_xnu_init): Gettextizze.
9973 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
9974 (GRUB_MOD_INIT): Gettextizze.
9975 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
9976 (GRUB_MOD_INIT): Gettextizze.
9977 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
9978 (grub_linux_load64): Capitalise Linux.
9979 (GRUB_MOD_INIT): Gettextizze.
9980 * loader/xnu.c: Include `<grub/i18n.h>'.
9981 (GRUB_MOD_INIT): Gettextizze.
9982 * po/POTFILES: Add `loader/efi/appleloader.c',
9983 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
9984 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
9985 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
9986 `loader/i386/xnu.c', `loader/multiboot_loader.c',
9987 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
9988 and `loader/xnu.c'.
9989
b394b2ca
RM
99902010-01-08 Robert Millan <rmh.grub@aybabtu.com>
9991
9992 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
9993
99942010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
9995
9996 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
9997 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
9998 * util/mkisofs/mkisofs.c (main): Readjust --version output.
9999
bc8b32b3
RM
100002010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10001
10002 Reset Multiboot 2 support. New loader implements the draft in
10003 /branches/multiboot2 and shares as much code as possible with the
10004 production Multiboot 1 implementation.
10005
10006 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
10007 * loader/multiboot2.c: Likewise.
10008 * loader/i386/multiboot_helper.S: Likewise.
10009 * include/multiboot2.h: Replace with latest version from the draft
10010 in /branches/multiboot2.
10011
10012 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
10013 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
10014 and `loader/multiboot2.c'.
10015 (pkglib_MODULES): Add `multiboot2.mod'.
10016 (multiboot2_mod_SOURCES): New variable.
10017 (multiboot2_mod_LDFLAGS): Likewise.
10018 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
10019
10020 * conf/i386-pc.rmk: Likewise.
10021
10022 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
10023 (multiboot_mod_SOURCES): Remove variable.
10024 (multiboot_mod_LDFLAGS): Likewise.
10025 (multiboot_mod_CFLAGS): Likewise.
10026
10027 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
10028 `<multiboot2.h>' instead of `<multiboot.h>'.
10029 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
10030 (MULTIBOOT_HEADER_MAGIC): New macros.
10031
10032 * loader/multiboot_loader.c (module_version_status): Remove variable.
10033 (find_multi_boot2_header): Remove function.
10034 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
10035 logic. Always check for the Multiboot version we're compiling for.
10036 (grub_cmd_module_loader): Likewise.
10037 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
10038 command instead of `multiboot'.
10039
5d2c52b8
RM
100402010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10041
10042 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
10043 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
10044 all users.
10045
53108d92
RM
100462010-01-07 Robert Millan <rmh.grub@aybabtu.com>
100472010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 Fix breakage introduced with previous commit.
10050
10051 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
10052 commands.
10053 * normal/handler.c (read_handler_list): Revert part of previous commit
10054 affecting this file.
10055 * normal/main.c (read_lists): Move read_handler_list() call back to ...
10056 (grub_normal_execute): ... here.
10057
e2e936b2
RM
100582010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10059
10060 Merge prefix-redefinition-fix branch.
10061
10062 * normal/autofs.c (read_fs_list): Make function capable of being
10063 run multiple times, gracefuly replacing the previous data
10064 structures.
10065 * normal/dyncmd.c (read_command_list): Likewise.
10066 * normal/handler.c (read_handler_list): Likewise.
10067 * normal/main.c (read_lists): New function. Calls all the
10068 list reading functions.
10069 (grub_normal_execute): Use read_lists() instead of calling all
10070 list reading functions explicitly. Register read_lists() as a
10071 variable hook attached to ${prefix}.
10072
607a3701
VS
100732010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 Merge crypto branch.
10076
10077 * Makefile.in (pkglib_DATA): Add crypto.lst.
10078 (crypto.lst): New target.
10079 * commands/hashsum.c: New file.
10080 * commands/password.c (check_password): Use grub_crypto_memcmp.
10081 * commands/password_pbkdf2.c: New file.
10082 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
10083 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
10084 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
10085 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
10086 -I$(srcdir)/lib/libgcrypt_wrap.
10087 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
10088 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
10089 password_pbkdf2.mod.
10090 (crypto_mod_SOURCES): New variable.
10091 (crypto_mod_CFLAGS): Likewise.
10092 (crypto_mod_LDFLAGS): Likewise.
10093 (hashsum_mod_SOURCES): New variable.
10094 (hashsum_mod_CFLAGS): Likewise.
10095 (hashsum_mod_LDFLAGS): Likewise.
10096 (pbkdf2_mod_SOURCES): New variable.
10097 (pbkdf2_mod_CFLAGS): Likewise.
10098 (pbkdf2_mod_LDFLAGS): Likewise.
10099 (password_pbkdf2_mod_SOURCES): New variable.
10100 (password_pbkdf2_mod_CFLAGS): Likewise.
10101 (password_pbkdf2_mod_LDFLAGS): Likewise.
10102 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
10103 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
10104 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
10105 Include conf/gcry.rmk.
10106 * include/grub/auth.h: Rewritten.
10107 * include/grub/crypto.h: New file.
10108 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
10109 * include/grub/normal.h (read_crypto_list): New prototype.
10110 * lib/crypto.c: New file.
10111 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
10112 * lib/pbkdf2.c: Likewise.
10113 * normal/auth.c (grub_auth_strcmp): Removed.
10114 (grub_iswordseparator): Likewise.
10115 (grub_auth_strword): Likewise.
10116 (is_authenticated): Use grub_strword.
10117 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
10118 and grub_strword. Pass entered password to authentication callback.
10119 * normal/crypto.c: New file.
10120 * normal/main.c: Call read_crypto_list.
10121 * util/grub-mkpasswd-pbkdf2.c: New file.
10122 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
10123
42841caa
VS
101242010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 Fix descent and ascent calculation.
10127
10128 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
10129 (options): New option "asce".
10130 (usage): Likewise.
10131 (add_char): Ignore invalid glyphs for descent calculation.
10132 Calculate ascent from actual content.
10133 (print_glyphs): Use 'asce'.
10134 (write_font): Likewise. Allow ascent override.
10135 (main): Handle "asce" option.
10136
e7730de7 101372010-01-06 Carles Pina i Estany <carles@pina.cat>
10138
10139 * kern/err.c: Include `<grub/i18n.h>'.
10140 (grub_print_error): Add full stop. Gettextizze.
10141 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
10142 (grub_bsd_load_elf): Capitalise ELF.
10143 (grub_cmd_freebsd_loadenv): Add `s' in error string.
10144 (grub_cmd_freebsd_module): Likewise.
10145 (grub_cmd_freebsd_module_elf): Likewise.
10146 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
10147
40e3a41f 101482010-01-06 Carles Pina i Estany <carles@pina.cat>
10149
10150 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
10151 * commands/search_file.c (HELP_MESSAGE): New macro.
10152 * commands/search_label.c (HELP_MESSAGE): Likewise.
10153 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
10154 * po/POTFILES: Add `commands/search_file.c',
10155 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
10156 `commands/search.c'.
10157
83507e68
RM
101582010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10159
10160 * config.rpath: Update from Gnulib.
10161
465c787b
YB
101622010-01-05 Yves Blusseau <blusseau@zetam.org>
10163
10164 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
10165
6581dd3a
YB
101662010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
10167
10168 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
10169
3bff18c5
CW
101702010-01-05 Colin Watson <cjwatson@ubuntu.com>
10171
10172 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
10173 arguments to fread so that we get a return value in bytes, rather
10174 than something that will normally be rounded down to 0.
10175 Adjust error handling to avoid producing garbage when size_t is not
10176 the same size as long long.
10177
a1368118
CW
101782010-01-05 Colin Watson <cjwatson@ubuntu.com>
10179
10180 * util/mkisofs/write.c (padblock_write): Check return value of
10181 fread.
10182
7c302978
RM
101832010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10184
10185 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
10186 floppy images now.
10187
10188 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
10189
e33ace06
RM
101902010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10191
10192 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
10193 instead of manual alignment.
10194 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
10195 verbose). Avoid attempts to read past end of the device
10196 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
10197 but GRUB_DISK_CACHE_SIZE may exceed that).
10198
4b856776
RM
101992010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10200
10201 * commands/crc.c (grub_cmd_crc): Abort on read errors.
10202 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
10203 it to upper layer.
10204
52c2d97f
VS
102052010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
10208 New constant.
10209 (grub_efi_piwg_device_path): New structure
10210 (grub_efi_piwg_device_path_t): New type.
10211 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
10212 (devpath_1): Transform to a structure. All users updated.
10213 (devpath_2): Likewise.
10214 (devpath_3): Likewise.
10215 (devpath_4): Likewise.
10216 (devpath_5): Likewise.
10217
98ff6a54
VS
102182010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * loader/efi/appleloader.c: Restored. Update all users.
10221
3a73dcb6
RM
102222010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10223
10224 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
10225
10226 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
10227 (struct boot_blocklist): Move from here ...
10228 * include/grub/i386/pc/boot.h [ASM_FILE]
10229 (struct grub_boot_blocklist): ... to here. Update all users.
10230 (setup): Only initialize `start' member of `first_block'
10231 structure. Add assert() calls to verify the other members.
10232
10233 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
10234 (generate_image): Fix broken blocklist length initialization.
10235 Add assert() call to verify blocklist `segment' field.
10236
ab0eeb0c
RM
102372010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10238
10239 * loader/efi/appleloader.c: Remove. Update all users.
10240
58bc8bd5
RM
102412010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10242
10243 * boot/i386/pc/boot.S: Update copyright year.
10244 * boot/i386/pc/cdboot.S: Likewise.
10245 * boot/i386/pc/diskboot.S: Likewise.
10246 * boot/i386/pc/lnxboot.S: Likewise.
10247 * boot/i386/pc/pxeboot.S: Likewise.
10248 * bus/pci.c: Likewise.
10249 * commands/cmp.c: Likewise.
10250 * commands/help.c: Likewise.
10251 * commands/hexdump.c: Likewise.
10252 * commands/i386/pc/halt.c: Likewise.
10253 * commands/i386/pc/play.c: Likewise.
10254 * commands/i386/pc/vbeinfo.c: Likewise.
10255 * commands/ls.c: Likewise.
10256 * commands/test.c: Likewise.
10257 * disk/dmraid_nvidia.c: Likewise.
10258 * disk/i386/pc/biosdisk.c: Likewise.
10259 * disk/ieee1275/nand.c: Likewise.
10260 * disk/ieee1275/ofdisk.c: Likewise.
10261 * disk/lvm.c: Likewise.
10262 * disk/raid.c: Likewise.
10263 * disk/raid6_recover.c: Likewise.
10264 * disk/scsi.c: Likewise.
10265 * fs/affs.c: Likewise.
10266 * fs/cpio.c: Likewise.
10267 * fs/ext2.c: Likewise.
10268 * fs/hfs.c: Likewise.
10269 * fs/iso9660.c: Likewise.
10270 * fs/ntfs.c: Likewise.
10271 * fs/sfs.c: Likewise.
10272 * fs/udf.c: Likewise.
10273 * fs/ufs.c: Likewise.
10274 * fs/xfs.c: Likewise.
10275 * gencmdlist.sh: Likewise.
10276 * genmk.rb: Likewise.
10277 * include/grub/disk.h: Likewise.
10278 * include/grub/efi/api.h: Likewise.
10279 * include/grub/efi/efi.h: Likewise.
10280 * include/grub/efi/pe32.h: Likewise.
10281 * include/grub/elf.h: Likewise.
10282 * include/grub/fs.h: Likewise.
10283 * include/grub/i386/at_keyboard.h: Likewise.
10284 * include/grub/i386/pc/memory.h: Likewise.
10285 * include/grub/i386/pc/vbe.h: Likewise.
10286 * include/grub/i386/pci.h: Likewise.
10287 * include/grub/i386/tsc.h: Likewise.
10288 * include/grub/ieee1275/ieee1275.h: Likewise.
10289 * include/grub/ntfs.h: Likewise.
10290 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
10291 * include/grub/sparc64/libgcc.h: Likewise.
10292 * include/grub/symbol.h: Likewise.
10293 * include/grub/types.h: Likewise.
10294 * include/multiboot2.h: Likewise.
10295 * io/gzio.c: Likewise.
10296 * kern/device.c: Likewise.
10297 * kern/disk.c: Likewise.
10298 * kern/efi/efi.c: Likewise.
10299 * kern/efi/mm.c: Likewise.
10300 * kern/elf.c: Likewise.
10301 * kern/file.c: Likewise.
10302 * kern/i386/dl.c: Likewise.
10303 * kern/i386/pc/init.c: Likewise.
10304 * kern/i386/pc/startup.S: Likewise.
10305 * kern/ieee1275/ieee1275.c: Likewise.
10306 * kern/ieee1275/init.c: Likewise.
10307 * kern/main.c: Likewise.
10308 * kern/mm.c: Likewise.
10309 * kern/powerpc/dl.c: Likewise.
10310 * kern/sparc64/dl.c: Likewise.
10311 * kern/x86_64/dl.c: Likewise.
10312 * lib/hexdump.c: Likewise.
10313 * loader/efi/appleloader.c: Likewise.
10314 * loader/i386/ieee1275/linux.c: Likewise.
10315 * loader/i386/pc/chainloader.c: Likewise.
10316 * loader/i386/pc/linux.c: Likewise.
10317 * loader/i386/pc/multiboot2.c: Likewise.
10318 * loader/ieee1275/multiboot2.c: Likewise.
10319 * loader/multiboot2.c: Likewise.
10320 * loader/multiboot_loader.c: Likewise.
10321 * loader/powerpc/ieee1275/linux.c: Likewise.
10322 * normal/completion.c: Likewise.
10323 * normal/menu_entry.c: Likewise.
10324 * partmap/apple.c: Likewise.
10325 * util/grub.d/10_hurd.in: Likewise.
10326 * util/hostfs.c: Likewise.
10327 * video/readers/png.c: Likewise.
10328
e2d70b5c
CW
103292010-01-03 Colin Watson <cjwatson@ubuntu.com>
10330
10331 * include/grub/misc.h (GNUC_PREREQ): New macro.
10332 (ATTRIBUTE_ERROR): New macro.
10333 * include/grub/list.h (grub_bad_type_cast_real): Use
10334 ATTRIBUTE_ERROR.
10335
a173283f 103362010-01-03 Carles Pina i Estany <carles@pina.cat>
10337
10338 * normal/menu_text.c (print_message): Change messages.
10339
7fa7ff74 103402010-01-03 Carles Pina i Estany <carles@pina.cat>
10341
10342 * normal/menu_entry.c (store_completion): Gettextizze.
10343
136d24f6 103442010-01-03 Carles Pina i Estany <carles@pina.cat>
10345
10346 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
10347
f936862e 103482010-01-03 Carles Pina i Estany <carles@pina.cat>
10349
10350 * po/POTFILES: Sort correctly.
10351
29c44ad1 103522010-01-03 Carles Pina i Estany <carles@pina.cat>
10353
10354 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
10355 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
10356 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
10357 full stop.
10358 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
10359 summary. Gettextizze the strings.
10360 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
10361 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
10362 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
10363 full stop.
10364 (GRUB_MOD_INIT): Remove command name from summary.
10365 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
10366 summary.
10367 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
10368 * term/i386/pc/serial.c (options): Add full stops.
10369 (GRUB_MOD_INIT): Remove command name from the summary.
10370
77a79592 103712010-01-03 Carles Pina i Estany <carles@pina.cat>
10372
10373 * commands/acpi.c: Gettextizze help strings and/or options. Include
10374 `grub/i18n.h' if needed.
10375 * commands/blocklist.c: Likewise.
10376 * commands/boot.c: Likewise.
10377 * commands/cat.c: Likewise.
10378 * commands/cmp.c: Likewise.
10379 * commands/configfile.c: Likewise.
10380 * commands/crc.c: Likewise.
10381 * commands/date.c: Likewise.
10382 * commands/echo.c: Likewise.
10383 * commands/efi/fixvideo.c: Likewise.
10384 * commands/efi/loadbios.c: Likewise.
10385 * commands/gptsync.c: Likewise.
10386 * commands/halt.c: Likewise.
10387 * commands/handler.c: Likewise.
10388 * commands/hdparm.c: Likewise.
10389 * commands/hexdump.c: Likewise.
10390 * commands/i386/cpuid.c: Likewise.
10391 * commands/i386/pc/drivemap.c: Likewise.
10392 * commands/i386/pc/halt.c: Likewise.
10393 * commands/i386/pc/pxecmd.c: Likewise.
10394 * commands/i386/pc/vbeinfo.c: Likewise.
10395 * commands/i386/pc/vbetest.c: Likewise.
10396 * commands/ieee1275/suspend.c: Likewise.
10397 * commands/keystatus.c: Likewise.
10398 * commands/loadenv.c: Likewise.
10399 * commands/ls.c: Likewise.
10400 * commands/lsmmap.c: Likewise.
10401 * commands/lspci.c: Likewise.
10402 * commands/memrw.c: Likewise.
10403 * commands/minicmd.c: Likewise.
10404 * commands/parttool.c: Likewise.
10405 * commands/password.c: Likewise.
10406 * commands/probe.c: Likewise.
10407 * commands/read.c: Likewise.
10408 * commands/reboot.c: Likewise.
10409 * commands/search.c: Likewise.
10410 * commands/sleep.c: Likewise.
10411 * commands/test.c: Likewise.
10412 * commands/true.c: Likewise.
10413 * commands/usbtest.c: Likewise.
10414 * commands/videotest.c: Likewise.
10415 * commands/xnu_uuid.c: Likewise.
10416 * disk/loopback.c: Likewise.
10417 * hello/hello.c: Likewise.
10418 * loader/i386/bsd.c: Likewise.
10419 * term/i386/pc/serial.c: Likewise.
10420 * po/POTFILES: Add new files.
10421
da8d5c53
CW
104222010-01-02 Colin Watson <cjwatson@ubuntu.com>
10423
10424 * term/i386/pc/at_keyboard.c
10425 (keyboard_controller_wait_untill_ready): Rename to ...
10426 (keyboard_controller_wait_until_ready): ... this. Update all users.
10427
33937904 104282010-01-01 Carles Pina i Estany <carles@pina.cat>
10429
10430 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
10431 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
10432 string using string width.
10433 * normal/menu_text.c (grub_print_message_indented): Use
10434 grub_print_spaces and not print_spaces.
10435 (print_timeout): Likewise.
10436 (print_spaces): Move to...
10437 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
10438
3fd3b8d8
RM
104392010-01-01 Robert Millan <rmh.grub@aybabtu.com>
10440
10441 Import from Gnulib.
10442
10443 * gnulib/getdelim.c: New file.
10444 * gnulib/getline.c: Likewise.
10445
33433555
VS
104462009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
10447
10448 * include/grub/list.h (grub_assert_fail): Removed.
10449 (grub_bad_type_cast_real): New function.
10450 (grub_bad_type_cast): New macro.
10451 (GRUB_AS_LIST): Use grub_bad_type_cast.
10452 (GRUB_AS_LIST_P): Likewise.
e44721e8 10453 (GRUB_AS_NAMED_LIST): Likewise.
33433555 10454 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 10455 (GRUB_AS_PRIO_LIST): Likewise.
33433555 10456 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 10457 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 10458
f5a51306
VS
104592009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
10462 Fix syntax error.
10463
90d1e879
RM
104642009-12-29 Robert Millan <rmh.grub@aybabtu.com>
10465
10466 * configure.ac: Check for TARGET_CFLAGS initialization before we
10467 initialize it ourselves (sigh).
10468 Move a few modifications to TARGET_CFLAGS to be unconditional
10469 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
10470 eh_frame)
10471
10472 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
10473 * term/i386/pc/at_keyboard.c
10474 (keyboard_controller_wait_untill_ready): Likewise.
10475 (keyboard_controller_led): Rename `led_status' paramter to avoid
10476 name conflict.
10477
465b5a81 104782009-12-28 Carles Pina i Estany <carles@pina.cat>
10479
10480 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
10481 quotes.
10482
c181849b
VS
104832009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
10486
9c8739a4
VS
104872009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * normal/menu_text.c (grub_print_message_indented): Prevent
10490 past-the-end-of-array dereference.
10491
3e74249c
VS
104922009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
10495 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
10496
64fd18ed 104972009-12-27 Carles Pina i Estany <carles@pina.cat>
10498
10499 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
10500 * normal/main.c (grub_normal_read_line): Remove a space from the
10501 default prompt.
10502
714af9b9 105032009-12-27 Carles Pina i Estany <carles@pina.cat>
10504
10505 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
10506 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10507 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10508 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10509 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10510 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10511 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10512
82f3e412 105132009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 10514
10515 * video/readers/jpeg.c (cmd): Declare.
10516 (grub_cmd_jpegtest): Use `grub_command_t' type.
10517 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10518 Assign to `cmd'.
10519 (GRUB_MOD_FINI): Use `cmd' to unregister.
10520 * video/readers/png.c (cmd): Declare.
10521 (grub_cmd_pngtest): Use `grub_command_t' type.
10522 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10523 Assign to `cmd'.
10524 (GRUB_MOD_FINI): Use `cmd' to unregister.
10525 * video/readers/tga.c (cmd): Declare.
10526 (grub_cmd_tgatest): Use `grub_command_t' type.
10527 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10528 Assign to `cmd'.
10529 (GRUB_MOD_FINI): Use `cmd' to unregister.
10530
82f3e412 105312009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 10532
10533 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
10534 stops.
10535 * kern/corecmd.c (grub_register_core_commands): Likewise.
10536 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
10537 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10538 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
10539 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10540 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10541 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
10542 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10543 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
10544 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10545 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10546 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10547 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10548 * normal/handler.c (insert_handler): Likewise.
10549 * normal/main.c (GRUB_MOD_INIT): Likewise.
10550 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10551
fdcdbb66 105522009-12-26 Carles Pina i Estany <carles@pina.cat>
10553
10554 * commands/help.c (grub_cmd_help): Print the command name before the
10555 summary.
10556 (GRUB_MOD_INIT): Remove command name from the summary.
10557 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 10558 string as summary.
fdcdbb66 10559 * lib/arg.c (find_long): Print the command name before the summary.
10560 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
10561 summary.
10562 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
10563 * commands/cat.c (GRUB_MOD_INIT): Likewise.
10564 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
10565 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
10566 * commands/crc.c (GRUB_MOD_INIT): Likewise.
10567 * commands/date.c (GRUB_MOD_INIT): Likewise.
10568 * commands/echo.c (GRUB_MOD_INIT): Likewise.
10569 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
10570 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10571 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10572 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
10573 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
10574 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
10575 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
10576 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10577 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
10578 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
10579 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
10580 * commands/ls.c (GRUB_MOD_INIT): Likewise.
10581 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10582 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10583 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10584 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
10585 * commands/password.c (GRUB_MOD_INIT): Likewise.
10586 * commands/probe.c (GRUB_MOD_INIT): Likewise.
10587 * commands/read.c (GRUB_MOD_INIT): Likewise.
10588 * commands/search.c (GRUB_MOD_INIT): Likewise.
10589 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
10590 * commands/test.c (GRUB_MOD_INIT): Likewise.
10591 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
10592 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10593 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10594 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
10595 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10596 * lib/arg.c (GRUB_MOD_INIT): Likewise.
10597 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
10598 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10599 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10600 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10601 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10602 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
10603 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
10604 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
10605
9c288be2
VS
106062009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 Use search command for preliminar UUID search.
10609
10610 * commands/search.c: Split into ...
10611 * commands/search_wrap.c: ...this
10612 * commands/search.c: ...and this.
10613 * commands/search_file.c: New file.
10614 * commands/search_label.c: New file.
10615 * commands/search_uuid.c: New file.
10616 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
10617 Add commands/search_wrap.c, commands/search_file.c,
10618 commands/search_label.c and commands/search_uuid.c.
10619 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
10620 (search_mod_SOURCES): Set to commands/search_wrap.c.
10621 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
10622 search_label.mod.
10623 (search_fs_file_mod_SOURCES): New variable.
10624 (search_fs_file_mod_CFLAGS): Likewise.
10625 (search_fs_file_mod_LDFLAGS): Likewise.
10626 (search_label_mod_SOURCES): Likewise.
10627 (search_label_mod_CFLAGS): Likewise.
10628 (search_label_mod_LDFLAGS): Likewise.
10629 (search_fs_uuid_mod_SOURCES): New variable.
10630 (search_fs_uuid_mod_CFLAGS): Likewise.
10631 (search_fs_uuid_mod_LDFLAGS): Likewise.
10632 (fs_file_mod_SOURCES): Removed.
10633 (fs_file_mod_CFLAGS): Likewise.
10634 (fs_file_mod_LDFLAGS): Likewise.
10635 (fs_uuid_mod_SOURCES): Removed.
10636 (fs_uuid_mod_CFLAGS): Likewise.
10637 (fs_uuid_mod_LDFLAGS): Likewise.
10638 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
10639 Set to util/grub-install.in.
10640 * disk/fs_file.c: Removed.
10641 * disk/fs_uuid.c: Likewise.
10642 * include/grub/search.h: New file.
10643 * util/grub-install.in: Handle sparc64.
10644 Create and use load.cfg.
10645 * util/sparc64/ieee1275/grub-install.in: Removed.
10646
db943399
VS
106472009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
10650 Ignore return status if CF is cleared.
10651 (grub_biosdisk_get_diskinfo_standard): Likewise.
10652
3fdae612
RM
106532009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10654
10655 * term/i386/pc/at_keyboard.c
10656 (keyboard_controller_wait_untill_ready): New function.
10657 (grub_keyboard_controller_write, grub_keyboard_controller_read)
10658 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
10659 for keyboard polling, rather than duplicate the same loop. This
10660 saves a few bytes in code size.
10661
7ebaa2b4
VS
106622009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 Support for (pxe[:server[:gateway]]) syntax and
10665 use environment variable for PXE.
10666
10667 * commands/i386/pc/pxecmd.c (options): Removed.
10668 (print_ip): Removed.
10669 (grub_cmd_pxe): Removed
10670 (grub_cmd_pxe_unload): New function.
10671 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
10672 (grub_pxe_your_ip): Made static.
10673 (grub_pxe_default_server_ip): Likewise.
10674 (grub_pxe_default_gateway_ip): Likewise.
10675 (grub_pxe_blksize): Likewise.
10676 (parse_ip): New function.
10677 (grub_pxe_open): Support server and gateway specification.
10678 (grub_pxe_close): Free disk->data.
10679 (grub_pxefs_open): Use disk->data.
10680 (grub_pxefs_read): Likewise.
10681 (grub_env_write_readonly): New function.
10682 (set_mac_env): Likewise.
10683 (set_env_limn_ro): Likewise.
10684 (parse_dhcp_vendor): Likewise.
10685 (grub_pxe_detect): Set the environment variables.
10686 (set_ip_env): New function.
10687 (write_ip_env): Likewise.
10688 (grub_env_write_pxe_default_server): Likewise.
10689 (grub_env_write_pxe_default_gateway): Likewise.
10690 (grub_env_write_pxe_blocksize): Likewise.
10691 (GRUB_MOD_INIT(pxe)): Set environment variables.
10692 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
10693 (grub_pxe_mac_addr_t): ... this. All users updated.
10694 (grub_pxe_your_ip): Removed.
10695 (grub_pxe_server_ip): Likewise.
10696 (grub_pxe_gateway_ip): Likewise.
10697 (grub_pxe_blksize): Likewise.
10698
ec5f98ab 106992009-12-25 Carles Pina i Estany <carles@pina.cat>
10700
10701 * commands/help.c: Include `<grub/i18n.h>'.
10702 (grub_cmd_help): Gettextizze.
10703 (GRUB_MOD_INIT): Likewise.
10704 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
10705 (GRUB_MOD_INIT): Gettextizze.
10706 * commands/search.c: Include `<grub/i18n.h>'.
10707 (options): Gettextizze.
10708 (GRUB_MOD_INIT): Gettextizze.
10709 * lib/arg.c: Include `<grub/i18n.h>'.
10710 (help_options): Gettextizze.
10711 (find_long): Likewise.
10712 (grub_arg_show_help): Likewise.
10713 * normal/dyncmd.c: Include `<grub/i18n.h>'.
10714 (read_command_list): Gettextizze.
10715 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 10716 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 10717
22815526
RM
107182009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10719
10720 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
10721 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
10722 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
10723 (led_status): New variable.
10724 (keyboard_controller_led): New function.
10725 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
10726 update led status for caps lock, num lock and scroll lock.
10727
0ad46fd7
FZ
107282009-12-25 Felix Zielcke <fzielcke@z-51.de>
10729
10730 * util/hostdisk.c (open_device): Fix a comment.
10731
d0e158c2
RM
107322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10733
10734 * util/grub-install.in (host_os): New variable.
10735 * util/i386/efi/grub-install.in (host_os): Likewise.
10736
401c0ad6
RM
107372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10738
10739 * util/mkisofs/write.c (padblock_write): Abort when given an
10740 excedingly large embed image, instead of silently truncating it.
10741
d14d3370
RM
107422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10743
10744 * include/multiboot.h: Indentation fixes.
10745
eeed10b4
RM
107462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10747
10748 * include/multiboot.h (struct multiboot_aout_symbol_table)
10749 (struct multiboot_elf_section_header_table): New structure
10750 declarations (stolen from GRUB Legacy).
10751 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
10752 table information.
10753
10754 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
10755 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
10756 type aliases.
10757
681c70ab
RM
107582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10759
10760 * include/multiboot.h: Make comments src2texi-friendly.
10761
e4d47d8d
RM
107622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10763
10764 For consistency with [multiboot]/docs/boot.S.
10765
10766 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
10767 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
10768 (MULTIBOOT_MAGIC2): Rename from this ...
10769 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
10770
a0b70bda
RM
107712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10772
10773 * include/multiboot.h: Remove `<grub/types.h>'.
10774 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
10775 types. Update all users.
10776
61ba42be 107772009-12-25 Carles Pina i Estany <carles@pina.cat>
10778
10779 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
10780 `couldn't' and `can not' by `cannot'.
10781 * commands/i386/pc/drivemap.c: Likewise.
10782 * disk/ata.c: Likewise.
10783 * disk/ieee1275/nand.c: Likewise.
10784 * fs/affs.c: Likewise.
10785 * fs/fat.c: Likewise.
10786 * fs/hfs.c: Likewise.
10787 * fs/hfsplus.c: Likewise.
10788 * fs/iso9660.c: Likewise.
10789 * fs/jfs.c: Likewise.
10790 * fs/minix.c: Likewise.
10791 * fs/reiserfs.c: Likewise.
10792 * fs/sfs.c: Likewise.
10793 * fs/udf.c: Likewise.
10794 * fs/ufs.c: Likewise.
10795 * fs/xfs.c: Likewise.
10796 * loader/powerpc/ieee1275/linux.c: Likewise.
10797 * loader/sparc64/ieee1275/linux.c: Likewise.
10798 * util/grub-probe.c: Likewise.
10799 * util/misc.c: Likewise.
10800
7fd0baee 108012009-12-24 Carles Pina i Estany <carles@pina.cat>
10802
10803 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
10804 grub_errno calls.
10805 * commands/acpi.c: Likewise.
10806 * commands/blocklist.c: Likewise.
10807 * commands/efi/loadbios.c: Likewise.
10808 * commands/i386/pc/drivemap.c: Likewise.
10809 * commands/loadenv.c: Likewise.
10810 * commands/memrw.c: Likewise.
10811 * commands/password.c: Likewise.
10812 * commands/videotest.c: Likewise.
10813 * disk/ata.c: Likewise.
10814 * disk/ata_pthru.c: Likewise.
10815 * disk/dmraid_nvidia.c: Likewise.
10816 * disk/ieee1275/nand.c: Likewise.
10817 * disk/ieee1275/ofdisk.c: Likewise.
10818 * disk/loopback.c: Likewise.
10819 * disk/lvm.c: Likewise.
10820 * disk/mdraid_linux.c: Likewise.
10821 * disk/raid.c: Likewise.
10822 * disk/raid6_recover.c: Likewise.
10823 * disk/scsi.c: Likewise.
10824 * efiemu/main.c: Likewise.
10825 * efiemu/mm.c: Likewise.
10826 * efiemu/pnvram.c: Likewise.
10827 * efiemu/symbols.c: Likewise.
10828 * font/font.c: Likewise.
10829 * fs/cpio.c: Likewise.
10830 * fs/hfsplus.c: Likewise.
10831 * fs/iso9660.c: Likewise.
10832 * fs/jfs.c: Likewise.
10833 * fs/minix.c: Likewise.
10834 * fs/ntfs.c: Likewise.
10835 * fs/ntfscomp.c: Likewise.
10836 * fs/reiserfs.c: Likewise.
10837 * fs/ufs.c: Likewise.
10838 * fs/xfs.c: Likewise.
10839 * gettext/gettext.c: Likewise.
10840 * include/grub/auth.h: Likewise.
10841 * kern/elf.c: Likewise.
10842 * kern/file.c: Likewise.
10843 * kern/ieee1275/init.c: Likewise.
10844 * kern/ieee1275/mmap.c: Likewise.
10845 * kern/ieee1275/openfw.c: Likewise.
10846 * kern/powerpc/dl.c: Likewise.
10847 * kern/sparc64/dl.c: Likewise.
10848 * lib/arg.c: Likewise.
10849 * loader/i386/bsd.c: Likewise.
10850 * loader/i386/bsdXX.c: Likewise.
10851 * loader/i386/efi/linux.c: Likewise.
10852 * loader/i386/efi/xnu.c: Likewise.
10853 * loader/i386/ieee1275/linux.c: Likewise.
10854 * loader/i386/linux.c: Likewise.
10855 * loader/i386/multiboot.c: Likewise.
10856 * loader/i386/pc/linux.c: Likewise.
10857 * loader/i386/pc/multiboot2.c: Likewise.
10858 * loader/i386/xnu.c: Likewise.
10859 * loader/ieee1275/multiboot2.c: Likewise.
10860 * loader/macho.c: Likewise.
10861 * loader/machoXX.c: Likewise.
10862 * loader/multiboot2.c: Likewise.
10863 * loader/multiboot_loader.c: Likewise.
10864 * loader/powerpc/ieee1275/linux.c: Likewise.
10865 * loader/sparc64/ieee1275/linux.c: Likewise.
10866 * loader/xnu.c: Likewise.
10867 * loader/xnu_resume.c: Likewise.
10868 * mmap/i386/pc/mmap.c: Likewise.
10869 * normal/menu_viewer.c: Likewise.
10870 * partmap/acorn.c: Likewise.
10871 * partmap/amiga.c: Likewise.
10872 * partmap/apple.c: Likewise.
10873 * script/lexer.c: Likewise.
10874 * term/gfxterm.c: Likewise.
10875 * term/i386/pc/serial.c: Likewise.
10876 * term/i386/pc/vga.c: Likewise.
10877 * term/ieee1275/ofconsole.c: Likewise.
10878 * term/terminfo.c: Likewise.
10879 * video/bitmap.c: Likewise.
10880 * video/efi_gop.c: Likewise.
10881 * video/efi_uga.c: Likewise.
10882 * video/fb/video_fb.c: Likewise.
10883 * video/i386/pc/vbe.c: Likewise.
10884 * video/readers/tga.c: Likewise.
10885 * video/video.c: Likewise.
10886
0ad46fd7 108872009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
10888
10889 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
10890 * commands/lspci.c: Likewise.
10891 * commands/probe.c: Likewise.
10892 * commands/xnu_uuid.c: Likewise.
10893 * conf/i386-coreboot.rmk: Likewise.
10894 * conf/i386-efi.rmk: Likewise.
10895 * conf/i386-ieee1275.rmk: Likewise.
10896 * conf/i386-pc.rmk: Likewise.
10897 * conf/powerpc-ieee1275.rmk: Likewise.
10898 * conf/sparc64-ieee1275.rmk: Likewise.
10899 * conf/x86_64-efi.rmk: Likewise.
10900 * fs/i386/pc/pxe.c: Likewise.
10901 * gettext/gettext.c: Likewise.
10902 * include/grub/efi/graphics_output.h: Likewise.
10903 * include/grub/i386/pc/memory.h: Likewise.
10904 * kern/env.c: Likewise.
10905 * kern/i386/qemu/startup.S: Likewise.
10906 * lib/i386/pc/biosnum.c: Likewise.
10907 * lib/i386/relocator.c: Likewise.
10908 * lib/i386/relocator_asm.S: Likewise.
10909 * lib/relocator.c: Likewise.
10910 * loader/i386/bsd.c: Likewise.
10911 * loader/i386/multiboot.c: Likewise.
10912 * loader/i386/pc/chainloader.c: Likewise.
10913 * loader/i386/xnu.c: Likewise.
10914 * loader/xnu.c: Likewise.
10915 * normal/main.c: Likewise.
10916 * normal/menu_text.c: Likewise.
10917 * util/getroot.c: Likewise.
10918 * util/grub-mkconfig_lib.in: Likewise.
10919 * util/grub.d/00_header.in: Likewise.
10920 * util/i386/pc/grub-mkimage.c: Likewise.
10921 * util/mkisofs/eltorito.c: Likewise.
10922 * util/mkisofs/exclude.h: Likewise.
10923 * util/mkisofs/hash.c: Likewise.
10924 * util/mkisofs/iso9660.h: Likewise.
10925 * util/mkisofs/joliet.c: Likewise.
10926 * util/mkisofs/mkisofs.c: Likewise.
10927 * util/mkisofs/mkisofs.h: Likewise.
10928 * util/mkisofs/multi.c: Likewise.
10929 * util/mkisofs/name.c: Likewise.
10930 * util/mkisofs/rock.c: Likewise.
10931 * util/mkisofs/tree.c: Likewise.
10932 * util/mkisofs/write.c: Likewise.
10933 * video/efi_gop.c: Likewise.
10934
009ec743
VS
109352009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
10938 size counting.
10939
0ad46fd7 109402009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
10941
10942 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
10943 * genmk.rb (class SCRIPT): Modify the target file instead of source.
10944
d3d30ea0
VS
109452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
10948 (GRUB_MOD_INIT(memrw)): Update help line.
10949
a34f5c70
VS
109502009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
10953 Use grub_extcmd_t. All users updated.
10954 (options): New variable.
10955 (grub_cmd_read): Restructure for readability. Support "-v" option.
10956 (grub_cmd_write): Restructure for readability.
10957
0ad46fd7 109582009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
10959
10960 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
10961
0ad46fd7 109622009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
10963
10964 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
10965 with the actual contents of the correspondending make variable.
10966 * util/grub-mkrescue.in (pkglib_DATA): New variable.
10967 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
10968 specifying `*.lst' and `efiemu??.o'
10969
0ad46fd7 109702009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
10971
10972 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
10973 after function name.
10974 Noticed by Rene Engelhard <rene@debian.org>.
10975
dc77a799
VS
109762009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
10979 (options): New variable.
10980 (iospace): Likewise.
10981 (grub_lspci_iter): List IO spaces if "-i" was given.
10982 (grub_cmd_lspci): Parse options.
10983 (GRUB_MOD_INIT(lspci)): Use extcmd.
10984 (GRUB_MOD_FINI(lspci)): Likewise.
10985
0ad46fd7 109862009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
10987
10988 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
10989 `function' keyword.
10990 Patch by Tony Mancill <tmancill@debian.org>.
10991
b5d5993b
VS
109922009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
10995 (grub_uhci_portstatus): Likewise.
10996 (grub_uhci_portstatus): Add necessary delay.
11d18281 10997 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 10998
941903f2 109992009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 11000
941903f2 11001 * commands/acpi.c (options): Fix capitalizations and/or full stops.
11002 (GRUB_MOD_INIT): Likewise.
11003 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 11004 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
11005 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 11006 * commands/efi/loadbios.c (enable_rom_area): Likewise.
11007 (enable_rom_area): Likewise.
11008 (GRUB_MOD_INIT): Likewise.
11009 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11010 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
11011 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11012 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
11013 * commands/hexdump.c (options): Likewise.
11014 * commands/i386/cpuid.c (options): Likewise.
11015 (GRUB_MOD_INIT): Likewise.
11016 * commands/i386/pc/drivemap.c (options): Likewise.
11017 (GRUB_MOD_INIT): Likewise.
11018 * commands/i386/pc/halt (options): Likewise.
11019 (GRUB_MOD_INIT): Likewise.
11020 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11021 * commands/i386/pc/pxecmd.c (options): Likewise.
11022 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
11023 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
11024 * commands/keystatus.c (options): Likewise.
11025 (GRUB_MOD_INIT): Likewise.
11026 * commands/loadenv.c (options): Likewise.
11027 * commands/ls.c (options): Likewise.
11028 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11029 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11030 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11031 * commands/parttool.c (helpmsg): Likewise.
11032 * commands/probe.c (options): Likewise.
11033 * commands/read.c (GRUB_MOD_INIT): Likewise.
11034 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
11035 * commands/search.c (options): Likewise.
11036 * commands/sleep.c (options): Likewise.
11037 * commands/test.c (GRUB_MOD_INIT): Likewise.
11038 * commands/true.c (GRUB_MOD_INIT): Likewise.
11039 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
11040 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
11041 * lib/arg.c (help_options): Likewise.
e9bbb4e7 11042 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
11043 `$(XGETTEXT)'.
98a50553 11044 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 11045
0ad46fd7 110462009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 11047
ef3c2c3a 11048 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
11049 instead of specifying them explicit.
11050
7922f68b
RM
110512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11052
11053 * NEWS: Add grub-probe support for GNU/Hurd.
11054
537ce47f
RM
110552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11056
11057 * NEWS: gettext was added after 1.97.
11058
9b214e3a
RM
110592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11060
11061 * util/mkisofs/msdos_partition.h: New file (based on
11062 include/grub/msdos_partition.h).
11063 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
11064 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
11065 (ld_options, main): Recognize --protective-msdos-label.
11066 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
11067 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
11068 (padblock_write): If `use_protective_msdos_label' is set, patch a
11069 protective DOS-style label in the output image.
11070
11071 * util/grub-mkrescue.in: Use --protective-msdos-label.
11072
e9309813
RM
110732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11074
11075 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
11076 boot.
11077
0ae56929
RM
110782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11079
11080 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
11081 variables.
11082 (ld_options, main): Recognize `--embedded-boot'.
11083 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
11084 declarations.
11085 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
11086 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
11087 (padblock_write): Likewise. Rewrite to support embedded boot image.
11088
11089 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
11090 for BIOS-based disk boot instead of only ElTorito.
11091
b15937b1
RM
110922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11093
11094 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
11095 build (not needed for bootstrap).
11096
52cc3ce0
RM
110972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11098
11099 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
11100 from i386-pc build (not needed for bootstrap).
11101 Rewrite a pair of strings.
11102
36f5ff04
RM
111032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11104
11105 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
11106
973c6c85 111072009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
11108
11109 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
11110
05d21547
AB
111112009-12-21 Andreas Born <futur.andy@googlemail.com>
11112
11113 * kern/env.c (grub_env_context_open): Mark exported variable for
11114 reexport.
11115
0175d51f
AB
111162009-12-21 Andreas Born <futur.andy@googlemail.com>
11117
11118 * kern/env.c (grub_env_export): Create nonexistent variables before
11119 exporting.
11120
7f39d92f 111212009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 11122
7f39d92f 11123 * include/grub/auth.h: Include `<grub/i18n.h>'.
11124 (GRUB_GET_PASSWORD): Gettextizze string.
11125 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
11126 menu_text.c.
11127 (grub_utf8_to_ucs4_alloc): Fix indentation.
11128 (grub_print_ucs4): Likewise.
11129 (grub_getstringwidth): Likewise.
11130 (print_message_indented): New declaration.
11131 * normal/auth.c: Include `<grub/i18n.h>'.
11132 (grub_auth_check_authentication): Gettexttize string.
11133 * normal/cmdline.c: Include `<grub/i18n.h>'.
11134 (grub_cmdline_get): Gettextizze.
11135 * normal/color.c: Include `<grub/i18n.h>'.
11136 (grub_parse_color_name_pair): Gettexttize strings.
11137 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
11138 string (use `print_message_indented').
11139 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
11140 `include/grub/normal.h'.
11141 (print_message_indented): Renamed to ...
11142 (grub_print_message_indented): ... this. Remove `static' qualifer (now
11143 used in normal/main.c).
11144 (print_message): Use `grub_print_message_indented' instead of
11145 `print_message_indented'.
11146 (print_timeout): Likewise.
11147 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
11148 (grub_normal_print_device_info): Gettexttize strings.
11149 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
11150
3041d898
VS
111512009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
11154 of arguments. Return number of tokens and not arguments. All users
11155 updated.
11156
de15bf8e
VS
111572009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
11160 non-MSDOS paritions.
11161
e0a6ca52
VS
111622009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * include/grub/types.h (UNUSED): Removed since it conflicts with
11165 NetBSD headers. All users changed to direct __attribute__ ((unused)).
11166 Reported by Grégoire Sutre.
11167
b99518d1 111682009-12-19 Carles Pina i Estany <carles@pina.cat>
11169
11170 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
11171 (grub_print_ucs4_alloc): Likewise.
11172 (grub_getstringwidth): Likewise.
11173 * normal/main.c (grub_normal_init_page): Gettextize version string.
11174 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
11175 (getstringwidth): Renamed to ...
11176 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
11177 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
11178 (grub_print_ucs4): Remove `static' qualifer (now used in
11179 normal/main.c).
11180 * po/POTFILES: Add normal/main.c.
11181
bfd5e52b 111822009-12-19 Carles Pina i Estany <carles@pina.cat>
11183
11184 * normal/menu_text.c (STANDARD_MARGIN): New macro.
11185 (print_message_indented): Add `margin_left' and `margin_right'
11186 parameters.
11187 (print_message): Update `print_message_indented' calls. Adds '\n' to the
11188 strings.
11189 (print_timeout): Use `print_message_indented' to print the message.
11190 Deletes `second_stage' parameter.
11191 (run_menu): Update `print_timeout' calls.
11192
5a1ad2b9
VS
111932009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 Fix console palette on OpenFirmware.
11196
11197 * term/ieee1275/ofconsole.c (MAX): Removed.
11198 (colors): Redone based on VGA palette.
11199 (grub_ofconsole_setcolor): Discard brightness bit since only 8
11200 colors are supported.
11201 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
11202
b045f00a
VS
112032009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 Fix potential EfiEmu double prepare.
11206
11207 * efiemu/main.c (prepared): New variable
11208 (grub_efiemu_unload): Set prepare to '0'.
11209 (grub_efiemu_prepare): Return if already prepared. Set prepared.
11210
11211 set_virtual_address_map support.
11212
11213 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
11214 prototype.
11215 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
11216 prototype.
11217 (grub_efiemu_crc32): Likewise.
11218 (grub_efiemu_crc64): Likewise.
11219 (grub_efiemu_set_virtual_address_map): Likewise.
11220 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
11221 New definition.
11222 (grub_autoefi_set_virtual_address_map): Likewise.
11223 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
11224 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
11225 Restructure flow to accomodate it.
11226 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
11227 (grub_efiemu_crc): Recompute CRC32.
11228 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
11229 (efiemu_ptv_relocated): ... this. Made global. All users updated.
11230 * efiemu/symbols.c (relocated_handle): New variable.
11231 (grub_efiemu_free_syms): Free relocated_handle.
11232 (grub_efiemu_alloc_syms): Allocate relocated_handle.
11233 (grub_efiemu_write_sym_markers): New function.
11234 (grub_efiemu_set_virtual_address_map): Likewise.
11235
11236 Newer XNU parameters.
11237
11238 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
11239 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
11240 (grub_xnu_fill_devicetree): New prototype.
11241 (grub_xnu_heap_real_start): New variable.
11242 * loader/xnu.c (get_name_ptr): New function.
11243 (grub_xnu_load_driver): Fill namelen and name.
11244
11245 64-bit xnu support.
11246
11247 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
11248 and 'loader/macho64.c'.
11249 * conf/i386-pc.rmk: Likewise.
11250 * conf/x86_64-efi.rmk: Likewise.
11251 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
11252 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
11253 * include/grub/macho.h (grub_macho_segment64): New structure.
11254 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
11255 (grub_macho_size32): ... to this.
11256 (grub_macho32_get_entry_point): Renamed from ...
11257 (grub_macho_get_entry_point32): ... to this.
11258 (grub_macho_contains_macho64): New prototype.
11259 (grub_macho_size64): Likewise.
11260 (grub_macho_get_entry_point64): Likewise.
11261 (grub_macho32_load): Renamed from ...
11262 (grub_macho_load32): ... to this.
11263 (grub_macho32_filesize): Renamed from ...
11264 (grub_macho_filesize32): ... to this.
11265 (grub_macho32_readfile): Renamed from ...
11266 (grub_macho_readfile32): ... to this.
11267 (grub_macho_filesize64): New prototype.
11268 (grub_macho_readfile64): Likewise.
11269 (grub_macho_parse32): Likewise.
11270 (grub_macho_parse64): Likewise.
11271 * loader/macho.c: Split into ...
11272 * loader/machoXX.c: ... and this. Replace 32 with XX.
11273 * loader/macho32.c: New file.
11274 * loader/macho64.c: Likewise.
11275 * loader/xnu.c (grub_xnu_is_64bit): New variable.
11276 (grub_cmd_xnu_kernel): Make 32-bit only.
11277 (grub_cmd_xnu_kernel64): New function.
11278 (grub_xnu_load_driver): Support Mach-O 64.
11279 (grub_cmd_xnu_mkext): Likewise.
11280 * util/grub.d/30_os-prober.in (osx_entry): New function.
11281 Generate entries for 64-bit boot too.
11282
11283 Eliminate ad-hoc tree format in XNU and EfiEmu.
11284
11285 * efiemu/main.c (grub_efiemu_prepare): Update comment.
11286 * efiemu/pnvram.c: Rewritten to use environment variables.
11287 All users updated.
11288
11289 Inline utf16_to_utf8.
11290
11291 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
11292 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
11293 All users updated.
11294 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
11295
11296 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
11297 * commands/usbtest.c (grub_usb_get_string): ... move here.
11298 (usb_print_str): Fix error handling.
11299 * include/grub/usb.h (grub_usb_get_string): Remove.
11300
11301 UTF-8 to UTF-16 transformation.
11302
11303 * conf/common.rmk (pkglib_MODULES): Add charset.mod
11304 (charset_mod_SOURCES): New variable.
11305 (charset_mod_CFLAGS): Likewise.
11306 (charset_mod_LDFLAGS): Likewise.
11307 * include/grub/utf.h: New file.
11308 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
11309
11310 Support for device properties.
11311
11312 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
11313 (grub_xnu_devprop_device_header): Likewise.
11314 (grub_xnu_devprop_device_descriptor): Likewise.
11315 (grub_xnu_devprop_add_device): New prototype.
11316 (grub_xnu_devprop_remove_device): Likewise.
11317 (grub_xnu_devprop_remove_property): Likewise.
11318 (grub_xnu_devprop_add_property_utf8): Likewise.
11319 (grub_xnu_devprop_add_property_utf16): Likewise.
11320 (grub_cpu_xnu_init): Likewise.
11321 (grub_cpu_xnu_fini): Likewise.
11322 (grub_cpu_xnu_unload): Likewise.
11323 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
11324 (property_descriptor): Likewise.
11325 (devices): New variable.
11326 (grub_xnu_devprop_remove_property): New function.
11327 (grub_xnu_devprop_add_device): Likewise.
11328 (grub_xnu_devprop_remove_device): Likewise.
11329 (grub_xnu_devprop_add_property): Likewise.
11330 (grub_xnu_devprop_add_property_utf8): Likewise.
11331 (grub_xnu_devprop_add_property_utf16): Likewise.
11332 (hextoval): Likewise.
11333 (grub_cpu_xnu_fill_devprop): Likewise.
11334 (grub_cmd_devprop_load): Likewise.
11335 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
11336 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
11337 (cmd_devprop_load): New variable.
11338 (grub_cpu_xnu_init): New function.
11339 (grub_cpu_xnu_fini): Likewise.
11340 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
11341 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
11342 (grub_cmd_xnu_devtree): Likewise.
11343 (hextoval): New function.
11344 (unescape): Likewise.
11345 (grub_xnu_fill_devicetree): Likewise.
11346
11347 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
11348 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
11349
0945f181
VS
113502009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 Workaround for broken ATI VBE.
11353
11354 * video/i386/pc/vbe.c (last_set_mode): New variable.
11355 (grub_vbe_set_video_mode): Set 'last_set_mode'.
11356 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
11357 (grub_video_vbe_setup): Don't check for reserved flag.
11358
0ad46fd7 113592009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
11360
11361 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
11362 the `find' command.
11363
c179ebe4
VS
113642009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 UUID support for HFS.
11367
11368 * fs/hfs.c (grub_hfs_uuid): New function.
11369 (grub_hfs_fs): New value .uuid.
11370 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
11371
0ad46fd7 113722009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
11373
11374 Fix a segfault with parsing unknown long options.
11375
11376 * util/grub-mkrelpath.c (options): Zero terminate it.
11377
c4a3e41a
CPE
113782009-12-13 Carles Pina i Estany <carles@pina.cat>
11379
11380 * include/grub/misc.h (grub_puts): New declaration.
11381 (grub_puts_): Likewise.
a22008a6 11382 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
11383 (grub_puts_): Likewise.
11384
2e8a7602
RM
113852009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11386
11387 * util/grub-probe.c (probe): Improve error message.
11388
b50b77b9
RM
113892009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11390
11391 * loader/i386/multiboot_elfxx.c
11392 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
11393 initialization.
11394
113952009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 Relocator framework
11398
11399 * loader/i386/xnu_helper.S: Removed. All users updated.
11400 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
11401 (relocator_mod_SOURCES): New variable.
11402 (relocator_mod_CFLAGS): Likewise.
11403 (relocator_mod_LDFLAGS): Likewise.
11404 (relocator_mod_ASFLAGS): Likewise.
11405 * conf/x86_64.rmk: Likewise.
11406 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
11407 (grub_multiboot_payload_entry_offset): Likewise.
11408 (grub_multiboot_forward_relocator): Likewise.
11409 (grub_multiboot_forward_relocator_end): Likewise.
11410 (grub_multiboot_backward_relocator): Likewise.
11411 (grub_multiboot_backward_relocator_end): Likewise.
11412 (grub_multiboot_payload_eip): New variable.
11413 (grub_multiboot_payload_orig): Likewise.
11414 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
11415 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
11416 * include/grub/i386/memory.h
11417 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
11418 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
11419 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
11420 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
11421 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
11422 * include/grub/i386/relocator.h: New file.
11423 * include/grub/x86_64/relocator.h: Likewise.
11424 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
11425 (XNU_RELOCATOR): New macro.
11426 (grub_xnu_launcher_start): Remove.
11427 (grub_xnu_launcher_end): Likewise.
11428 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
11429 (grub_xnu_heap_real_start): Remove.
11430 (grub_xnu_heap_start): Change to void *. All users updated.
11431 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
11432 * lib/i386/relocator.c: New file.
11433 * lib/i386/relocator_asm.S: Likewise.
11434 * lib/i386/relocator_backward.S: Likewise.
11435 * lib/mips/relocator.c: Likewise.
11436 * lib/mips/relocator_asm.S: Likewise.
11437 * lib/relocator.c: Likewise.
11438 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
11439 (entry): Removed.
11440 (playground): Likewise.
11441 (grub_multiboot_payload_orig): New variable.
11442 (grub_multiboot_payload_dest): Likewise.
11443 (grub_multiboot_payload_size): Likewise.
11444 (grub_multiboot_payload_eip): Likewise.
11445 (grub_multiboot_payload_esp): Likewise.
11446 (grub_multiboot_boot): Use grub_relocator32_boot.
11447 (grub_multiboot_unload): Free relocators.
11448 (grub_multiboot): Setup stack. Use relocators.
11449 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
11450 (grub_multiboot_load_elfXX): Use relocators.
11451 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
11452 (grub_multiboot_payload_size): Likewise.
11453 (grub_multiboot_payload_dest): Likewise.
11454 (grub_multiboot_payload_entry_offset): Likewise.
11455 (grub_multiboot_forward_relocator): Likewise.
11456 (grub_multiboot_backward_relocator): Likewise.
11457 (grub_multiboot_real_boot): Likewise.
11458 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
11459 (grub_xnu_entry_point): Likewise.
11460 (grub_xnu_arg1): Likewise.
11461 (grub_xnu_stack): Likewise.
11462 (grub_xnu_launch): Removed.
11463 (grub_xnu_boot_resume): New function.
11464 (grub_xnu_boot): Use relocators.
11465 * loader/i386/xnu_helper.S: Removed.
11466 * loader/xnu.c (grub_xnu_heap_start): New variable.
11467 (grub_xnu_heap_size): Likewise.
11468 (grub_xnu_heap_malloc): Use relocators.
11469 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
11470
29eb90c6
VS
114712009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
11474 anything.
11475
31027430
CPE
114762009-12-13 Carles Pina i Estany <carles@pina.cat>
11477
11478 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
11479 GRUB_ERR_NONE before calling grub_env_set.
11480
dc0c71d9
RM
114812009-12-12 Robert Millan <rmh@aybabtu.com>
11482
11483 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
11484 * genmk.rb (video): New variable.
11485 (CLEANFILES, VIDEOFILES): Add #{video}.
11486 (#{video}): New target rule.
11487 * genvideolist.sh: New file.
11488 * Makefile.in (pkglib_DATA): Add video.lst.
11489 (video.lst): New target rule.
11490 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
11491 `video.lst'.
11492 * util/grub.d/30_os-prober.in: Replace `vbe' with
11493 ${GRUB_VIDEO_BACKEND}.
11494
2a4bfcf0
RM
114952009-12-11 Robert Millan <rmh.grub@aybabtu.com>
11496
11497 * THANKS: Add David Miller.
11498
2a3aa4d5
RM
114992009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 libpciaccess support.
11502
11503 * Makefile.in (LIBPCIACCESS): New variable.
11504 (enable_grub_emu_pci): Likewise.
11505 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
11506 util/pci.c and commands/lspci.c.
11507 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
11508 * configure.ac (grub-emu-pci): New option.
11509 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
11510 (grub_pci_device_unmap_range): Likewise.
11511 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
11512 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
11513 (grub_pci_address_t) [!GRUB_UTIL]: New type.
11514 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
11515 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
11516 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
11517 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
11518 * include/grub/pciutils.h: New file.
11519 * util/pci.c: Likewise.
11520
0ad46fd7 115212009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
11522
11523 * util/misc.c: Don't include <errno.h> twice.
11524
0ad46fd7 115252009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
11526
11527 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
11528 name in an error message.
11529 (grub_biosdisk_rw): Likewise.
11530
2e59983c
VS
115312009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 Eliminate NTFS 4Gib barrier.
11534
11535 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
11536 (read_run_data): Likewise.
11537 (grub_ntfs_read_run_list): Likewise.
11538 (grub_ntfs_read_block): Likewise.
11539 (grub_ntfs_iterate_dir): Likewise.
11540 (read_mft): Likewise.
11541 (read_data): Likewise.
11542 Use COM_LOG_LEN.
11543 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
11544 to avoid 64-bit division
11545 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
11546 (grub_ntfs_rlst): Use grub_disk_addr_t.
11547
71ee178a
VS
115482009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 Eliminate grub-fstest 4Gib barrier.
11551
11552 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
11553 (read_file): Fix error reporting.
11554
2520d4b8
VS
115552009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 Eliminate hexdump 4Gib barrier.
11558
11559 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
11560 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
11561
e1f27065
VS
115622009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11563
11564 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
11565 Fixes amarsh bug.
11566
1a0f7f45
RM
115672009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
11568
11569 Remove miscellaneous files in distclean target.
11570
11571 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
11572
c631d9fb
CW
115732009-12-09 Colin Watson <cjwatson@ubuntu.com>
11574
11575 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
11576 if they're already set. This resolves the conflict between my
11577 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
11578 fixing the --grub-probe option again.
11579 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
11580 change on 2009-10-06, so that we now once again source
11581 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11582
7c7b6106
RM
115832009-12-08 Robert Millan <rmh.grub@aybabtu.com>
11584
11585 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
11586 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
11587 `util/devicemap.c'.
11588
e3069ec1
CPE
115892009-12-08 Carles Pina i Estany <carles@pina.cat>
11590
11591 * include/grub/misc.h (grub_printf_): New declaration.
11592 * kern/misc.c (grub_printf_): New definition.
11593 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
11594 instead of `grub_printf' and `_'.
11595 * normal/menu_entry.c (store_completion): Likewise.
11596 (run): Likewise.
11597 (grub_menu_entry_run): Likewise.
11598 * normal/menu_text.c (grub_wait_after_message): Likewise.
11599 (notify_booting): Likewise.
11600 (notify_fallback): Likewise.
11601 (notify_execution_failure): Likewise.
11602
d6ceebf1
CW
116032009-12-07 Colin Watson <cjwatson@ubuntu.com>
11604
11605 * configure.ac: Check for vasprintf.
11606 * util/misc.c (asprintf): Move allocation from here ...
11607 (vasprintf): ... to here. New function.
11608 (xasprintf): New function.
11609 * include/grub/util/misc.h (vasprintf, xasprintf): Add
11610 prototypes.
11611 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11612 * util/grub-mkfont.c (write_font): Likewise.
11613 * util/grub-probe.c (probe): Likewise.
11614 * util/hostdisk.c (make_device_name): Likewise.
11615
de6daa8b
DM
116162009-12-06 David S. Miller <davem@sunset.davemloft.net>
11617
11618 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
11619 anything even prefixed with 'cdrom' as a cdrom.
11620
0ad46fd7 116212009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
11622
11623 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
11624 mount points.
11625
98d3dc02
CPE
116262009-12-05 Carles Pina i Estany <carles@pina.cat>
11627
11628 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
11629 grub_gettext_msg_list.
11630 (grub_gettext_gettranslation_from_position): Return const char *
11631 and not char *.
a2c1332b 11632 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
11633 returns from the list if existing there.
11634 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
11635 (grub_gettext_delete_list): Delete the list.
11636 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
11637 lang environment variable is changed.
11638 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
11639
b283f108
VS
116402009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 Rename kernel.mod to kernel.img.
11643
11644 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
11645 (kernel_mod_EXPORTS): Rename to ...
11646 (kernel_img_EXPORTS): ... this.
11647 (kernel_mod_SOURCES): Rename to ...
11648 (kernel_img_SOURCES): ... this.
11649 (kernel_mod_HEADERS): Rename to ...
11650 (kernel_img_HEADERS): ... this. All users updated.
11651 (kernel_mod_CFLAGS): Rename to ...
11652 (kernel_img_CFLAGS): ... this.
11653 (kernel_mod_ASFLAGS): Rename to ...
11654 (kernel_img_ASFLAGS): ... this.
11655 (kernel_mod_LDFLAGS): Rename to ...
11656 (kernel_img_LDFLAGS): ... this.
11657 * conf/x86_64-efi.rmk: Likewise.
11658 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
11659 (read_kernel_image): ... this. All users updated.
11660 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
11661
69055f8a
CPE
116622009-12-05 Carles Pina i Estany <carles@pina.cat>
11663
11664 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
11665 (print_spaces): New function.
11666 (grub_print_ucs4): New function.
11667 (getstringwidth): New function.
11668 (print_message_indented): New function.
11669 (print_message): Gettexttize strings using print_message_indented.
11670 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
11671 width.
11672 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 11673 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
11674 Gettextize.
11675 * normal/menu_entry.c (store_completion): Cleanup the gettextized
11676 string.
11677 (run): Likewise.
11678 (grub_menu_entry_run): Likewise.
11679 * PO/POTFILES: Add normal/menu_entry.c.
11680
f616f51c
VS
116812009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
11684
57bbe3be
CPE
116852009-12-05 Carles Pina i Estany <carles@pina.cat>
11686
11687 * util/grub-install.in: Install gettext .mo files.
11688 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
11689
013d67a1
CPE
116902009-12-05 Carles Pina i Estany <carles@pina.cat>
11691
11692 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
11693 grub_dprintf.
11694
fb954db0
RM
116952009-12-05 Robert Millan <rmh.grub@aybabtu.com>
11696
11697 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
11698 non-firmware-dependant one in realmode.S takes precedence.
11699
6b8474f8
RM
117002009-12-04 Robert Millan <rmh.grub@aybabtu.com>
11701
11702 * commands/halt.c: Replace misc arch-specific headers with
11703 `<grub/misc.h>'.
11704 * commands/reboot.c: Likewise.
11705 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
11706 `<grub/misc.h>'.
11707 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
11708 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
11709 (kernel_img_SOURCES): ... to here.
11710
11711 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
11712 * include/grub/i386/pc/init.h: Likewise.
11713 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11714 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11715
11716 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
11717
11718 * include/grub/i386/halt.h: Remove.
11719 * include/grub/i386/reboot.h: Likewise.
11720
11721 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
11722
4b2e6ca2
DM
117232009-12-03 David S. Miller <davem@sunset.davemloft.net>
11724
11725 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
11726 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
11727 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
11728 "progname.h"
11729 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11730 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11731 (usage): Add missing comma in printf.
11732
5239348f
RM
117332009-12-02 Robert Millan <rmh.grub@aybabtu.com>
11734
11735 Use the same reboot approach on i386 coreboot and qemu as we do on
11736 BIOS.
11737
11738 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
11739 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
11740 * kern/i386/reboot.c: Remove.
11741 * include/grub/i386/reboot.h (grub_reboot): Export function.
11742 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
11743 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
11744 0xf000:0xfff0 instead of 0xffff:0x0000.
11745 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
11746 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
11747
ef34cbd4
RM
117482009-11-30 Robert Millan <rmh.grub@aybabtu.com>
11749
11750 Fix $srcdir != $objdir build.
11751
11752 * Makefile.in (po/%.po): Rewrite as ...
11753 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
11754
dc9837ea
ST
117552009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
11756
11757 Fix GNU/Hurd grub-install crash.
11758 * util/grub-probe.c (probe): Try to access `path' only when it is not
11759 NULL.
11760
2f857f98
VS
117612009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11762
11763 Correct module naming.
11764
11765 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11766 (GRUB_MOD_INIT(efi_uga)): ... to this
11767 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11768 (GRUB_MOD_FINI(efi_uga)): ... to this
11769 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11770 (GRUB_MOD_INIT(efi_gop)): ... to this
11771 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11772 (GRUB_MOD_FINI(efi_gop)): ... to this
11773
c5448046
RM
117742009-11-28 Robert Millan <rmh.grub@aybabtu.com>
11775
11776 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
11777 translatable.
11778 (usage): Translate `arg' strings using gettext().
11779 Thanks to Jordi Mallach for the suggestion.
11780
c85184ad
VS
117812009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11782
11783 GOP support. Based on patch from Bean
11784 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11785
11786 * video/efi_gop.c: New file.
11787 * include/grub/efi/graphics_output.h: Likewise.
11788 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
11789 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11790 variables.
11791 * conf/x86_64-efi.rmk: Likewise.
11792
8a4c48d8
VS
117932009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 Rename efi_fb to efi_uga.
11796
11797 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11798 'efi_uga.mod'.
11799 (efi_fb_mod_SOURCES): Rename this ...
11800 (efi_uga_mod_SOURCES): ... to this.
11801 (efi_fb_mod_CFLAGS): Rename this ...
11802 (efi_uga_mod_CFLAGS): ... to this.
11803 (efi_fb_mod_LDFLAGS): Rename this ...
11804 (efi_uga_mod_LDFLAGS): ... to this.
11805 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11806 'efi_uga.mod'.
11807 (efi_fb_mod_SOURCES): Rename this ...
11808 (efi_uga_mod_SOURCES): ... to this.
11809 (efi_fb_mod_CFLAGS): Rename this ...
11810 (efi_uga_mod_CFLAGS): ... to this.
11811 (efi_fb_mod_LDFLAGS): Rename this ...
11812 (efi_uga_mod_LDFLAGS): ... to this.
11813 * video/efi_fb.c: Move this ...
11814 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
11815
fb6c1a7b
RM
118162009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11817
11818 * po/README: New file. Explain our PO file workflow.
11819
3bc7896c
RM
118202009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11821
11822 * po/ChangeLog: Remove. Move relevant entries back to ...
11823 * ChangeLog: ... here.
11824 * po/ca.po: Remove (now handled by TLP).
11825 * po/id.po: Likewise.
11826 * po/zh_CN.po: Likewise.
11827 * Makefile.in (LINGUAS): Initialize in a way that supports
11828 empty set.
11829
9ed4841d
RM
118302009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11831
11832 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
11833 reliing on po/LINGUAS.
11834 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
11835 (po/%.po): ... this.
11836
0ad46fd7 118372009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
11838
11839 * util/i386/efi/grub-mkimage.c: Include "progname.h".
11840 (main): Use `program_name' instead of nonexistent `progname'.
11841
e30dd392
FZ
118422009-11-26 Felix Zielcke <fzielcke@z-51.de>
11843
11844 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11845 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
11846
7656de4f
RM
118472009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11848
11849 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
11850 commit.
11851 * conf/i386-efi.rmk: Likewise.
11852 * conf/i386-ieee1275.rmk: Likewise.
11853 * conf/powerpc-ieee1275.rmk: Likewise.
11854 * conf/sparc64-ieee1275.rmk: Likewise.
11855 * conf/x86_64-efi.rmk: Likewise.
11856
db77c4d4
FZ
118572009-11-26 Felix Zielcke <fzielcke@z-51.de>
11858
11859 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
11860
a755bb04
FZ
118612009-11-26 Felix Zielcke <fzielcke@z-51.de>
11862
11863 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
11864
8a4c07fd
RM
118652009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11866
11867 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
11868 (grub_mkdevicemap_SOURCES): New variable.
11869 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
11870 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
11871 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
11872 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
11873 (grub_mkdevicemap_SOURCES): Remove.
11874 * conf/i386-efi.rmk: Likewise.
11875 * conf/i386-ieee1275.rmk: Likewise.
11876 * conf/i386-pc.rmk: Likewise.
11877 * conf/powerpc-ieee1275.rmk: Likewise.
11878 * conf/sparc64-ieee1275.rmk: Likewise.
11879 * conf/x86_64-efi.rmk: Likewise.
11880 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
11881 (usage): Fix strings to use `program_name'.
11882 (main): Initialize gettext.
11883 * util/grub-editenv.c: Likewise.
11884 * util/grub-emu.c: Likewise.
11885 * util/grub-fstest.c: Likewise.
11886 * util/grub-mkdevicemap.c: Likewise.
11887 * util/grub-mkfont.c: Likewise.
11888 * util/grub-mkrelpath.c: Likewise.
11889 * util/grub-pe2elf.c: Likewise.
11890 * util/grub-probe.c: Likewise.
11891 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11892 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11893 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11894
11895 * util/misc.c: Include `"progname.h"'.
11896 (progname): Remove variable.
11897 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
11898
6f61ed55
FZ
118992009-11-25 Felix Zielcke <fzielcke@z-51.de>
11900
11901 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
11902 printf and print a newline after the menuentry header line.
11903 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11904
f022876b
FZ
119052009-11-25 Felix Zielcke <fzielcke@z-51.de>
11906
11907 autoconf >= 2.60 support $(localedir).
11908
11909 * INSTALL: Note that autoconf 2.60 is required.
11910 * configure.ac (AC_PREREQ): Bump to 2.60.
11911 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
11912 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11913
6717926e
YB
119142009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
11915
11916 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
11917 aclocal is run.
11918
08806a54
RM
119192009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11920
11921 * normal/main.c (grub_normal_read_line): Fix off-by-one
11922 buffer overflow.
11923
13b33fba
RM
119242009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11925
11926 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
11927 "parser.grub" in grub_command_execute() call.
11928
4a8572e9
CPE
119292009-11-24 Carles Pina i Estany <carles@pina.cat>
11930
11931 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
11932 * conf/i386-efi.rmk: Likewise.
11933 * conf/i386-ieee1275.rmk: Likewise.
11934 * conf/i386-pc.rmk: Likewise.
11935 * conf/powerpc-ieee1275.rmk: Likewise.
11936 * conf/sparc64-ieee1275.rmk: Likewise.
11937 * conf/x86_64-efi.rmk: Likewise.
11938 * gettext/gettex.c: Include <grub/i18n.h>.
11939 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
11940 here ...
11941 * include/grub/i18n.h: ... to here
11942 * include/grub/i18n.h: ... to here.
11943 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 11944 (grub_gettext_dummy): Move above user.
4a8572e9 11945
bee48093
FZ
119462009-11-24 Felix Zielcke <fzielcke@z-51.de>
11947
11948 * util/Makefile.in (install-local): Convert a `for' into a normal
11949 shell expansion.
11950
a031e91c
RM
119512009-11-24 Robert Millan <rmh.grub@aybabtu.com>
11952
11953 * autogen.sh: Add automake call.
11954 * config.guess: Remove.
11955 * config.sub: Likewise.
11956 * install-sh: Likewise.
11957
26bec39d
FZ
119582009-11-24 Felix Zielcke <fzielcke@z-51.de>
11959
11960 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
11961
8e2532fd
FZ
119622009-11-24 Felix Zielcke <fzielcke@z-51.de>
11963
11964 * util/Makefile.in (install-local): Convert a make `$(foreach)'
11965 function to a normal shell `for'.
11966
fefa1b7d
FZ
119672009-11-24 Felix Zielcke <fzielcke@z-51.de>
11968
11969 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11970
4501250b
FZ
119712009-11-24 Felix Zielcke <fzielcke@z-51.de>
11972
11973 * util/grub-mkrelpath.c: New file.
11974 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
11975 (grub_mkrelpath_SOURCES): New variable.
11976 * include/grub/util/misc.h: New function prototype.
11977 * util/misc.c (make_system_path_relative_to_its_root): New function.
11978
11979 * util/grub-mkconfig_lib.in (bindir): New variable.
11980 (grub_mkrelpath): Likewise.
11981 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
11982
11983 * util/probe.c (probe): Make the file path relative to its root.
11984 Change a info message to use the GRUB path. Enable again the
11985 check if we can read the file with GRUB facilities.
11986
11987 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
11988 to its root.
11989
11d9778b
FZ
119902009-11-24 Felix Zielcke <fzielcke@z-51.de>
11991
11992 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
11993 platform.
11994
4465287d
FZ
119952009-11-24 Felix Zielcke <fzielcke@z-51.de>
11996
11997 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
11998 strncmp().
11999
62b47f22
FZ
120002009-11-24 Felix Zielcke <fzielcke@z-51.de>
12001
12002 * util/getroot.c (grub_util_is_dmraid): New function.
12003 (grub_util_get_dev_abstraction): Treat dmraid and multipath
12004 devices as normal ones, not as LVM.
12005
1eafb9b9 120062009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
12007
12008 * conf/common.rmk: Add grub-gettext_lib target and updates
12009 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
12010 LDFLAGS.
12011 * gettext/gettext.c: New file. (Reads mo files).
12012 * include/grub/file.h (grub_file_pread): New prototype.
12013 * include/grub/i18n.h (_): New prototype.
12014 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
12015 prototypes.
12016 * kern/misc.c (grub_gettext_dummy): New function.
12017 * normal/menu_text.c: Include <grub/i18n.h>.
12018 * normal/menu_text.c (print_timeout): Gettexttize string.
12019 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
12020 * po/POTFILES: Add `normal/menu_text.c'.
12021 * po/ca.po: Add new translations.
c3ea6bd4
CPE
12022 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
12023 gettext module and defines locale_dir and lang in grub.cfg.
12024 * NEWS: Add gettext support.
12025
0fdb2568
RM
120262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12027
12028 * util/hostdisk.c: Include `<grub/i18n.h>'.
12029 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
12030 (make_device_name): Rewrite using asprintf.
12031 (convert_system_partition_to_system_disk): Replace 0 with NULL.
12032 (find_system_device): If a device is not found, generate one just
12033 by reusing the OS path name.
12034 (read_device_map): Make it permissible for device.map not to exist.
12035
f515aa62
RM
120362009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12037
12038 * script/sh/execute.c: Move from here ...
12039 * script/execute.c: ... to here. Update all users.
12040 * script/sh/function.c: Move from here ...
12041 * script/function.c: ... to here. Update all users.
12042 * script/sh/lexer.c: Move from here ...
12043 * script/lexer.c: ... to here. Update all users.
12044 * script/sh/main.c: Move from here ...
12045 * script/main.c: ... to here. Update all users.
12046 * script/sh/parser.y: Move from here ...
12047 * script/parser.y: ... to here. Update all users.
12048 * script/sh/script.c: Move from here ...
12049 * script/script.c: ... to here. Update all users.
12050
f84b481b
RM
120512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12052
12053 * configure.ac: Detect all `emu' platforms. Define
12054 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
12055 --enable-grub-emu logic. Disable include/grub/machine
12056 symlink on `emu' platforms.
12057
12058 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
12059 * gensymlist.sh.in: Likewise.
12060
12061 * include/grub/i386/coreboot/machine.h: Remove file.
12062 * include/grub/i386/efi/machine.h: Likewise.
12063 * include/grub/i386/ieee1275/machine.h: Likewise.
12064 * include/grub/i386/pc/machine.h: Likewise.
12065 * include/grub/i386/qemu/machine.h: Likewise.
12066 * include/grub/powerpc/ieee1275/machine.h: Likewise.
12067 * include/grub/sparc64/ieee1275/machine.h: Likewise.
12068 * include/grub/x86_64/efi/machine.h: Likewise.
12069
12070 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
12071 * commands/halt.c: Likewise.
12072 * commands/reboot.c: Likewise.
12073 * include/grub/autoefi.h: Likewise.
12074 * include/grub/i386/at_keyboard.h: Likewise.
12075 * include/grub/i386/kernel.h: Likewise.
12076 * include/grub/i386/loader.h: Likewise.
12077 * include/grub/i386/pc/memory.h: Likewise.
12078 * kern/dl.c: Likewise.
12079 * kern/i386/coreboot/init.c: Likewise.
12080 * loader/i386/bsd.c: Likewise.
12081 * loader/i386/linux.c: Likewise.
12082 * loader/multiboot_loader.c: Likewise.
12083 * term/i386/pc/serial.c: Likewise.
12084 * term/usb_keyboard.c: Likewise.
12085
12086 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
12087 `<grub/machine/machine.h>'
12088 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
12089 * util/misc.c: Remove `<grub/machine/machine.h>' and
12090 `<grub/machine/time.h>'.
12091
12092 * Makefile.in (enable_grub_emu): Remove variable.
12093 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
12094
12095 * conf/any-emu.rmk: New file.
12096 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
12097 (grub_emu_init.c): Move from here ...
12098 * conf/any-emu.rmk: ... to here.
12099
12100 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
12101 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
12102 * conf/any-emu.rmk: ... to here.
12103
4efeab03
RM
121042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12105
12106 * include/grub/parser.h (grub_parser_register): Document need
12107 of `name' parameter.
12108 * normal/main.c (grub_normal_read_line): Simplify prompt string.
12109 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
12110 "sh" to "grub".
12111
ea1dd8bf
RM
121122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12113
12114 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
12115 `$(XGETTEXT)'.
12116 * include/grub/i18n.h (N_): New macro.
12117 * util/mkisofs/mkisofs.h: Likewise.
12118 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
12119 around N_().
12120 (usage): Use gettext() to translate help strings when printing them.
12121
0c140626
RM
121222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12123
12124 Based on patch from Bean
12125 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12126
12127 * video/efi_fb.c: New file.
12128 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
12129 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12130 variables.
12131 * conf/x86_64-efi.rmk: Likewise.
12132
87d58298
RM
121332009-11-22 Robert Millan <rmh.grub@aybabtu.com>
12134
12135 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
12136 * util/i386/pc/grub-setup.c: Likewise.
12137
994cc3a3
ST
121382009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12139
12140 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
12141 <hurd/fs.h>
12142 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
12143 file_get_storage_info to implement grub_guess_root_device.
12144
26a61d6a
FZ
121452009-11-21 Felix Zielcke <fzielcke@z-51.de>
12146
12147 * Makefile.in (target): Use make's builtin $(shell) function
12148 instead of calling directly $(SHELL) to create the locale directories,
12149 inside the $(foreach) function.
12150
74ff1dd5
FZ
121512009-11-21 Felix Zielcke <fzielcke@z-51.de>
12152
12153 * util/grub-mkrescue.in: Print an error and usage if output option
12154 has not been given.
12155
0b787d0e
FZ
121562009-11-21 Felix Zielcke <fzielcke@z-51.de>
12157
12158 Patch from Loïc Minier <loic.minier@ubuntu.com>.
12159 * util/grub.d/30_os-prober.in: Cope with Linux entries where
12160 root and /boot are on different devices.
12161
1164b270
RM
121622009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12163
12164 Fix build for srcdir != objdir.
12165
12166 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
12167 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
12168 $(srcdir).
12169 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
12170 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
12171 reference for input.
12172
13774a2f
RM
121732009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12174
12175 * util/grub-mkrescue.in: Use source directory direcly (without copiing
12176 or hardlinking it). Remove -J option, Joliet is not compatible with
12177 multiple source directories.
12178
efda854e
RM
121792009-11-21 Carles Pina i Estany <carles@pina.cat>
121802009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12181
12182 * util/grub-mkrescue.in: Recognize `--override-directory' option.
12183 (process_input_dir): New function. Process an arbitrary input
12184 directory.
12185 Misc adjustments to support both "override mode" and system-wide mode.
12186
6c09890c
FZ
121872009-11-20 Felix Zielcke <fzielcke@z-51.de>
12188
12189 * configure.ac (UNIFONT_BDF): Rename to ...
12190 (FONT_SOURCE): ... this. Update all users.
12191
a797824f
FZ
121922009-11-20 Felix Zielcke <fzielcke@z-51.de>
12193
12194 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
12195 to the list of unifont files to look for.
12196
cd4f42b0
RM
121972009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12198
12199 Patch from Joe Auricchio <jauricchio@gmail.com>
12200 * commands/minicmd.c (grub_mini_cmd_clear): New function.
12201 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
12202 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
12203
393c783d
FZ
122042009-11-19 Felix Zielcke <fzielcke@z-51.de>
12205
12206 * Makefile.in (install-local): Add a missing backslash.
12207
b2f1e327
FZ
122082009-11-19 Felix Zielcke <fzielcke@z-51.de>
12209
12210 * include/grub/x86_64/io.h: New file.
12211
f577f7a0
RM
122122009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12213
12214 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
12215 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
12216 Include `"progname.h"'.
12217 (main): Initialize gettext.
12218 * util/i386/pc/grub-setup.c: Gettexttize.
12219 * util/i386/pc/grub-mkimage.c: Likewise.
12220
12221 * Makefile.in (po/*.po): Redefine as ...
12222 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
12223
3bc7896c
RM
12224 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
12225
c37943b6
RM
122262009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12227
12228 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
12229 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
12230 (program_name): Remove.
12231 (main): Initialize gettext support.
6323f705
RM
12232 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
12233 Include `<libintl.h>'.
12234 (_): New macro.
c37943b6
RM
12235
12236 * util/mkisofs/eltorito.c: Gettexttize.
12237 * util/mkisofs/joliet.c: Likewise.
12238 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
12239 * util/mkisofs/multi.c: Likewise.
12240 * util/mkisofs/rock.c: Likewise.
12241 * util/mkisofs/tree.c: Likewise.
12242 * util/mkisofs/write.c: Likewise.
12243
3bc7896c
RM
12244 * po/POTFILES: Update with new files.
12245
5ce77c6e
RM
122462009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12247
12248 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
12249 * util/mkisofs/iso9660.h: Likewise.
12250 * util/mkisofs/joliet.c: Likewise.
12251 * util/mkisofs/mkisofs.c: Likewise.
12252 * util/mkisofs/mkisofs.h: Likewise.
12253 * util/mkisofs/rock.c: Likewise.
12254 * util/mkisofs/tree.c: Likewise.
12255 * util/mkisofs/write.c: Likewise.
12256
12257 * util/mkisofs/eltorito.c (rcsid): Remove.
12258 * util/mkisofs/hash.c: Likewise.
12259 * util/mkisofs/joliet.c: Likewise.
12260 * util/mkisofs/name.c: Likewise.
12261 * util/mkisofs/rock.c: Likewise.
12262 * util/mkisofs/tree.c: Likewise.
12263 * util/mkisofs/write.c: Likewise.
12264
1dabbc77
RM
122652009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12266
12267 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
12268 instead of static allocation.
12269 * util/mkisofs/match.h: Likewise.
12270
633877cb
RM
122712009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12272
3bc7896c
RM
12273 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
12274 and `util/grub.d/10_linux.in'.
633877cb
RM
12275 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
12276 translatable Shell files.
12277
af1c0c85
RM
122782009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12279
12280 * Makefile.in ($(srcdir)/aclocal.m4): New target.
12281
769ae37b
RM
122822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12283
12284 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 12285 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
12286 * util/grub.d/10_kfreebsd.in (bindir): New variable.
12287 Add gettext initialization.
12288 (kfreebsd_entry): Make menuentry output translatable.
12289
122902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12291
12292 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
12293 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
12294 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
12295 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
12296 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 12297 * po/LINGUAS: New file.
769ae37b
RM
12298
122992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12300
12301 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
12302 other things).
12303 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
12304 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
12305 bindtextdomain() calls for gettext initialization.
12306
123072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12308
12309 * gnulib/progname.c: New file (imported from Gnulib).
12310 * gnulib/progname.h: Likewise.
12311 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12312 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
12313 (usage): Replace `progname' with `program_name'.
12314 (main): Use set_program_name() for program name initialization.
12315
123162009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12317
12318 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
12319 from here ...
12320 * Makefile.in (CPPFLAGS): ... to here.
12321
123222009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12323
12324 * aclocal.m4: Move from here ...
12325 * acinclude.m4: ... to here.
12326 * autogen.sh: Add call to `aclocal'.
12327 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
12328
123292009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12330
12331 * Makefile.in (CLEANFILES): Add `po/*.mo'.
12332 (LINGUAS): New variable.
12333 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
12334 (install-local): Install MO files.
12335 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
12336 * include/grub/i18n.h: New file.
3bc7896c
RM
12337 * po/POTFILES: New file.
12338 * po/ca.po: New file.
769ae37b
RM
12339 * util/grub.d/10_linux.in (bindir): New variable.
12340 Add gettext initialization.
12341 (linux_entry): Make menuentry output translatable.
12342 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
12343 (usage): Make --help output translatable.
12344 (main): Initialize gettext.
12345
02c0a6ad
RM
123462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12347
12348 * import_gcry.py: New file (written by Vladimir with minor
12349 adjustments).
12350 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
12351 ciphers.
12352 * INSTALL: Document that Python is required for bootstrap.
12353
123542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12355
12356 Import ciphers from libgcrypt 1.4.4.
12357
12358 * lib/libgcrypt/cipher/ChangeLog
12359 * lib/libgcrypt/cipher/ac.c
12360 * lib/libgcrypt/cipher/arcfour.c
12361 * lib/libgcrypt/cipher/bithelp.h
12362 * lib/libgcrypt/cipher/blowfish.c
12363 * lib/libgcrypt/cipher/camellia-glue.c
12364 * lib/libgcrypt/cipher/camellia.c
12365 * lib/libgcrypt/cipher/camellia.h
12366 * lib/libgcrypt/cipher/cast5.c
12367 * lib/libgcrypt/cipher/cipher.c
12368 * lib/libgcrypt/cipher/crc.c
12369 * lib/libgcrypt/cipher/des.c
12370 * lib/libgcrypt/cipher/dsa.c
12371 * lib/libgcrypt/cipher/ecc.c
12372 * lib/libgcrypt/cipher/elgamal.c
12373 * lib/libgcrypt/cipher/hash-common.c
12374 * lib/libgcrypt/cipher/hash-common.h
12375 * lib/libgcrypt/cipher/hmac-tests.c
12376 * lib/libgcrypt/cipher/md.c
12377 * lib/libgcrypt/cipher/md4.c
12378 * lib/libgcrypt/cipher/md5.c
12379 * lib/libgcrypt/cipher/primegen.c
12380 * lib/libgcrypt/cipher/pubkey.c
12381 * lib/libgcrypt/cipher/rfc2268.c
12382 * lib/libgcrypt/cipher/rijndael-tables.h
12383 * lib/libgcrypt/cipher/rijndael.c
12384 * lib/libgcrypt/cipher/rmd.h
12385 * lib/libgcrypt/cipher/rmd160.c
12386 * lib/libgcrypt/cipher/rsa.c
12387 * lib/libgcrypt/cipher/seed.c
12388 * lib/libgcrypt/cipher/serpent.c
12389 * lib/libgcrypt/cipher/sha1.c
12390 * lib/libgcrypt/cipher/sha256.c
12391 * lib/libgcrypt/cipher/sha512.c
12392 * lib/libgcrypt/cipher/tiger.c
12393 * lib/libgcrypt/cipher/twofish.c
12394 * lib/libgcrypt/cipher/whirlpool.c
12395
af2f93ac
RM
123962009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12397
12398 Fix build for systems without error().
12399
12400 * gnulib/error.c: New file (imported from Gnulib).
12401 * gnulib/error.h: Likewise.
12402 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
12403 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
12404 (this variable is now used by error()).
12405
73fb3dd5
FZ
124062009-11-16 Felix Zielcke <fzielcke@z-51.de>
12407
814f5e96
FZ
12408 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
12409 instead of relying that char is signed.
73fb3dd5 12410
a691ca33
VS
124112009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
12414 blocksize different from specified.
12415 (grub_pxefs_read): Likewise.
12416
2af8f0f4
FZ
124172009-11-16 Felix Zielcke <fzielcke@z-51.de>
12418
12419 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
12420
12421 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
12422 (grub_ata_readwrite): Likewise. Update 2 format strings.
12423 (grub_atapi_read): Likewise.
12424
12425 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
12426 * conf/i386.rmk (pkglib_MODULES): ... to here ...
12427 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
12428 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
12429 (ata_mod_LDFLAGS): Move from here ...
12430 * conf/i386.rmk: ... to here ...
12431 * conf/x86_64-efi.rmk: ... and here.
12432 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
12433 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
12434
83bdecaf
RM
124352009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12436
12437 Relicense multiboot.h, with RMS' blessing.
12438
12439 * include/multiboot.h: Change to X11 license.
12440
fd6fd3d7
RM
124412009-11-15 Robert Millan <rmh.grub@aybabtu.com>
12442
12443 Support --version in grub-mkisofs.
12444
12445 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
12446 (OPTION_VERSION): New macro.
12447 (ld_options): Recognize --version.
12448 (usage): Move `program_name' from here ...
12449 (program_name): ... to here. Add `static' qualifier.
12450 (main): Recognize `OPTION_VERSION'.
12451
16a88c49
FZ
124522009-11-15 Felix Zielcke <fzielcke@z-51.de>
12453
12454 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
12455 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
12456
a4158476
RM
124572009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12458
12459 Fix help2man generation for mkisofs.
12460
12461 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
12462 (usage): Send output to stdout (rather than stderr).
12463
fc2208b0
RM
124642009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12465
12466 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
12467 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12468 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
12469 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12470 (bin_SCRIPTS): Add `grub-mkfloppy'.
12471 (grub_mkfloppy_SOURCES): New variable.
12472
12473 * util/grub-mkrescue.in: New file.
12474 * util/i386/pc/grub-mkfloppy.in: New file.
12475
12476 * util/i386/coreboot/grub-mkrescue.in: Remove.
12477 * util/i386/pc/grub-mkrescue.in: Remove.
12478
8d0edf4a
RM
124792009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12480
12481 * include/grub/multiboot.h (struct grub_multiboot_header): Move
12482 from here ...
12483 * include/multiboot.h (struct multiboot_header): ... to here. Update
12484 all users.
12485 * include/grub/multiboot.h (struct grub_multiboot_info): Move
12486 from here ...
12487 * include/multiboot.h (struct multiboot_info): ... to here. Update
12488 all users.
12489 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
12490 from here ...
12491 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
12492 Update all users.
12493 * include/grub/multiboot.h (struct grub_mod_list): Move
12494 from here ...
12495 * include/multiboot.h (struct multiboot_mod_list): ... to here.
12496 Update all users.
12497
a73f5969
RM
124982009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12499
12500 * include/multiboot2.h (multiboot_word): Rename from this ...
12501 (multiboot2_word): ... to this. Update all users.
12502 (multiboot_header): Rename from this ...
12503 (multiboot2_header): ... to this. Update all users.
12504 (multiboot_tag_header): Rename from this ...
12505 (multiboot2_tag_header): ... to this. Update all users.
12506 (multiboot_tag_start): Rename from this ...
12507 (multiboot2_tag_start): ... to this. Update all users.
12508 (multiboot_tag_name): Rename from this ...
12509 (multiboot2_tag_name): ... to this. Update all users.
12510 (multiboot_tag_module): Rename from this ...
12511 (multiboot2_tag_module): ... to this. Update all users.
12512 (multiboot_tag_memory): Rename from this ...
12513 (multiboot2_tag_memory): ... to this. Update all users.
12514 (multiboot_tag_unused): Rename from this ...
12515 (multiboot2_tag_unused): ... to this. Update all users.
12516 (multiboot_tag_end): Rename from this ...
12517 (multiboot2_tag_end): ... to this. Update all users.
12518
1c8927f0
RM
125192009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12520
12521 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
12522 this platform we should support Multiboot1 first.
12523
12524 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12525 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
12526 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
12527
6e1e0d89
RM
125282009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12529
12530 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
12531 of write calls (converting them to fwrite() if they aren't already).
12532 (get_torito_desc): Likewise.
12533 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
12534
7f2b34d8
RM
125352009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12536
12537 * util/i386/pc/grub-install.in: Move from here ...
12538 * util/grub-install.in: ... to here. Update all users.
12539
c0ef3311
CW
125402009-11-11 Colin Watson <cjwatson@ubuntu.com>
12541
12542 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
12543
e1f240ff
RM
125442009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12545
12546 Support for El Torito without floppy emulation.
12547
12548 * util/mkisofs/eltorito.c: Include `<errno.h>'.
12549 (init_boot_catalog): Improve error handling.
12550 (get_torito_desc): Don't use floppy emulation unless requested by
12551 user. Patch boot information table when requested via
12552 `-boot-info-table'.
12553 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
12554 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
12555 (use_boot_info_table): New variables.
12556 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
12557 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
12558 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
12559 `--eltorito-emul-floppy'.
12560 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
12561 and `OPTION_ELTORITO_EMUL_FLOPPY'.
12562 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
12563 (use_boot_info_table, get_731): New prototypes.
12564 * util/mkisofs/write.c (get_731): New function.
12565
af7d4de5
FZ
125662009-11-11 Felix Zielcke <fzielcke@z-51.de>
12567
12568 Fix the generation of the man page.
12569
12570 * util/pc/i386/grub-install.in: Source
12571 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12572
2c55dbc0
RM
125732009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12574
12575 Large file support for grub-mkisofs.
12576
12577 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
12578 * util/mkisofs/mkisofs.c (next_extent, last_extent)
12579 (session_start): Upgrade type to `uint64_t'. Update all users.
12580 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
12581 (struct directory_entry): Upgrade type of `starting_block' and
12582 `size' to `uint64_t'. Update all users.
12583 (struct deferred): Remove unused structure.
12584 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
12585 Update all users.
12586 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
12587 file is larger than `UINT32_MAX'.
12588 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
12589 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
12590 return value.
12591 (struct deferred_write): Upgrade type of `extent' and `size' to
12592 `uint64_t'. Update all users.
12593 (last_extent_written): Upgrade type to `uint64_t'. Update all
12594 users.
12595 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
12596 Update all users. Upgrade type of `remain' to `int64_t' and
12597 `use' to `size_t'. Use error() to handle fread() errors.
12598 (write_files): Rely on write_one_file() rather than calling
12599 xfwrite() directly.
12600
6a9cead5
FZ
126012009-11-09 Felix Zielcke <fzielcke@z-51.de>
12602
12603 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
12604
4825d790
RM
126052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12606
12607 * util/mkisofs/fnmatch.c: Remove.
12608 * util/mkisofs/getopt1.c: Likewise.
12609 * util/mkisofs/getopt.c: Likewise.
12610 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
12611 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
12612 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
12613 `gnulib/getopt1.c' and `gnulib/getopt.c'.
12614 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
12615
12616 * configure.ac: Detect `mingw32msvc' host_os.
12617 Check for lstat(), getuid() and getgid().
12618
12619 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
12620 instances of `u_char' with `uint8_t'.
12621
12622 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
12623 [!HAVE_GETUID] (getuid): New function (stub).
12624 [!HAVE_GETGID] (getgid): Likewise.
12625 [!HAVE_LSTAT] (lstat): Likewise.
12626 [!S_IROTH] (S_IROTH): New macro (dummy).
12627 [!S_IRGRP] (S_IRGRP): Likewise.
12628
84b860d8
RM
126292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12630
12631 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
12632 conditional expression).
12633
66e9b712
RM
126342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12635
12636 Import from Gnulib.
12637
12638 * gnulib/fnmatch.c: New file.
12639 * gnulib/fnmatch.h: Likewise.
12640 * gnulib/fnmatch_loop.c: Likewise.
12641 * gnulib/getopt.c: Likewise.
12642 * gnulib/getopt.h: Likewise.
12643 * gnulib/getopt1.c: Likewise.
12644 * gnulib/getopt_int.h: Likewise.
12645 * gnulib/gettext.h: Likewise.
12646
34f4a5b0
RM
126472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12648
12649 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
12650 * normal/handler.c (read_handler_list): Likewise.
12651
ac451143
RM
126522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12653
12654 Misc cleanup.
12655
12656 * kern/command.c (grub_register_command_prio): Use
12657 grub_zalloc() instead of explicitly zeroing data.
12658 * kern/list.c: Include `<grub/mm.h>'.
12659 (grub_named_list_find): Replace `0' with `NULL'.
12660 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
12661 (fs_module_list): Change type to `grub_named_list_t'. Update all
12662 users.
12663 * normal/dyncmd.c (read_command_list): Add space between function
12664 call and parenthesis.
12665 * normal/handler.c (read_handler_list): Likewise.
12666
4089b167
RM
126672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12668
12669 * normal/auth.c (punishment_delay): Moved from here ...
12670 (grub_auth_strcmp): ... to here (inside function).
12671
325f5037
RM
126722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12673
12674 * include/grub/list.h (struct grub_named_list): Remove `const'
12675 qualifier from `name'.
12676 (struct grub_prio_list): Likewise.
12677
7aea29a3
RM
126782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12679
12680 * normal/auth.c: Include `<grub/time.h>'.
12681 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
12682
3fd6f044
RM
126832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12684
12685 * normal/auth.c (punishment_delay): New variable.
12686 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
12687 (grub_auth_check_authentication): Punish failed login attempts with
12688 an incremental (2^N) delay.
12689
a4cd68e4
RM
126902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12691
12692 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
12693 path with $(srcdir).
12694
7ad12f43
VS
126952009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
12698
c1129f03
RM
126992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12700
12701 * util/i386/coreboot/grub-mkrescue.in: New file.
12702 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
12703 variables.
12704
12705 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
12706 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
12707 * configure.ac: Add header and function checks to satisfy grub-mkisofs
12708 requirements.
12709 * util/mkisofs/defaults.h: New file.
12710 * util/mkisofs/eltorito.c: Likewise.
12711 * util/mkisofs/exclude.h: Likewise.
12712 * util/mkisofs/fnmatch.c: Likewise.
12713 * util/mkisofs/getopt.c: Likewise.
12714 * util/mkisofs/getopt1.c: Likewise.
12715 * util/mkisofs/hash.c: Likewise.
12716 * util/mkisofs/include/fctldefs.h: Likewise.
12717 * util/mkisofs/include/mconfig.h: Likewise.
12718 * util/mkisofs/include/prototyp.h: Likewise.
12719 * util/mkisofs/include/statdefs.h: Likewise.
12720 * util/mkisofs/iso9660.h: Likewise.
12721 * util/mkisofs/joliet.c: Likewise.
12722 * util/mkisofs/match.c: Likewise.
12723 * util/mkisofs/match.h: Likewise.
12724 * util/mkisofs/mkisofs.c: Likewise.
12725 * util/mkisofs/mkisofs.h: Likewise.
12726 * util/mkisofs/multi.c: Likewise.
12727 * util/mkisofs/name.c: Likewise.
12728 * util/mkisofs/rock.c: Likewise.
12729 * util/mkisofs/tree.c: Likewise.
12730 * util/mkisofs/write.c: Likewise.
12731
ec8bb77d
VS
127322009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
12735 being insecure.
12736
3716b12c
RM
127372009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12738
12739 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
12740 `grub-mkimage' (and use $0 when possible).
12741
b97b7b91
RM
127422009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12743
12744 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
12745 error message for excessively large memory map.
12746
04114812
RM
127472009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12748
12749 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
12750 executable bit.
12751
e4eb2373
RM
127522009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12753
12754 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
12755 message for coreboot users.
12756
c926e1d5 127572009-11-07 Robert Millan <rmh.grub@aybabtu.com>
12758
12759 Fix build with GNU gold.
12760
12761 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
12762 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12763 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
12764 link addresses.
12765 * aclocal.m4: Likewise.
12766
86e5b1db 127672009-11-04 Felix Zielcke <fzielcke@z-51.de>
12768
12769 * configure.ac (AC_PREREQ): Bump to 2.59d.
12770 * INSTALL: Make it more clear when Autoconf and Ruby are
12771 needed and when to run `./autogen.sh'.
12772
246cd78f 127732009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
12774
12775 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
12776 OSes.
12777
4f9dfb37 127782009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12779
12780 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
12781
b82bd5e1 127822009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12783
12784 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
12785 giving it to GNU Mach.
12786
ff1a9bca 127872009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12788
12789 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
12790 GNU partition number to get internal GRUB partition number.
12791
61697d9c 127922009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12793
12794 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
12795 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
12796
a50569e1 127972009-11-01 Robert Millan <rmh.grub@aybabtu.com>
12798
12799 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
12800 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
12801 case.
12802
5b153867 128032009-11-01 Felix Zielcke <fzielcke@z-51.de>
12804
12805 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
12806
d9e2cd70 128072009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12808
12809 Fix build problem.
12810
12811 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
12812 `-isystem=$(srcdir)/include'.
12813
805111a4 128142009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12815
12816 * util/i386/pc/grub-install.in: Remove hint that device.map should be
12817 checked (grub-install doesn't currently rely on it).
12818
fa6e945f 128192009-10-29 Robert Millan <rmh.grub@aybabtu.com>
12820
12821 Revert SVN r2660.
12822
12823 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
12824 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12825 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
12826 * conf/i386-ieee1275.rmk: Likewise.
12827 * conf/i386-pc.rmk: Likewise.
12828 * conf/powerpc-ieee1275.rmk: Likewise.
12829 * conf/sparc64-ieee1275.rmk: Likewise.
12830 * conf/x86_64-efi.rmk: Likewise.
12831
cee15086 128322009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12833
12834 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
12835
95b9239e 128362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12837
12838 * include/grub/misc.h: Stop checking for APPLE_CC.
12839
2ed19dfd 128402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12841
12842 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
12843 doesn't cause an infinite call loop.
12844
fdcdde19 128452009-10-28 Felix Zielcke <fzielcke@z-51.de>
12846
12847 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
12848 strings.
12849
cefabfe1 128502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12851
12852 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
12853 variable.
12854 * Makefile.in: Likewise.
12855
ed96ab6d 128562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12857
12858 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
12859
0579b753 128602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12861
12862 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
12863
478df409 128642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12865
12866 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
12867
083d1679 128682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12869
12870 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
12871 from here ...
12872 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
12873
5947ae32 128742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12875
12876 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
12877 in $(MAKEINFO) invocation. This makes it clear in output that
12878 errors are being ignored.
12879
94180ff6 128802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12881
12882 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
12883 from here ...
12884 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12885 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
12886 * conf/i386-ieee1275.rmk: Likewise.
12887 * conf/i386-pc.rmk: Likewise.
12888 * conf/powerpc-ieee1275.rmk: Likewise.
12889 * conf/sparc64-ieee1275.rmk: Likewise.
12890 * conf/x86_64-efi.rmk: Likewise.
12891
9031b03a 128922009-10-26 Colin Watson <cjwatson@ubuntu.com>
12893
12894 * util/grub-editenv.c (main): If only a command is given, use
12895 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
12896 (usage): FILENAME is now optional and has a default.
12897
e4f6809b 128982009-10-26 Colin Watson <cjwatson@ubuntu.com>
12899
12900 Improve grub-mkconfig performance when there are several menu
12901 entries on a single filesystem.
12902
12903 * util/grub.d/10_linux.in (linux_entry): Cache the output of
12904 prepare_grub_to_access_device.
12905 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12906 * util/grub.d/30_os-prober.in: Likewise.
12907
67937d4d 129082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12909
12910 * util/grub.d/10_freebsd.in: Remove.
12911 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
12912 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
12913
ee3756cc 129142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12915
5c35048e 12916 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 12917
4dea1c6f 129182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12919
12920 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
12921 grub_util_error() call.
12922
042484d7 129232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12924
12925 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
12926 `reserved_first_sector' member.
12927 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
12928 `reserved_first_sector' to 1.
12929 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
12930 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
12931 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
12932 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
12933 filesystems which begin at first sector.
12934 (options): New option --skip-fs-probe.
12935 (main): Handle --skip-fs-probe and pass it to setup().
12936
d64448a7 129372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12938
12939 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
12940 (memset): Fix function prototype.
12941
508d42ec 129422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
129432009-10-25 Vasily Averin <vvs@parallels.com>
12944
12945 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
12946 `dirent.direntlen == 0'.
12947
b240e30c 129482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12949
12950 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
12951 `cpio'.
12952 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
12953
346e7fbe 129542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12955
12956 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
12957 `__trampoline_setup' and `__ucmpdi2'.
12958 * include/grub/powerpc/libgcc.h: Only export symbols for functions
12959 that libgcc provides.
12960
cdb308b0 129612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12962
12963 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
12964 * include/grub/sparc64/libgcc.h (memset): Likewise.
12965 * include/grub/misc.h (memset, memcmp): New function prototypes.
12966
fb26abc2 129672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12968
12969 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
12970 `cpio'.
12971 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
12972
f6693890 129732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12974
12975 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
12976 * docs/grub.cfg: Compensate for recent change in multiboot
12977 loader (since 2009-08-14 it won't pass filename to payload).
12978 * util/grub.d/10_hurd.in: Likewise.
12979
0933cdc0 129802009-10-21 Felix Zielcke <fzielcke@z-51.de>
12981
12982 * config.guess: Update to latest version from config git
12983 repository.
12984 * config.sub: Likewise.
12985
3b2fe8c2 129862009-10-20 Robert Millan <rmh.grub@aybabtu.com>
12987
12988 Fix build on sparc64.
12989
12990 * configure.ac: Perform checks for libgcc symbols before
12991 adding `-nostdlib' to LDFLAGS.
12992
46695a62 129932009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 Let user specify OpenBSD root device.
12996
12997 * loader/i386/bsd.c (openbsd_root): New variable.
12998 (openbsd_opts): New option 'root'.
12999 (OPENBSD_ROOT_ARG): New macro.
13000 (grub_openbsd_boot): Use 'openbsd_root'.
13001 (grub_cmd_openbsd): Fill 'openbsd_root'.
13002
d2b6b7fc 130032009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13004
13005 * NEWS: Misc adjustments.
13006
421bd7ac 130072009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
13010
f1d29d87 130112009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13012
13013 * configure.ac: Bump version to 1.97.
13014
6f3cd880 130152009-10-16 Colin Watson <cjwatson@ubuntu.com>
13016
13017 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
13018 -mno-3dnow on x86 architectures. Some toolchains enable these
13019 features by default, but they rely on registers that aren't enabled
13020 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
13021
035f7122 130222009-10-15 Robert Millan <rmh.grub@aybabtu.com>
13023
13024 Make entry text a bit more readable.
13025
13026 * util/grub.d/10_linux.in: Add `with' before `Linux'.
13027
44998e58 130282009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
13031
cd2851b3 130322009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13033
13034 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
13035 operations.
13036
c6f3b249 130372009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * configure.ac: Add missing dollar.
13040
6b5886ba 130412009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
13044
13045 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
13046 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
13047 exports.
13048 * include/grub/sparc64/libgcc.h: Likewise. Use
13049 preprocessor conditionals.
13050
e9d66f6d 130512009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13052
13053 * conf/common.rmk (grub-dumpbios): Remove rule.
13054 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
13055 * util/grub-dumpbios.in: Remove file.
13056
9155bc17 130572009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13058
13059 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
13060 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
13061
13062 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
13063 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
13064 users.
13065
13066 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
13067 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
13068 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
13069 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
13070 users.
13071
bf7f7a18 130722009-10-12 Robert Millan <rmh.grub@aybabtu.com>
13073
13074 * term/tparm.c: Switch to GPLv3.
13075
86564c26 130762009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13077
13078 * include/grub/i386/cpuid.h: Add header protection.
13079
5c936493 130802009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13081
13082 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
13083
13084 * include/grub/i386/cpuid.h: New file.
13085 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
13086 (has_longmode): Rename to ...
13087 (grub_cpuid_has_longmode): ... this. Update all users. Remove
13088 `static' attribute.
13089 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
13090 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
13091 on a CPU that doesn't implement AMD64 instruction set.
13092
186e7cf2 130932009-10-06 Colin Watson <cjwatson@ubuntu.com>
13094
13095 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
13096 that version.texi is rebuilt on version number changes.
13097
83b65c4a 130982009-10-06 Colin Watson <cjwatson@ubuntu.com>
13099
13100 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
13101 Fixes bug #27602.
13102
d244281c 131032009-10-06 Colin Watson <cjwatson@ubuntu.com>
13104
13105 * util/i386/pc/grub-install.in: Source
13106 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
13107 that the --grub-probe option will work.
13108 * util/sparc64/ieee1275/grub-install.in: Likewise.
13109
da25306d 131102009-10-05 Robert Millan <rmh.grub@aybabtu.com>
13111
13112 * configure.ac: Bump version to 1.97~beta4.
13113
e8ee83c0 131142009-10-03 Robert Millan <rmh.grub@aybabtu.com>
13115
13116 Resync grub-mkdevicemap in x86_64-efi.
13117
13118 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
13119 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
13120 `util/devicemap.c'.
13121
50dcabcf 131222009-10-01 Colin Watson <cjwatson@ubuntu.com>
13123
13124 * util/grub-editenv.c (create_envblk_file): Write new block with a
13125 .new suffix and then rename it into place, to ensure atomic
13126 creation.
13127
0e51c3a7 131282009-09-28 Robert Millan <rmh.grub@aybabtu.com>
13129
13130 Do not automatically install headers.
13131
13132 * Makefile.in (include_DATA): Remove. Update all users.
13133
31299a95 131342009-09-26 Robert Millan <rmh.grub@aybabtu.com>
13135
13136 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
13137 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
13138
13139 * util/osdetect.lua: Remove.
13140 * script/lua/lauxlib.c: Likewise.
13141 * script/lua/ldebug.c: Likewise.
13142 * script/lua/grub_main.c: Likewise.
13143 * script/lua/lauxlib.h: Likewise.
13144 * script/lua/ldebug.h: Likewise.
13145 * script/lua/ltablib.c: Likewise.
13146 * script/lua/liolib.c: Likewise.
13147 * script/lua/lstrlib.c: Likewise.
13148 * script/lua/lualib.h: Likewise.
13149 * script/lua/ldo.c: Likewise.
13150 * script/lua/ldump.c: Likewise.
13151 * script/lua/ldo.h: Likewise.
13152 * script/lua/loslib.c: Likewise.
13153 * script/lua/lundump.c: Likewise.
13154 * script/lua/grub_lib.c: Likewise.
13155 * script/lua/ldblib.c: Likewise.
13156 * script/lua/lundump.h: Likewise.
13157 * script/lua/lmem.c: Likewise.
13158 * script/lua/grub_lib.h: Likewise.
13159 * script/lua/lmathlib.c: Likewise.
13160 * script/lua/lstate.c: Likewise.
13161 * script/lua/ltm.c: Likewise.
13162 * script/lua/lvm.c: Likewise.
13163 * script/lua/lmem.h: Likewise.
13164 * script/lua/lstate.h: Likewise.
13165 * script/lua/ltm.h: Likewise.
13166 * script/lua/ltable.c: Likewise.
13167 * script/lua/lvm.h: Likewise.
13168 * script/lua/llex.c: Likewise.
13169 * script/lua/lgc.c: Likewise.
13170 * script/lua/grub_lua.h: Likewise.
13171 * script/lua/loadlib.c: Likewise.
13172 * script/lua/lfunc.c: Likewise.
13173 * script/lua/lopcodes.c: Likewise.
13174 * script/lua/lparser.c: Likewise.
13175 * script/lua/ltable.h: Likewise.
13176 * script/lua/llex.h: Likewise.
13177 * script/lua/lgc.h: Likewise.
13178 * script/lua/lfunc.h: Likewise.
13179 * script/lua/lbaselib.c: Likewise.
13180 * script/lua/lopcodes.h: Likewise.
13181 * script/lua/lparser.h: Likewise.
13182 * script/lua/lzio.c: Likewise.
13183 * script/lua/linit.c: Likewise.
13184 * script/lua/lobject.c: Likewise.
13185 * script/lua/llimits.h: Likewise.
13186 * script/lua/lstring.c: Likewise.
13187 * script/lua/lzio.h: Likewise.
13188 * script/lua/lapi.c: Likewise.
13189 * script/lua/lcode.c: Likewise.
13190 * script/lua/lua.h: Likewise.
13191 * script/lua/lobject.h: Likewise.
13192 * script/lua/lstring.h: Likewise.
13193 * script/lua/lapi.h: Likewise.
13194 * script/lua/lcode.h: Likewise.
13195 * script/lua/luaconf.h: Likewise.
13196
cb8a2c38 131972009-09-26 Colin Watson <cjwatson@ubuntu.com>
13198
13199 * docs/grub.texi (Command-line and menu entry commands): Document
13200 date and echo commands.
13201
6b9b6276 132022009-09-24 Pavel Roskin <proski@gnu.org>
13203
13204 * include/grub/kernel.h (struct grub_module_header): Remove
13205 `grub_module_header_types'. Make `type' unsigned. Make `size'
13206 32-bit on all platforms.
13207 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
13208 8-bit field. Use grub_host_to_target32() for `size'.
13209 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
13210 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
13211 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
13212
4e5a02a7 132132009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13214
13215 Fix "lost keypress" bug in at_keyboard.
13216
13217 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
13218 Checks for readyness of input buffer (without flushing it).
13219 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
13220 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
13221
c6dcedf6 132222009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13223
13224 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
13225 size check within GRUB_MACHINE_PCBIOS section.
13226
74c958b1 132272009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13228
13229 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
13230 return value.
13231 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
13232 KEYBOARD_ISREADY check.
13233 (grub_at_keyboard_checkkey): Rename to ...
13234 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
13235 Remove gratuitous cast.
13236
ff420223 132372009-09-23 Colin Watson <cjwatson@ubuntu.com>
13238
13239 * configure.ac: Call AC_PROG_MKDIR_P.
13240 * Makefile.in (docs/stamp-vti): Create docs directory. Create
13241 version.texi in $(builddir) rather than $(srcdir).
13242 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
13243 to makeinfo's @include search path.
13244
d96875df 132452009-09-23 Felix Zielcke <fzielcke@z-51.de>
13246
13247 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
13248
9b3f8365 132492009-09-23 Felix Zielcke <fzielcke@z-51.de>
13250
13251 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
13252 for `*.dpkg-new'.
13253
c44c90db 132542009-09-21 Colin Watson <cjwatson@ubuntu.com>
13255
13256 Build info documentation. Some code borrowed from Automake.
13257
13258 * configure.ac: Check for makeinfo.
13259 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
13260 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
13261 docs/version.texi.
13262 (MOSTLYCLEANFILES): Add vti.tmp.
13263 (docs/version.texi, docs/stamp-vti): Update automatically.
13264 (docs/grub.info): Build info documentation. Use --force and ignore
13265 errors for now.
13266 (all-local): Add $(INFOS).
13267 (install-local): Install info files.
13268 (uninstall): Uninstall info files.
13269 * docs/version.texi: Remove from revision control. This file is
13270 automatically generated on build now.
13271 * gendistlist.sh: Add `*.info'.
13272
e0b37bb5 132732009-09-21 Felix Zielcke <fzielcke@z-51.de>
13274
13275 * kern/term.c: Fix indentation.
13276
5a78865b 132772009-09-21 Felix Zielcke <fzielcke@z-51.de>
13278
13279 * util/hostdisk.c: Fix a comment.
13280
dace7e8a 132812009-09-20 Robert Millan <rmh.grub@aybabtu.com>
13282
13283 Fix regression introduced in r2539.
13284
13285 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
13286 to 0xA1.
13287
a83d079b 132882009-09-19 Colin Watson <cjwatson@ubuntu.com>
13289
13290 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 13291 os-prober. Under normal operation, it does not print anything to
13292 stderr; if it does, we need to debug it, and throwing away stderr
13293 makes that excessively difficult.
a83d079b 13294
be94a509 132952009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
13298
63f745e8 132992009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13300
13301 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
13302 AC_LANG_PROGRAM from autoconf.
13303 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
13304 prototypes (fixes warning).
13305
13306 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
13307 `--disable-werror' was used.
13308
bbb2a70f 133092009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13310
13311 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
13312 uninitialized `lastaddr'.
13313
77c24f1d 133142009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13315
0f0b8c87 13316 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 13317
07197f23 133182009-09-14 Colin Watson <cjwatson@ubuntu.com>
13319
13320 * commands/test.c (get_fileinfo): Return immediately if
13321 grub_fs_probe fails.
13322
dabf1798 133232009-09-14 José Martínez <xosemp@gmail.com>
13324
13325 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
13326
d52109a7 133272009-09-14 Colin Watson <cjwatson@ubuntu.com>
13328
13329 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
13330 output.
13331
56532179 133322009-09-13 Robert Millan <rmh.grub@aybabtu.com>
13333
13334 * configure.ac: Remove --enable-grub-pe2elf. Only build
13335 grub-pe2elf when needed by the build system itself.
13336 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
13337
8ef070f5 133382009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13339
13340 * configure.ac: Bump version to 1.97~beta3.
13341 * docs/version.texi: Likewise.
13342
61229557 133432009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13344
13345 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
13346 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
13347 from here ...
13348 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
13349 (grub_linux_setup_video): ... to here (with some adjustments).
13350
5c9f8d84 133512009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13352
13353 Fix memory corruption issue (spotted by Colin Watson).
13354
13355 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
13356 causing returned size to be stored in an incorrect memory location.
13357 Fix use of uninitialized value when storing the returned size.
13358
e8f5d6e9 133592009-09-12 Yves Blusseau <blusseau@zetam.org>
13360
13361 Change clean rules to properly remove files
13362
13363 * genmk.rb: add new clean rules
13364 * Makefile.in (clean): add the new targets
13365 (mostlyclean): likewise
13366
cda2a409 133672009-09-11 Colin Watson <cjwatson@ubuntu.com>
13368
13369 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
13370 to grub_uint64_t.
13371 * fs/ntfs.c (init_file): Understand 64-bit sizes for
13372 non-resident files.
13373
86695375 133742009-09-11 Colin Watson <cjwatson@ubuntu.com>
13375
13376 * configure.ac: Don't look for help2man when cross-compiling. Fixes
13377 part of bug #27349.
13378
8aa1541a 133792009-09-10 Felix Zielcke <fzielcke@z-51.de>
13380
13381 * util/grub-mkconfig.in: Make the created config mode 400 and
13382 print a warning if it fails.
13383
48d9bb0a 133842009-09-10 Robert Millan <rmh.grub@aybabtu.com>
13385
13386 * util/grub.d/40_custom.in: Ask user to type custom entries below
13387 comment, rather than below 'exec tail' line.
13388
3b0521be 133892009-09-10 Colin Watson <cjwatson@ubuntu.com>
13390
13391 * util/grub.d/40_custom.in: Make sure that the explanatory text is
13392 visible in grub.cfg.
13393
50051d55 133942009-09-10 Colin Watson <cjwatson@ubuntu.com>
13395
13396 * util/grub.d/40_custom.in: Make it a little clearer how to use this
13397 file.
13398
c0d34387 133992009-09-10 Felix Zielcke <fzielcke@z-51.de>
13400
13401 * docs/grub.cfg: Add an example menu entry for memtest86+.
13402
80a608f3 134032009-09-09 Felix Zielcke <fzielcke@z-51.de>
13404
a2094832 13405 * config.guess: Update to latest version from config git.
80a608f3 13406 * config.sub: Likewise.
13407
99423078 134082009-09-08 Colin Watson <cjwatson@ubuntu.com>
13409
13410 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
13411 unknown-command case. Fixes bug #27320.
13412
44454e4c 134132009-09-08 Felix Zielcke <fzielcke@z-51.de>
13414
13415 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
13416 `help' if the command exists.
13417
e30d87ad 134182009-09-06 Robert Millan <rmh.grub@aybabtu.com>
13419
13420 * INSTALL: Require GCC 4.1.3 or later.
13421
9a86f1ec 134222009-09-06 Yves Blusseau <blusseau@zetam.org>
13423
13424 * Makefile.in (RMKFILES): add i386-qemu.rmk
13425 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
13426 $(srcdir)/stamp-h.in
13427
7f26d466 134282009-09-05 Robert Millan <rmh.grub@aybabtu.com>
13429
13430 * util/grub-probe.c (probe): Comment out buggy codepath, which
13431 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
13432 should be re-enabled after 1.97.
13433
3a613259 134342009-09-05 Felix Zielcke <fzielcke@z-51.de>
13435
13436 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
13437 find searches for.
13438
197f76c7 134392009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
13442 unnecessary calls to grub_error.
13443
70ba68ce 134442009-09-04 Colin Watson <cjwatson@ubuntu.com>
13445
13446 * NEWS: Mention `keystatus' and Unicode fonts.
13447
4ff0d7a4 134482009-09-04 Robert Millan <rmh.grub@aybabtu.com>
13449
13450 * configure.ac: Bump version to 1.97~beta2.
13451 * docs/version.texi: Likewise.
13452
77c55a87 134532009-09-03 Colin Watson <cjwatson@ubuntu.com>
13454
13455 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
13456 containing unwind information in some cases where it previously did
13457 not. Use -fno-dwarf2-cfi-asm if available to restore the old
13458 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
13459 discussion.
13460
f79572cd 134612009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
13462
13463 Embedding loadenv module into grub-emu
13464
13465 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
13466 commands/loadenv.c
13467 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
13468 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
13469 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
13470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
13471 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
13472 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
13473
93a81088 134742009-09-03 Magnus Granberg <zorry@ume.nu>
13475
13476 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
13477 include -fPIE in the default specs.
13478 * configure.ac: Check if pie_possible is yes and add -fno-PIE
13479 to TARGET_CFLAGS.
13480
160034b2 134812009-09-03 Felix Zielcke <fzielcke@z-51.de>
13482
13483 * INSTALL: Note that GNU Bison 2.3 or later is required.
13484
087c07c4 134852009-09-03 Colin Watson <cjwatson@ubuntu.com>
13486
13487 * kern/i386/pc/startup.S: Fix typo.
13488
cbf978c0 134892009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
13492 according to GCS.
13493
134942009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 13495
13496 * docs/grub.texi (Naming convention): Describe one-based partition
13497 numbering.
13498 (Device syntax): Likewise.
13499 (File name syntax): Likewise.
13500 (Block list syntax): Likewise.
13501 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
13502 menu.lst.
13503 (File name syntax): Likewise.
13504 (Command-line and menu entry commands): Document acpi, blocklist,
13505 crc, export, insmod, keystatus, ls, set, and unset commands.
13506
f3e8cdfd 135072009-09-02 Colin Watson <cjwatson@ubuntu.com>
13508
13509 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
13510 to avoid implying that only one of --shift, --ctrl, or --alt may be
13511 used.
13512
c0bc232b 135132009-09-02 Colin Watson <cjwatson@ubuntu.com>
13514
13515 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
13516 rather than comparing against S_IFREG, which will almost never work.
13517
aa0f752d 135182009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
13521 (write_blocklists): Likewise.
13522
ecb3166a 135232009-09-01 Colin Watson <cjwatson@ubuntu.com>
13524
13525 * script/lua/grub_lua.h (fputs): Supply a format string as the first
13526 argument to grub_printf.
13527
c403a125 135282009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 13529
13530 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 13531 non GNU test.
31aba781 13532
b5e7312c 135332009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * kern/file.c (grub_file_read): Spelling fix
13536
fe00f472 135372009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
13540 loading of headers in some cases.
13541
cc55302e 135422009-08-30 Robert Millan <rmh.grub@aybabtu.com>
13543
13544 * configure.ac: Bump version to 1.97~beta1.
13545 * docs/version.texi: Likewise.
13546
5c90cdd2 135472009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 13548
13549 * include/grub/i386/xnu.h: Add license header.
13550 include grub/err.h explicitly.
13551
c90edae4 135522009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13553
13554 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
13555 to `ufs' in the vfs.root.mountfrom kernel parameter.
13556
d8888b5c 135572009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13558
13559 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
13560
13561 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
13562 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
13563
13564 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
13565 `ARRAY_SIZE' macro.
13566
6f07b921 135672009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13568
13569 * kern/file.c (grub_file_read): Check offset.
13570 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
13571 * fs/jfs.c (grub_jfs_read_file): Likewise.
13572 * fs/ntfs.c (grub_ntfs_read): Likewise.
13573 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
13574 * fs/minix.c (grub_minix_read_file): Correct offset check.
13575 * fs/ufs.c (grub_ufs_read_file): Likewise.
13576
b4f34077 135772009-08-28 Colin Watson <cjwatson@ubuntu.com>
13578
13579 * term/i386/pc/console.c (bios_data_area): Cast
13580 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
13581
e7c69859 135822009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 1-bit optimised blitters.
13585
13586 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
13587 prototype.
13588 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13589 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13590 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13591 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13592 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13593 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13594 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
13595 function.
13596 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13597 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13598 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13599 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13600 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13601 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13602 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
13603 when possible.
13604 * video/video.c (grub_video_get_blit_format): Return
13605 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
13606
a57da43f 136072009-08-28 Colin Watson <cjwatson@ubuntu.com>
13608
13609 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
13610 the first argument to grub_printf.
13611
4cbe67e5 136122009-08-28 Colin Watson <cjwatson@ubuntu.com>
136132009-08-28 Robert Millan <rmh.grub@aybabtu.com>
13614
13615 Add `getkeystatus' terminal method. Add a new `keystatus' command
13616 to query it.
13617
13618 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
13619 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
13620 modifier key bitmasks.
13621 (struct grub_term_input): Add `getkeystatus' member.
13622 (grub_getkeystatus): Add prototype.
13623 * kern/term.c (grub_getkeystatus): New function.
13624
13625 * include/grub/i386/pc/memory.h
13626 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
13627 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
13628 Data Area layout.
13629 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
13630 (grub_console_term_input): Set `getkeystatus' member.
13631 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
13632 constants.
13633 (grub_usb_keyboard_getreport): Likewise.
13634 (grub_usb_keyboard_checkkey): Likewise.
13635 (grub_usb_keyboard_getkeystatus): New function.
13636 (grub_usb_keyboard_term): Set `getkeystatus' member.
13637
13638 * commands/keystatus.c: New file.
13639 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
13640 (keystatus_mod_SOURCES): New variable.
13641 (keystatus_mod_CFLAGS): Likewise.
13642 (keystatus_mod_LDFLAGS): Likewise.
13643 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
13644 commands/keystatus.c.
13645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13646 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13647 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13649 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13650 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 13651
6e2a9085 136522009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 Split befs.mod and afs.mod into *_be.mod and *.mod
13655
13656 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
13657 (grub_fstest_SOURCES): Likewise.
13658 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
13659 (afs_be_mod_SOURCES): New variable.
13660 (afs_be_mod_CFLAGS): Likewise.
13661 (afs_be_mod_LDFLAGS): Likewise.
13662 (befs_be_mod_SOURCES): Likewise.
13663 (befs_be_mod_CFLAGS): Likewise.
13664 (befs_be_mod_LDFLAGS): Likewise.
13665 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
13666 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13667 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13668 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13669 (grub_emu_SOURCES): Likewise.
13670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13671 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13672 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13673 * fs/afs_be.c: New file.
13674 * fs/befs_be.c: New file.
13675 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
13676 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
13677 (U16): Replaced with ...
13678 (grub_afs_to_cpu16): ...this. All users updated.
13679 (U32): Replaced with ...
13680 (grub_afs_to_cpu32): ...this. All users updated.
13681 (U64): Replaced with ...
13682 (grub_afs_to_cpu64): ...this. All users updated.
13683 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
13684 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 13685 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 13686 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13687 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13688 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13689 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13690 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13691 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13692 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13693 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13694
32a71655 136952009-08-26 Bean <bean123ch@gmail.com>
13696
13697 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
13698 64-bit number.
13699 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13700 (grub_xfs_inode_block): Change return type to grub_uint64_t.
13701 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
13702
552bf6c5 137032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 NetBSD memory map support.
13706
13707 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
13708 (grub_netbsd_btinfo_mmap_header): New structure.
13709 (grub_netbsd_btinfo_mmap_entry): Likewise.
13710 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
13711
1ae2078c 137122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 Enable bsd.mod on coreboot.
13715
13716 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
13717 (bsd_mod_SOURCES): New variable.
13718 (bsd_mod_CFLAGS): Likewise.
13719 (bsd_mod_LDFLAGS): Likewise.
13720 (bsd_mod_ASFLAGS): Likewise.
13721 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
13722 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
13723
beefc598 137242009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13725
13726 Cleanup NetBSD root support.
13727
13728 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
13729 grub_bsd_get_device.
13730 Fix typo.
13731
3b76e68b 137322009-08-25 Felix Zielcke <fzielcke@z-51.de>
13733
13734 * util/grub.d/00_header.in: Move check for the video backend of
13735 gfxterm from here ...
13736 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
13737 a suitable video backend.
13738
aea664ea 137392009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13740
13741 Fix breakage in grub-setup.
13742
13743 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
13744 "msdos_partition_map".
13745
ff747d50 137462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 Fix breakage in normal/auth.c.
13749
13750 * normal/auth.c (grub_iswordseparator): New function.
13751
e7e1f93f 137522009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 Authentication support.
13755
13756 * commands/password.c: New file.
13757 * conf/common.rmk (pkglib_MODULES): Add password.mod.
13758 (password_mod_SOURCES): New variable.
13759 (password_mod_CFLAGS): Likewise.
13760 (password_mod_LDFLAGS): Likewise.
13761 (normal_mod_SOURCES): Add normal/auth.c.
13762 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
13763 normal/auth.c.
13764 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13765 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13766 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13768 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13769 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13770 * include/grub/auth.h: New file.
13771 * include/grub/err.h (grub_err_t): New enum value
13772 GRUB_ERR_ACCESS_DENIED.
13773 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
13774 'users'.
13775 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
13776 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
13777 users updated.
13778 * normal/auth.c: New file.
13779 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
13780 (grub_cmdline_run): Don't allow to go to command line without
13781 authentication.
13782 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
13783 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
13784 menuentry without superuser rights.
13785 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
13786 user isn't a superuser.
13787
70f1161d 137882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 Save space by inlining misc.c functions.
13791
13792 * kern/misc.c (grub_iswordseparator): Made static.
13793 * kern/misc.c (grub_strcat): Moved from here ...
13794 * include/grub/misc.h (grub_strcat): ... here. Inlined.
13795 * kern/misc.c (grub_strncat): Moved from here ...
13796 * include/grub/misc.h (grub_strncat): ... here. Inlined.
13797 * kern/misc.c (grub_strcasecmp): Moved from here ...
13798 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
13799 * kern/misc.c (grub_strncasecmp): Moved from here ...
13800 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
13801 * kern/misc.c (grub_isalpha): Moved from here ...
13802 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
13803 * kern/misc.c (grub_isdigit): Moved from here ...
13804 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
13805 * kern/misc.c (grub_isgraph): Moved from here ...
13806 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
13807 * kern/misc.c (grub_tolower): Moved from here ...
13808 * include/grub/misc.h (grub_tolower): ... here. Inlined.
13809
48e40bff 138102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13811
13812 * script/sh/function.c (grub_script_function_find): Cut error message
13813 not to flood terminal.
13814 * script/sh/lexer.c (grub_script_yylex): Remove command line length
13815 limit.
13816 * script/sh/script.c (grub_script_arg_add): Duplicate string.
13817
c385bfc3 138182009-08-24 Colin Watson <cjwatson@ubuntu.com>
13819
13820 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
13821 `report' grub_uint8_t *.
13822 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
13823 Use a 50-millisecond timeout rather than just repeating
13824 grub_usb_keyboard_getreport 50 times.
13825 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
13826
2d21e3e8 138272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 Rename *_partition_map to part_*
13830
13831 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
13832 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
13833 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
13834 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
13835 All users updated.
13836 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
13837 All users updated.
13838 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
13839 * util/grub-probe.c (probe_partmap): Don't transform partition name
13840 to get module name.
13841
dd103c4e 138422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 Fix OpenBSD and NetBSD support.
13845
13846 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
13847 memory address conflict.
13848 (OPENBSD_MMAP_ACPI): New definition.
13849 (OPENBSD_MMAP_NVS): Likewise.
13850 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
13851 and OPENBSD_MMAP_NVS.
13852 Add memory map terminator
13853 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 13854 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 13855
16c84d74 138562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 Let user specify NetBSD root device.
13859
13860 * loader/i386/bsd.c (netbsd_root): New variable.
13861 (netbsd_opts): New option 'root'.
13862 (NETBSD_ROOT_ARG): New macro.
13863 (grub_netbsd_boot): Use 'netbsd_root'.
13864 (grub_bsd_unload): Free 'netbsd_root'.
13865 (grub_cmd_netbsd): Fill 'netbsd_root'.
13866
adb29902 138672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13868
13869 Support for 64-bit NetBSD.
13870
13871 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
13872 point when booting non-FreeBSD.
13873
f5ae9f74 138742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 Support --no-smp and --no-acpi for NetBSD.
13877
13878 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
13879 (NETBSD_AB_NOACPI): Likewise.
13880 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
13881 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
13882
de74f136 138832009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
13886 errors.
13887 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
13888 errors. Call grub_error when needed.
13889
e9a925da 138902009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 * commands/search.c (search_fs): Try searching without autoload first.
13893 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13894 filesystem module explicitly for faster booting.
13895
5174302b 138962009-08-23 Colin Watson <cjwatson@ubuntu.com>
13897
13898 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
13899
c8c80635 139002009-08-23 Colin Watson <cjwatson@ubuntu.com>
13901
13902 * util/grub.d/30_os-prober.in: Disable os-prober if
13903 `GRUB_DISABLE_OS_PROBER' was set to true.
13904
71acf5e5 139052009-08-23 Robert Millan <rmh.grub@aybabtu.com>
13906
13907 * partmap/pc.c: Rename to ...
13908 * partmap/msdos.c: ... this. Update all users.
13909 (grub_pc_partition_map): Rename to ...
13910 (grub_msdos_partition_map): ... this. Update all users.
13911
13912 * parttool/pcpart.c: Rename to ...
13913 * parttool/msdospart.c: ... this. Update all users.
13914
13915 * include/grub/pc_partition.h: Rename to ...
13916 * include/grub/msdos_partition.h: ... this. Update all users.
13917 (grub_pc_partition_bsd_entry): Rename to ...
13918 (grub_msdos_partition_bsd_entry): ... this. Update all users.
13919 (grub_pc_partition_disk_label): Rename to ...
13920 (grub_msdos_partition_disk_label): ... this. Update all users.
13921 (grub_pc_partition_entry): Rename to ...
13922 (grub_msdos_partition_entry): ... this. Update all users.
13923 (grub_pc_partition_mbr): Rename to ...
13924 (grub_msdos_partition_mbr): ... this. Update all users.
13925 (grub_pc_partition): Rename to ...
13926 (grub_msdos_partition): ... this. Update all users.
13927 (grub_pc_partition_is_empty): Rename to ...
13928 (grub_msdos_partition_is_empty): ... this. Update all users.
13929 (grub_pc_partition_is_extended): Rename to ...
13930 (grub_msdos_partition_is_extended): ... this. Update all users.
13931 (grub_pc_partition_is_bsd): Rename to ...
13932 (grub_msdos_partition_is_bsd): ... this. Update all users.
13933
13934 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
13935 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
13936 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
13937 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
13938 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
13939 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
13940 (gpt_mod_LDFLAGS): Rename to ...
13941 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
13942 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
13943 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
13944 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
13945 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
13946 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
13947 (part_gpt_mod_LDFLAGS): ... this.
13948 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
13949 `pcpart.mod' to `msdospart.mod'.
13950 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
13951 to ...
13952 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
13953 (msdospart_mod_LDFLAGS): ... this.
13954
c11fded5 139552009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13956
13957 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
13958 (openbsd_opts): Likewise.
13959 (netbsd_opts): Likewise.
13960 (freebsd_flags): Added 0 terminator.
13961 (openbsd_flags): Likewise.
13962 (netbsd_flags): Likewise.
13963 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
13964 (grub_cmd_freebsd): Transformed into extended command.
13965 (grub_cmd_openbsd): Likewise.
13966 (grub_cmd_netbsd): Likewise.
13967 (cmd_freebsd): Changed type to grub_extcmd_t.
13968 (cmd_openbsd): Likewise.
13969 (cmd_netbsd): Likewise.
13970 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
13971 grub_cmd_openbsd as extended commands.
13972 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
13973 cmd_netbsd and cmd_openbsd
13974
11d1c769 139752009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
13978
7a9094e5 139792009-08-21 Pavel Roskin <proski@gnu.org>
13980
5496c37e 13981 * Makefile.in (install-local): When checking if a file is in the
13982 build directory, use "test -e" to detect symlinks.
13983
7a9094e5 13984 * Makefile.in (install-local): Remove all files in
13985 $(DESTDIR)$(pkglibdir) before installing new files there.
13986
e53cea11 139872009-08-18 Felix Zielcke <fzielcke@z-51.de>
13988
13989 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
13990 grub-mkelfimage.
13991
9aced544 139922009-08-18 Felix Zielcke <fzielcke@z-51.de>
13993
13994 * util/grub-mkconfig.in: Don't use gfxterm by default if not
13995 explicitly specified by the user.
13996
b7da6bab 139972009-08-18 Pavel Roskin <proski@gnu.org>
13998
13999 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
14000 grub_uint8_t pointer for data.
14001 * include/grub/fbutil.h (struct grub_video_fbblit_info):
14002 Likewise.
14003 * video/fb/fbutil.c: Remove unnecessary casts.
14004
19f1b335 140052009-08-17 Michal Suchanek <hramrach@centrum.cz>
14006
14007 VBE cleanup.
14008
14009 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
14010 (grub_vbe_set_video_mode): Save active mode info
14011 only after setting the mode.
14012 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
14013 second argument.
14014
2f467aa9 140152009-08-17 Michal Suchanek <hramrach@centrum.cz>
14016
14017 Rename variables for clarity.
14018
14019 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
14020 (active_vbe_mode_info): ... this. All users updated.
14021 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
14022 All users updated.
14023 (initial_mode): Rename to ...
14024 (initial_vbe_mode): ... this. All users updated.
14025 (mode_in_use): Rename to ..
14026 (vbe_mode_in_use): ... this. All users updated.
14027 (mode_list): Rename to ..
14028 (vbe_mode_list): ... this. All users updated.
14029 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
14030 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
14031 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
14032 'mode_list_size' to 'vbe_mode_list_size'.
14033 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
14034 'best_mode_info' to 'best_vbe_mode_info' and
14035 'best_mode' to 'best_vbe_mode'
14036
6025fcd7 140372009-08-17 Michal Suchanek <hramrach@centrum.cz>
14038
14039 Remove duplicate grub_video_fb_get_video_ptr.
14040
14041 * include/grub/fbutil.h (get_data_ptr): Rename to ...
14042 (grub_video_fb_get_video_ptr): ... this.
14043 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
14044 * video/fb/fbutil.c: Add comment about addressing.
14045 (get_data_ptr): Rename to ...
14046 (grub_video_fb_get_video_ptr): ... this. All users updated.
14047 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
14048
cc8c6faf 140492009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14050
14051 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
14052 grub_dprintf() that was just added.
14053
08aa61f0 140542009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14055
14056 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
14057 (DEFAULT_VIDEO_MODE): Remove macros.
14058 (grub_linux_boot): Remove assumption that Linux has FB support,
14059 and use "text" as default video mode.
14060
7cef4f75 140612009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
14064 grub_dprintf.
14065 * fs/fat.c (grub_fat_read_data): Likewise.
14066
e1f39873 140672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14068
14069 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
14070 payload.
14071 (grub_module): Likewise.
14072
c166d79e 140732009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
14076 mbi->cmdline but free playground.
14077
c60cee8e 140782009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 Handle group offset on UFS1.
14081
14082 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
14083 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
14084
c0d8b5d4 140852009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 Split ufs.mod into ufs1.mod and ufs2.mod.
14088
14089 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
14090 (grub_fstest_SOURCES): Likewise.
14091 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
14092 (ufs_mod_SOURCES): Remove.
14093 (ufs_mod_CFLAGS): Likewise.
14094 (ufs_mod_LDFLAGS): Likewise.
14095 (ufs1_mod_SOURCES): New variable.
14096 (ufs1_mod_CFLAGS): Likewise.
14097 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 14098 (ufs2_mod_SOURCES): New variable.
14099 (ufs2_mod_CFLAGS): Likewise.
14100 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 14101 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
14102 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14103 Likewise.
14104 (grub_emu_SOURCES): Likewise.
14105 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14106 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14107 (grub_setup_SOURCES): Likewise.
14108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14109 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
14110 (grub_setup_SOURCES): Likewise.
14111 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14112 Likewise.
14113 * fs/ufs2.c: New file.
14114 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
14115
d3539132 141162009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Framebuffer split.
14119
14120 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
14121 subsystem at the end.
14122 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
14123 (video_fb_mod_SOURCES): New variable.
14124 (video_fb_mod_CFLAGS): Likewise.
14125 (video_fb_mod_LDFLAGS): Likewise.
14126 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
14127 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
14128 * video/i386/pc/vbeblit.c: Moved from here ...
14129 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
14130 * video/i386/pc/vbefill.c: Moved from here ...
14131 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
14132 * video/i386/pc/vbeutil.c: Moved from here ...
14133 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
14134 * include/grub/i386/pc/vbeblit.h: Moved from here ...
14135 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
14136 * include/grub/i386/pc/vbefill.h: Moved from here ...
14137 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
14138 * include/grub/i386/pc/vbeutil.h: Moved from here ...
14139 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
14140 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
14141 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
14142 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
14143 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
14144 (grub_video_adapter): Added 'get_info_and_fini'.
14145 (grub_video_get_info_and_fini): New prototype.
14146 (grub_video_set_mode): make modestring const char *.
14147 * loader/i386/linux.c (grub_linux_setup_video): Use
14148 grub_video_get_info_and_fini.
14149 (grub_linux_boot): Move modesetting just before booting.
14150 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
14151 grub_video_get_info_and_fini.
14152 * video/i386/pc/vbe.c: Moved framebuffer part ...
14153 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
14154 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
14155 grub_video_fbstd_colors and grub_video_fb_set_palette.
14156 (grub_video_vbe_init): Clear 'framebuffer' variable and use
14157 grub_video_fb_init.
14158 (grub_video_vbe_fini): Use grub_video_fb_fini.
14159 (grub_video_vbe_setup): Use framebuffer.render_target instead of
14160 render_target and use grub_video_fb_set_active_render_target and
14161 grub_video_fb_set_palette.
14162 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
14163 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
14164 (grub_video_vbe_adapter): Use framebuffer.
14165 * video/video.c (grub_video_get_info_and_fini): New function.
14166 (grub_video_set_mode): Make modestring const char *.
14167 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
14168 values are already initialised.
14169
d404ee56 141702009-08-14 Pavel Roskin <proski@gnu.org>
14171
14172 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
14173 ABS and APPLE_CC.
14174 * boot/i386/pc/diskboot.S: Likewise.
14175 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
14176 sectors allow compilation on MacOSX.
14177 * conf/i386-pc.rmk: Enable unconditional compilation of
14178 lnxboot.img.
14179
9a10df16 141802009-08-13 Colin Watson <cjwatson@ubuntu.com>
14181
14182 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
14183 * util/grub.d/00_header.in: Enter interruptible sleep if
14184 GRUB_HIDDEN_TIMEOUT is set.
14185
be3c9ca7 141862009-08-13 Yves Blusseau <blusseau@zetam.org>
14187
14188 * include/grub/symbol.h: Add the LOCAL macro.
14189 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
14190 starting with "L_".
14191
1f9e557e 141922009-08-13 Pavel Roskin <proski@gnu.org>
14193
9ca62843 14194 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
14195 any modern compilers we support.
14196
1f9e557e 14197 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
14198 Use local labels starting with "L_" so that Apple assembler
14199 knows they are local.
14200
81623db6 142012009-08-10 Robert Millan <rmh.grub@aybabtu.com>
14202
14203 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
14204 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
14205 (bsd_kernel_types): ... this enum.
14206
14207 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
14208 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
14209 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
14210
14211 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
14212 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
14213 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
14214 messages.
14215
f5d35e7a 142162009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14217
14218 * util/grub-dumpdevtree: Moved from here ...
14219 * util/i386/efi/grub-dumpdevtree: ... to here.
14220 (hexify): New function. Converts a string to its hex version.
14221 Generate hex versions of "efi" and "device-properties" by calling
14222 hexify() on the ASCII strings rather than by hardcoding numbers.
14223
d1e1d527 142242009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14225
14226 * fs/jfs.c: Update copyright year.
14227
1ebbe064 142282009-08-08 Felix Zielcke <fzielcke@z-51.de>
14229
14230 * util/grub.d/00_header.in: Fix a comment.
14231 * util/grub.d/10_linux.in: Likewise.
14232 * util/grub.d/10_windows.in: Likewise.
14233 * util/grub.d/10_hurd.in: Likewise.
14234
a78c8d24 142352009-08-08 Felix Zielcke <fzielcke@z-51.de>
14236
14237 * util/grub-mkconfig.in: Allow the user to specify the used font
14238 with GRUB_FONT.
14239
29a6b9e8 142402009-08-08 Pavel Roskin <proski@gnu.org>
14241
b5f16cc4 14242 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
14243 available, xfs.mod needs it now.
14244
2f5cb827 14245 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
14246 the "g" modifier in sed when the intention is to strip something
14247 once. This fixes comparison of kernels with multiple dashes.
14248
29a6b9e8 14249 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
14250 on it. Add missing space before closing bracket. Fix
14251 misleading formatting.
14252
892a3d98 142532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14254
14255 * docs/grub.texi: Major overhaul. Remove all sections that are
14256 specific to GRUB Legacy, or mostly composed of Legacy-specific
14257 information.
14258
ed94253f 142592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14260
14261 * docs/version.texi: New file. Provides version information for
14262 grub.texi.
14263
126d6628 142642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14265
14266 * docs/grub.texi: Update CVS information to SVN.
14267 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
14268
998b5aa9 142692009-08-07 Felix Zielcke <fzielcke@z-51.de>
14270
14271 * util/grub-mkconfig.in: Remove a wrong `fi'.
14272
818e094a 142732009-08-07 Felix Zielcke <fzielcke@z-51.de>
14274
14275 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
14276 (grub_jfs_uuid): New function.
14277 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
14278
b969c52f 142792009-08-07 Felix Zielcke <fzielcke@z-51.de>
14280
14281 * util/grub-mkconfig_lib.in (font_path): Move the functionality
14282 of it to ...
14283 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
14284 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
14285
7a4894cc 142862009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14287
14288 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
14289 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
14290 Update all users.
14291
14292 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
14293 not just "vmlinu[zx]".
14294 Moved from here ...
14295 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
14296 all users.
14297
14298 * util/grub.d/10_linux.in (find_latest): Moved from here ...
14299 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
14300 all users.
14301
4e2171f8 143022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14303
14304 * util/grub.d/10_freebsd.in: Use an absolute device path for
14305 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
14306
6dcfcb32 143072009-08-06 Felix Zielcke <fzielcke@z-51.de>
14308
14309 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
14310 handling of multiple abstraction modules.
14311
f56a8756 143122009-08-04 Robert Millan <rmh.grub@aybabtu.com>
14313
14314 Fix a bug resulting in black screen when loading Linux using a
14315 packed video mode.
14316
14317 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
14318 function.
14319
14320 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
14321 (grub_vbe_bios_getset_dac_palette_width): New function.
14322 (grub_vbe_bios_get_dac_palette_width)
14323 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
14324 grub_vbe_bios_getset_dac_palette_width()).
14325
14326 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
14327 check for return status.
14328 (grub_vbe_get_video_mode_info): When getting information for a packed
14329 mode (<= 8 bpp), obtain DAC palette width using
14330 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
14331 {red,green,blue}_mark_size.
14332
222671b2 143332009-08-04 Felix Zielcke <fzielcke@z-51.de>
14334
ecb1a6d9 14335 * commands/search.c (options): Fix help output to match actual code.
222671b2 14336
f84114f5 143372009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
14340 of homegrown code.
14341
bd288a20 143422009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 14343
14344 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
14345 on XFS or ReiserFS.
14346
8aab5e25 143472009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 Support Apple partition map with sector size different from 512 bytes.
14350
14351 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
14352 (apple_partition_map_iterate): Respect 'aheader.blocksize'
14353 and 'apart.partmap_size'.
14354
6ad6258a 143552009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
143562009-08-01 Robert Millan <rmh.grub@aybabtu.com>
14357
14358 Fix cpuid command.
14359
14360 * commands/i386/cpuid.c (options): New variable.
14361 (grub_cmd_cpuid): Return real error.
14362 (GRUB_MOD_INIT(cpuid)): Declare options.
14363
67459bc6 143642009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
14367 valid.
14368
fbc6ab54 143692009-07-31 Bean <bean123ch@gmail.com>
14370
14371 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
14372 log2_inode.
14373 (grub_fshelp_node): Move inode field to the end.
14374 (grub_xfs_data): Remove inode field.
14375 (grub_xfs_inode_block): Calculate inode size using sblock.
14376 (grub_xfs_inode_offset): Likewise.
14377 (grub_xfs_read_inode): Calculate inode size using sblock.
14378 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
14379 (grub_xfs_iterate_dir): Calculate inode size using sblock.
14380 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
14381 to match inode size.
14382 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
14383 not accessible when data is null.
14384 (grub_xfs_open): Likewise.
14385
f45d6cfc 143862009-07-31 Bean <bean123ch@gmail.com>
14387
14388 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
14389 Don't change pv->disk if it's already set.
14390
14391 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
14392 (grub_raid_register): ... here.
14393 (grub_raid_rescan): Removed.
14394
14395 * include/grub/raid.h (grub_raid_rescan): Removed.
14396
14397 * util/grub-fstest.c: Remove include file <grub/raid.h>.
14398 (fstest): Replace grub_raid_rescan with module fini function followed
14399 by init function.
14400
14401 * util/grub-probe.c: Add include file <grub/raid.h>.
14402 (probe_raid_level): New function.
14403 (probe): Detect abstraction by walking the disk device, support two
14404 level of abstraction (LVM on RAID) when detecting partition map.
14405
24443b5a 144062009-07-31 Pavel Roskin <proski@gnu.org>
14407
14408 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
14409 to grub_zalloc(), it was erroneous.
14410 Reported by Bean <bean123ch@gmail.com>
14411
a275d9e7 144122009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 14415 embedding zone, not only the first one.
a275d9e7 14416
56c5a47f 144172009-07-29 Joe Auricchio <jauricchio@gmail.com>
14418
14419 * term/gfxterm.c (clear_char): New function.
14420 (grub_virtual_screen_setup): Use clear_char.
14421 (scroll_up): Likewise.
14422 (grub_virtual_screen_cls): Likewise.
14423
67bb323a 144242009-07-29 Felix Zielcke <fzielcke@z-51.de>
14425
14426 * util/deviceiter.c (get_acceleraid_disk_name): New static
14427 function.
14428 (grub_util_iterate_devices): Handle Accelraid devices.
14429 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
14430
388a7c75 144312009-07-28 Robert Millan <rmh.grub@aybabtu.com>
14432
14433 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
14434 separator for the suggested gfxpayload string (';' collides with the
14435 parser and needs escaping).
14436
3bb7abcf 144372009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14438
14439 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
14440 Clear direction flag before jumping to OS.
14441 (grub_multiboot2_real_boot): Likewise.
14442
2ddd36d7 144432009-07-28 Felix Zielcke <fzielcke@z-51.de>
14444
14445 * util/i386/pc/grub-install: Fix parsing of --disk-module
14446 option.
14447
c521b62b 144482009-07-28 Felix Zielcke <fzielcke@z-51.de>
14449
14450 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
14451 when embedding.
14452
880e0a0c 144532009-07-26 Felix Zielcke <fzielcke@z-51.de>
14454
14455 * util/grub-mkconfig.in (package_version): New variable.
14456 Use it do display the version.
14457
2366e356 144582009-07-25 Felix Zielcke <fzielcke@z-51.de>
14459
14460 * kern/file.c (grub_file_open): Revert to previous check with
14461 grub_errno.
14462
7ad8c80e 144632009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14464
14465 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
14466 from help line. It's out of sync with code.
14467
72b9658b 144682009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
14471 entries on failed boot.
14472
77435277 144732009-07-25 Felix Zielcke <fzielcke@z-51.de>
14474
14475 * kern/file.c (grub_file_open): Fix an error check.
14476
fcaa8b21 144772009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
14478
35d16c74 14479 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
14480 partition map couldn't be identified.
fcaa8b21 14481
48904cd1 144822009-07-23 Pavel Roskin <proski@gnu.org>
14483
ef3c317f 14484 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
14485 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
14486 case of little endian words becomes just an optimization.
14487 Respect const modifier.
ad8ea1f4 14488 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 14489
48904cd1 14490 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
14491 to avoid loss of upper bits if align is unsigned and shorter
14492 than addr.
14493
260c9a89 144942009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14495
14496 UUID support for UFS
14497
14498 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
14499 (grub_ufs_uuid): New function.
14500 (grub_ufs_fs): add .uuid
14501
f76ce889 145022009-07-21 Pavel Roskin <proski@gnu.org>
14503
14504 * kern/dl.c (grub_dl_check_header): Make static.
14505
6a6cbcaf 145062009-07-21 Felix Zielcke <fzielcke@z-51.de>
14507
14508 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
14509 add drivemap for Vista. It breaks Windows 7.
14510
cffcddb2 145112009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
14514 128 bytes
14515
1ef44b80 145162009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 Add BFS support
14519
14520 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
14521 (grub_fstest_SOURCES): Likewise.
14522 (pkglib_MODULES): Add befs.mod.
14523 (befs_mod_SOURCES): New variable.
14524 (befs_mod_CFLAGS): Likewise.
14525 (befs_mod_LDFLAGS): Likewise.
14526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14527 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14529 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14530 (grub_setup_SOURCES): Likewise.
14531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14533 (grub_setup_SOURCES): Likewise.
14534 * fs/befs.c: New file.
14535 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
14536 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
14537 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
14538 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
14539 (B_KEY_INDEX_ALIGN): New declaration.
14540 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
14541 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
14542 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
14543 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
14544 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
14545 (grub_afs_mount) [MODE_BFS]: Likewise.
14546 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
14547 (grub_afs_fs): Use GRUB_AFS_FSNAME
14548 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
14549 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
14550 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
14551 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
14552
4f253044 145532009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
14554
14555 * util/getroot.c (find_root_device): Add support for MacOSX.
14556 * util/hostdisk.c: Likewise.
14557
57a55913 145582009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14559
14560 * font/font.c (find_glyph): Check whether a font is present to avoid
14561 segmentation fault.
75421ca9 14562
145632009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 14564
14565 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
14566
e98cd0c2 145672009-07-20 Pavel Roskin <proski@gnu.org>
14568
14569 * configure.ac: Trim excessively wordy excuses.
14570
1d2d169a 145712009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14572
14573 Add symlink, mtime and label support to AtheFS.
14574
14575 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
14576 (grub_afs_iterate_dir): Handle symlinks.
14577 (grub_afs_open): Use grub_afs_read_symlink.
14578 (grub_afs_dir): Likewise.
14579 Pass mtime.
14580 (grub_afs_label): New function.
14581 (grub_afs_fs): Add grub_afs_label.
14582 (grub_afs_read_symlink): New function.
14583
186f3189 145842009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 Fix AtheFS support.
14587
14588 * fs/afs.c: Fix comments style.
14589 (grub_afs_blockrun): Declare as packed.
14590 (grub_afs_datastream): Likewise.
14591 (grub_afs_bnode): Likewise.
14592 (grub_afs_btree): Likewise.
14593 (grub_afs_sblock): Likewise.
14594 Declare `name' as char.
14595 (grub_afs_inode): Declare as packed.
14596 Change void *vnode to grub_uint32_t unused.
14597 (grub_afs_iterate_dir): Check that key_size is positive.
14598 (grub_afs_mount): Don't read superblock twice.
75421ca9 14599 (grub_afs_dir): Don't free node in case of error,
186f3189 14600 grub_fshelp_find_file already handles this.
14601 (grub_afs_open): Likewise.
14602
5680109e 146032009-07-19 Pavel Roskin <proski@gnu.org>
14604
14605 * Makefile.in: Remove LIBLZO and enable_lzo.
14606 * conf/i386-pc.rmk: Remove lzo support.
14607 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
14608 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
14609 support.
14610 * kern/i386/pc/lzo1x.S: Remove.
14611 * kern/i386/pc/startup.S: Remove lzo support.
14612 * util/i386/pc/grub-mkimage.c: Likewise.
14613
ac70fa32 146142009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
14615
14616 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
14617 * fs/xfs.c (grub_xfs_dir): Likewise.
14618 * fs/afs.c (grub_afs_dir): Likewise.
14619 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
14620 (grub_iso9660_open): Likewise.
14621 * fs/jfs.c (grub_jfs_open): Likewise.
14622 * fs/ext2.c (grub_ext2_dir): Likewise.
14623 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
14624 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 14625
eab58da2 146262009-07-16 Pavel Roskin <proski@gnu.org>
14627
d2838156 14628 * configure.ac: Never add "-c" to CFLAGS.
14629
55c70904 14630 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
14631
43e6200c 14632 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
14633 grub_cv_cc_efiemu should be used.
14634
ce7a733d 14635 * configure.ac: Typo fixes.
14636
eab58da2 14637 * kern/mm.c (grub_zalloc): New function.
14638 (grub_debug_zalloc): Likewise.
14639 * include/grub/mm.h: Declare grub_zalloc() and
14640 grub_debug_zalloc().
14641 * util/misc.c (grub_zalloc): New function.
14642 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
14643 instead of grub_malloc(), remove unneeded initializations.
14644 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
14645 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
14646 * commands/parttool.c (grub_cmd_parttool): Likewise.
14647 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14648 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
14649 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
14650 * disk/usbms.c (grub_usbms_finddevs): Likewise.
14651 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
14652 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
14653 (grub_cmd_efiemu_pnvram): Likewise.
14654 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
14655 * fs/iso9660.c (grub_iso9660_mount): Likewise.
14656 (grub_iso9660_iterate_dir): Likewise.
14657 * fs/jfs.c (grub_jfs_opendir): Likewise.
14658 * fs/ntfs.c (list_file): Likewise.
14659 (grub_ntfs_mount): Likewise.
14660 * kern/disk.c (grub_disk_open): Likewise.
14661 * kern/dl.c (grub_dl_load_core): Likewise.
14662 * kern/elf.c (grub_elf_file): Likewise.
14663 * kern/env.c (grub_env_context_open): Likewise.
14664 (grub_env_set): Likewise.
14665 (grub_env_set_data_slot): Likewise.
14666 * kern/file.c (grub_file_open): Likewise.
14667 * kern/fs.c (grub_fs_blocklist_open): Likewise.
14668 * loader/i386/multiboot.c (grub_module): Likewise.
14669 * loader/xnu.c (grub_xnu_create_key): Likewise.
14670 (grub_xnu_create_value): Likewise.
14671 * normal/main.c (grub_normal_add_menu_entry): Likewise.
14672 (read_config_file): Likewise.
14673 * normal/menu_entry.c (make_screen): Likewise.
14674 * partmap/sun.c (sun_partition_map_iterate): Likewise.
14675 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
14676 * script/sh/script.c (grub_script_parse): Likewise.
14677 * video/bitmap.c (grub_video_bitmap_create): Likewise.
14678 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14679 * video/readers/png.c (grub_png_output_byte): Likewise.
14680 (grub_video_reader_png): Likewise.
14681
830afef7 146822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 14683
14684 Enable all targets that can be built by default
14685
830afef7 14686 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 14687 grub-mkfont and grub-fstest if they can be built
14688
ee293aee 146892009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 Fix hang and segmentation fault in grub-emu-usb
14692
14693 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
14694 * util/usb.c (grub_libusb_devices): likewise
14695 (grub_libusb_init): rename to ...
14696 (GRUB_MOD_INIT (libusb)):...this
14697 (grub_libusb_fini): rename to ..
14698 (GRUB_MOD_FINI (libusb)):...this
14699 * disk/usbms.c (grub_usbms_transfer): fix retry logic
14700 * include/grub/disk.h (grub_raid_init): removed, it's useless
14701 (grub_raid_fini): likewise
14702 (grub_lvm_init): likewise
14703 (grub_lvm_fini): likewise
14704 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
14705 by grub_init_all
14706
94414221 147072009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 Fix libusb
14710
14711 * Makefile.in (LIBUSB): new macro
14712 * genmk.rb (Utility/print_tail): new method
14713 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
14714 (top level): call util.print_tail at the end.
14715
59ade63d 147162009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 Make FreeBSD accept zpool.cache
14719
14720 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
14721 type is /boot/zfs/zpool.cache
14722
a58da8c7 147232009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 Fix 64-bit efiemu
14726
14727 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
14728 correct wrong typedef
14729 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
14730
20591577 147312009-07-15 Pavel Roskin <proski@gnu.org>
14732
560ca572 14733 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
14734 * kern/disk.c (struct grub_disk_cache): Likewise.
14735
e8e8e4fd 14736 * commands/probe.c (options): Typo fix.
14737
fde24e10 14738 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
14739 Increase to 0x5a to accommodate FAT32. Adjust other offsets
14740 accordingly.
14741 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
14742
379c54c1 14743 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
14744 the end of "Error" to make the message more readable.
14745
7bd8f5bf 14746 * boot/i386/pc/boot.S (kernel_segment): Remove.
14747 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
14748 for destination.
14749
40b132c5 14750 * boot/i386/pc/boot.S (boot_version): Remove.
14751 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14752 Remove.
14753
20591577 14754 * include/grub/i386/pc/boot.h: Sort all offsets.
14755 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
14756 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
14757 * boot/i386/pc/boot.S: Assert location of every offset listed in
14758 include/grub/i386/pc/boot.h.
14759
2df32b2c 147602009-07-13 Pavel Roskin <proski@gnu.org>
14761
44b5d879 14762 * include/grub/i386/coreboot/machine.h: Rename
14763 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
14764 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
14765 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
14766
17dc3751 14767 * kern/dl.c: Force native word size to suppress warnings when
14768 compiling grub-emu.
14769
2df32b2c 14770 * kern/device.c (grub_device_iterate): Change struct part_ent to
14771 hold the name, not a pointer to it. Use one grub_malloc() per
14772 partition, not two. Free partition_name if grub_malloc() fails.
14773 Set ents to NULL only before grub_partition_iterate() is called.
14774
75c59f59 147752009-07-11 Bean <bean123ch@gmail.com>
14776
14777 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
14778 childname.
14779
0ae1bf88 147802009-07-10 Bean <bean123ch@gmail.com>
147812009-07-10 Robert Millan <rmh.grub@aybabtu.com>
14782
14783 * kern/ieee1275/openfw.c (grub_children_iterate)
14784 (grub_devalias_iterate): Fix size evaluation for property or path
14785 strings, which was broken since r2132.
14786
8279cade 147872009-07-07 Pavel Roskin <proski@gnu.org>
14788
7d8a52d3 14789 * commands/search.c (search_file): Merge into ...
14790 (search_fs): ... this. Accept search type as argument.
14791 (grub_cmd_search): Pass search type to search_fs().
14792
25f9a05a 14793 * include/grub/util/console.h: New file.
14794 * util/console.c: Use it instead of grub/machine/console.h.
14795 * util/grub-emu.c: Likewise.
14796
8279cade 14797 * lib/arg.c (find_long_option): Remove.
14798 (find_long): Add `len' argument, make `s' const char *.
14799 (grub_arg_parse): Parse long options in place, not in a
14800 temporary buffer.
14801
4a11b60f 148022009-07-06 Pavel Roskin <proski@gnu.org>
14803
99f68041 14804 * commands/search.c (search_fs): Fix potential NULL pointer
14805 dereference.
14806
4a11b60f 14807 * commands/search.c (search_fs): Replace QUID macro with quid_fn
14808 function pointer.
14809
e110f4de 148102009-07-06 Daniel Mierswa <impulze@impulze.org>
14811
14812 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
14813 comparison.
14814
46eeb6a2 148152009-07-05 Pavel Roskin <proski@gnu.org>
14816
bab74958 14817 * include/grub/i386/linux.h (struct linux_kernel_params):
14818 Restore padding3, it's still needed.
14819
46eeb6a2 14820 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
14821 FreeBSD.
14822 * util/osdetect.lua: Likewise.
14823
b4a1dc79 148242009-07-05 Bean <bean123ch@gmail.com>
14825
14826 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
14827
14828 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
14829 (grub_lua_getenv): Likewise.
14830 (grub_lua_setenv): Likewise.
14831 (save_errno): New function.
14832 (push_result): Likewise.
14833 (grub_lua_enum_device): Likewise.
14834 (grub_lua_enum_file): Likewise.
14835 (grub_lua_file_open): Likewise.
14836 (grub_lua_file_close): Likewise.
14837 (grub_lua_file_seek): Likewise.
14838 (grub_lua_file_read): Likewise.
14839 (grub_lua_file_getline): Likewise.
14840 (grub_lua_file_getsize): Likewise.
14841 (grub_lua_file_getpos): Likewise.
14842 (grub_lua_file_eof): Likewise.
14843 (grub_lua_file_exist): Likewise.
14844 (grub_lua_add_menu): Likewise.
14845
14846 * script/lua/grub_lua.h (isupper): New inline function.
14847 (islower): Likewise.
14848 (ispunct): Likewise.
14849 (isxdigit): Likewise.
14850 (strcspn): Change to normal function.
14851 (strpbkr): New function declaration.
14852 (memchr): Likewise.
14853
14854 * script/lua/grub_main.c (scan_str): New function.
14855 (strcspn): Likewise.
14856 (strpbrk): Likewise.
14857 (memchr): Likewise.
14858
14859 * script/lua/linit.c (lualibs): Enable the string library.
14860
14861 * util/osdetect.lua: New file.
14862
2da92295 148632009-07-04 Robert Millan <rmh.grub@aybabtu.com>
14864
14865 * include/grub/i386/linux.h (struct linux_kernel_params): Add
14866 `capabilities' member.
14867
b2582ec9 148682009-07-02 Pavel Roskin <proski@gnu.org>
14869
14870 * genparttoollist.sh: Add missing newline at the end.
14871
32622956 148722009-07-01 Pavel Roskin <proski@gnu.org>
14873
87a7339e 14874 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
14875
d23af54e 14876 * util/hostdisk.c (open_device): Remove `const' from
14877 `sysctl_size', as sysctlbyname() can change it (in this case it
14878 doesn't actually happen).
14879
c94b18a9 14880 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
14881 using signed long int constants.
14882
c6cd3ef0 14883 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
14884 constant to avoid a warning on FreeBSD.
14885
0df63420 14886 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
14887 where it's needed.
14888
999577f1 14889 * Makefile.in: Install include/grub/machine symlink.
14890
6f41557f 14891 * Makefile.in: When installing symlinks, use "cp -fR", which
14892 works on FreeBSD and MacOSX.
14893 From Yves Blusseau <cl7m42e02@sneakemail.com>
14894
c8d22988 14895 * kern/dl.c (grub_dl_resolve_symbol): Make static.
14896 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
14897
1b96e952 14898 * util/misc.c: Move grub_reboot() and grub_halt() ...
14899 * util/grub-emu.c: ... here. Make main_env static.
14900 * include/grub/util/misc.h: Remove main_env.
14901
2ef0084d 14902 * kern/mm.c: Use correct format to print size_t.
14903
32622956 14904 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
14905 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
14906 * kern/powerpc/dl.c: Likewise.
14907 * kern/sparc64/dl.c: Likewise.
14908 * kern/x86_64/dl.c: Likewise.
14909
3f7f0cd0 149102009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14911
14912 Fix grub-emu build on sparc64-ieee1275.
14913
75421ca9 14914 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 14915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
14916
211d06b5 149172009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14918
14919 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
14920 (grub_reboot, grub_halt): New functions.
14921
14922 * util/i386/pc/misc.c: Delete. Update all users.
14923 * util/sparc64/ieee1275/misc.c: Likewise.
14924 * util/powerpc/ieee1275/misc.c: Likewise.
14925
aaf53e3c 149262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14927
14928 * conf/i386.rmk (setjmp_mod_SOURCES)
14929 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
14930 * conf/common.rmk (setjmp_mod_SOURCES)
14931 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
14932 to use $(target_cpu).
14933 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
14934 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
14935 * conf/powerpc-ieee1275.rmk: Likewise.
14936 * conf/sparc64-ieee1275.rmk: Likewise.
14937
14938 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
14939 $(target_cpu) for kern/$(target_cpu)/dl.c.
14940 * conf/i386-efi.rmk: Likewise.
14941 * conf/i386-ieee1275.rmk: Likewise.
14942 * conf/x86_64-efi.rmk: Likewise.
14943 * conf/i386-coreboot.rmk: Likewise.
14944 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
14945 $(target_cpu) for kern/$(target_cpu)/dl.c and for
14946 kern/$(target_cpu)/cache.S.
14947 * conf/sparc64-ieee1275.rmk: Likewise.
14948
a337130b 149492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14950
14951 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
14952 type to `grub_uint8_t', and adjust `padding9' accordingly.
14953
c6fe4d53 149542009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14955
b09db61d 14956 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
14957
c6fe4d53 14958 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
14959 assembly in final jump, using register constraints.
14960
b09db61d 14961 (grub_linux_boot): For text mode, initialize `have_vga' using
14962 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
14963
14964 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
14965 right before the final jump.
14966
14967 Set `video_mode' to 0x3.
14968
14969 Document initialization of `video_page', `video_mode' and
14970 `video_ega_bx'.
14971
28333ad0 149722009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14973
14974 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
14975 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 14976 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 14977
02164e1b 149782009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14979
14980 Fix build on Debian / sparc.
14981
14982 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
14983
18b6c557 149842009-06-28 Pavel Roskin <proski@gnu.org>
14985
85f2aab6 14986 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
14987 fix a warning.
14988
18b6c557 14989 * util/grub.d/10_linux.in: Match SUSE style initrd names.
14990
ad760f81 149912009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14992
14993 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
14994 `err'.
14995
87a4623b 149962009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14997
14998 Revert r2338.
14999
15000 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
15001 file can't be opened. grub_file_open() is already supposed to set
75421ca9 15002 grub_errno / grub_errmsg appropriately.
87a4623b 15003 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15004
8231fb77 150052009-06-27 Pavel Roskin <proski@gnu.org>
150062009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15007
15008 * include/grub/dl.h: Include grub/elf.h.
15009 (struct grub_dl): Add symtab field.
15010 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
15011 GRUB_MODULES_MACHINE_READONLY.
15012 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
15013 of the header for read-only modules.
15014 (grub_dl_unload): Free mod->symtab for read-only modules.
15015 * kern/i386/dl.c: Use mod->symtab.
15016 * kern/powerpc/dl.c: Likewise.
15017 * kern/sparc64/dl.c: Likewise.
15018 * kern/x86_64/dl.c: Likewise.
15019
15020 * conf/i386-qemu.rmk: New file.
15021 * kern/i386/qemu/startup.S: Likewise.
15022 * kern/i386/qemu/mmap.c: Likewise.
15023 * boot/i386/qemu/boot.S: Likewise.
15024 * include/grub/i386/qemu/time.h: Likewise.
15025 * include/grub/i386/qemu/serial.h: Likewise.
15026 * include/grub/i386/qemu/kernel.h: Likewise.
15027 * include/grub/i386/qemu/console.h: Likewise.
15028 * include/grub/i386/qemu/boot.h: Likewise.
15029 * include/grub/i386/qemu/init.h: Likewise.
15030 * include/grub/i386/qemu/machine.h: Likewise.
15031 * include/grub/i386/qemu/loader.h: Likewise.
15032 * include/grub/i386/qemu/memory.h: Likewise.
15033
15034 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
15035 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
15036 [qemu] (pkglib_IMAGES): Add `boot.img'.
15037 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
15038 [qemu] (boot_img_FORMAT): New variables.
15039 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
15040 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
15041 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
15042 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15043 [qemu] (kernel_img_FORMAT): New variables.
15044
15045 * configure.ac: Recognise `i386-qemu'.
15046
15047 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
15048 (for no compression).
15049 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
15050 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
15051 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
15052 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
15053 ifdefs).
15054
97fe384e 150552009-06-27 Pavel Roskin <proski@gnu.org>
15056
15057 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
15058 read.
15059 * efiemu/prepare32.c: Likewise.
15060 * efiemu/prepare64.c: Likewise.
15061
c402ab17 150622009-06-26 Pavel Roskin <proski@gnu.org>
15063
15064 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
15065 * include/grub/elf.h: Define symbols without "32" or "64" based
15066 on GRUB_TARGET_WORDSIZE.
15067 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
15068 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
15069 ELF definitions.
15070 * efiemu/loadcore64.c: Likewise.
15071 * loader/i386/bsd32.c: Likewise.
15072 * loader/i386/bsd64.c: Likewise.
15073 * kern/dl.c: Remove own ELF definitions.
15074 * util/i386/efi/grub-mkimage.c: Likewise.
15075
9bbdfd4d 150762009-06-23 Robert Millan <rmh.grub@aybabtu.com>
15077
15078 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
15079 segment 0x0 unconditionally, because the reference generated by
15080 GAS is an absolute address.
15081
a42ce6e9 150822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15083
15084 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
15085 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
15086
c952cf92 150872009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15088
15089 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
15090 indexes. Check for -f explicitly.
cc3752ad 15091 (search_file): Improve error message.
15092 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 15093
132a0a59 150942009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15095
15096 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
15097 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
15098
387a140c 150992009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15100
15101 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
15102 * conf/i386-ieee1275.rmk: Likewise.
15103 * conf/i386-coreboot.rmk: Likewise.
15104
15105 * kern/i386/pc/startup.S (grub_stop): Remove function.
15106 * kern/i386/ieee1275/startup.S: Likewise.
15107 * kern/i386/coreboot/startup.S: Likewise.
15108 * kern/i386/misc.S (grub_stop): New function.
15109
41da9665 151102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15111
15112 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
15113 * kern/i386/realmode.S (real_to_prot): ... to here.
15114
bf337234 151152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15116
15117 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
15118 with `kernel.img'.
15119 (kernel_elf_SOURCES): Rename to ...
15120 (kernel_img_SOURCES): ... this.
15121 (kernel_elf_HEADERS): Rename to ...
15122 (kernel_img_HEADERS): ... this. Update all users.
15123 (kernel_elf_ASFLAGS): Rename to ...
15124 (kernel_img_ASFLAGS): ... this.
15125 (kernel_elf_CFLAGS): Rename to ...
15126 (kernel_img_CFLAGS): ... this.
15127 (kernel_elf_LDFLAGS): Rename to ...
15128 (kernel_img_LDFLAGS): ... this.
15129 * conf/i386-coreboot.rmk: Likewise.
15130 * conf/powerpc-ieee1275.rmk: Likewise.
15131
15132 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
15133 with "kernel.img".
15134
f52196ff 151352009-06-21 Pavel Roskin <proski@gnu.org>
15136
c3cee413 15137 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
15138 to match nested functions.
15139 * loader/sparc64/ieee1275/linux.c: Likewise.
15140
f52196ff 15141 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
15142
58750afc 151432009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15144
15145 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
15146 all i386 platforms.
15147
15355c7d 151482009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15149
15150 Fix asm file handling on ELF, and remove workarounds.
15151
15152 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 15153 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 15154 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
15155 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
15156
3f3ec72b 151572009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 Load BSD ELF modules
15160
15161 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
15162 and loader/i386/bsd64.c
15163 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
15164 (FREEBSD_MODTYPE_ELF_MODULE): New definition
15165 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
15166 (grub_freebsd_load_elfmodule32): New declaration
15167 (grub_freebsd_load_elfmoduleobj64): Likewise
15168 (grub_freebsd_load_elf_meta32): Likewise
15169 (grub_freebsd_load_elf_meta64): Likewise
15170 (grub_freebsd_add_meta): Likewise
15171 (grub_freebsd_add_meta_module): Likewise
15172 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
15173 (grub_freebsd_add_meta_module): Likewise and move module-specific
15174 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
15175 (grub_cmd_freebsd): Add elf-kernel specific parts
15176 based on grub_freebsd_add_meta_module
15177 (grub_cmd_freebsd_module): Add type parsing moved from
15178 grub_freebsd_add_meta_module
15179 (grub_cmd_freebsd_module_elf): New function
15180 (cmd_freebsd_module_elf): New variable
15181 (GRUB_MOD_INIT): Register freebsd_module_elf
15182 * loader/i386/bsd32.c: New file
15183 * loader/i386/bsd64.c: Likewise
15184 * loader/i386/bsdXX.c: Likewise
15185 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
15186 (grub_elf64_load): Likewise
15187 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
15188 All users updated
15189 (grub_elf64_load_hook_t): Likewise
15190
0db15301 151912009-06-21 Colin Watson <cjwatson@ubuntu.com>
15192
15193 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
15194 variable.
15195 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
15196 don't write a menu entry for recovery mode.
15197
546796c1 151982009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15199
15200 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
15201 after it's no longer needed.
15202
cd7310d5 152032009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15204
15205 * include/grub/i386/loader.h (grub_linux_prot_size)
15206 (grub_linux_tmp_addr, grub_linux_real_addr)
15207 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
15208 GRUB_MACHINE_PCBIOS.
15209 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
15210 common grub_util_info() call to ...
15211 (generate_image): ... here.
15212 Fix use of uninitialized memory, comparison of signed with
15213 unsigned integers and memory leak.
15214 Remove bogus module address message.
15215
ab32d3b5 152162009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
15219 grub_raid_register
15220 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
15221
024ef597 152222009-06-19 Pavel Roskin <proski@gnu.org>
15223
15224 * configure.ac: Remove stray AC_MSG_CHECKING.
15225
3ac72b51 152262009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 15229
e14cd814 152302009-06-18 Pavel Roskin <proski@gnu.org>
15231
15232 * conf/common.rmk: Add fs_file.mod.
15233 * disk/fs_file.c: New file.
15234 * include/grub/disk.h (enum grub_disk_dev_id): Add
15235 GRUB_DISK_DEVICE_FILE_ID.
15236
26586d98 152372009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15238
15239 Fix build with Apple's toolchain. Part 2
15240
15241 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
15242 a fake start
15243
26de2bcd 152442009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 Fix build with Apple's toolchain. Part 1
15247
15248 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
15249 for long calls
15250 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 15251 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 15252 Apple's toolchain
15253
09b3490b 152542009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15255
15256 Fix warnings
15257
15258 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
15259 (decomp_block): initialize ch
15260 use grub_memcpy instead of memcpy
15261
c22a006a 152622009-06-17 Pavel Roskin <proski@gnu.org>
15263
d3638678 15264 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
15265 version, use declarations needed to use vga_text as the startup
15266 console.
15267
c22a006a 15268 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
15269 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
15270 the kernel.
15271 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
15272 and grub_at_keyboard_fini(), it's done on module load and
15273 unload.
15274
05b129e0 152752009-06-17 Felix Zielcke <fzielcke@z-51.de>
15276
15277 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
15278 file can't be found.
15279 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15280
cf24ed9e 152812009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 Fix newline handling
15284
15285 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 15286 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 15287 (grub_script_yylex): don't segfault on unterminated script
15288 newline terminates command and variable
15289
74aa8e4b 152902009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 avoid double grub_adjust_range call. Bug reported by David Simner
15293
15294 * kern/disk.c (grub_disk_write): change to raw disk access before
15295 calling disk_read
15296
1bd265f3 152972009-06-17 Colin Watson <cjwatson@ubuntu.com>
15298
15299 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
15300 spaces, for the benefit of help2man.
15301 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15302
a2d08c06 153032009-06-16 Pavel Roskin <proski@gnu.org>
15304
15305 * kern/i386/halt.c: Include grub/machine/init.h.
15306 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
15307
b97bcb19 153082009-06-16 Felix Zielcke <fzielcke@z-51.de>
15309
15310 * util/grub.d/30_os-prober.in: Use ${root} in the generated
15311 drivemap menuentry.
15312
0644f96c 153132009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
15314
15315 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
15316 `echo' command.
15317
3ef17a2e 153182009-06-16 Pavel Roskin <proski@gnu.org>
15319
15320 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
15321 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
15322 save %dx, we only need %dl and we never change it.
15323 * boot/i386/pc/cdboot.S: Don't set the root drive.
15324 * boot/i386/pc/pxeboot.S: Likewise.
15325 * include/grub/i386/pc/boot.h: Remove
15326 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
15327 GRUB_BOOT_MACHINE_DRIVE_CHECK.
15328 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
15329 * kern/i386/pc/init.c (make_install_device): Remove references
15330 to grub_root_drive.
15331 * kern/i386/pc/startup.S: Likewise.
15332 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
15333
693fe637 153342009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 xnu_uuid command
15337
15338 * commands/xnu_uuid.c: new file
15339 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
15340 (xnu_uuid_mod_SOURCES): new variable
15341 (xnu_uuid_mod_CFLAGS): likewise
15342 (xnu_uuid_mod_LDFLAGS): likewise
15343 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15344 * conf/i386-ieee1275.rmk: likewise
15345 * conf/i386-pc.rmk: likewise
15346 * conf/powerpc-ieee1275.rmk: likewise
15347 * conf/sparc64-ieee1275.rmk: likewise
15348 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
15349
c9da87d0 153502009-06-16 Pavel Roskin <proski@gnu.org>
15351
15352 * configure.ac: Avoid '==' in test command, it's not portable.
15353
9c6f4596 153542009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 Probe command
15357
15358 * commands/probe.c: new file
15359 * conf/common.rmk (pkglib_MODULES): add probe.mod
15360 (probe_mod_SOURCES): new variable
15361 (probe_mod_CFLAGS): likewise
15362 (probe_mod_LDFLAGS): likewise
15363 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15364 * conf/i386-ieee1275.rmk: likewise
15365 * conf/i386-pc.rmk: likewise
15366 * conf/powerpc-ieee1275.rmk: likewise
15367 * conf/sparc64-ieee1275.rmk: likewise
15368
70b7f9fd 153692009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 Fix handling of string like \"hello\" and "a
15372 b"
15373
15374 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
15375 (grub_script_yylex): fix parsing of quoting, escaping and newline
15376
71c79a6b 153772009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
15378
dd74360c 15379 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 15380 handling
dd74360c 15381
0644f96c 153822009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 15383
15384 * util/grub-mkconfig.in: Fix parsing of --output option.
15385
e40893c3 153862009-06-12 Pavel Roskin <proski@gnu.org>
15387
15388 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
15389 genmk.rb don't need to be generated or installed.
15390
3a1acfe2 153912009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15392
15393 * commands/i386/pc/drivemap_int13h.S: add more comments
15394
3a4575d4 153952009-06-11 Pavel Roskin <proski@gnu.org>
15396
0658e928 15397 * Makefile.in (uninstall): Uninstall manuals.
15398
ca0388f0 15399 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
15400 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
15401 and update-grub_lib in two places.
15402 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
15403
e3b27c39 15404 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
15405 a compiler warning.
15406
3a4575d4 15407 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
15408 `entry_lo' to fix variable shadowing.
15409
af1f4f55 154102009-06-11 Christian Franke <franke@computer.org>
15411
15412 * kern/misc.c (__enable_execute_stack): Add missing return type
15413 to prevent gcc warning.
15414
5225e649 154152009-06-11 Felix Zielcke <fzielcke@z-51.de>
15416
15417 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
15418
7d83bd47 154192009-06-11 Pavel Roskin <proski@gnu.org>
15420
c1cb63ba 15421 * Makefile.in: Don't rely on any scripts being executable.
15422 Always use $(SHELL) to run shell scripts.
15423
7d83bd47 15424 * configure.ac: Always define ___main if using -nostdlib. This
15425 fixes tests on Cygwin.
15426
948f48e7 154272009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
15428
15429 UDF fix
15430
7d83bd47 15431 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 15432 is in bytes and not in blocks
7d83bd47 15433
8ada9bc1 154342009-06-11 Pavel Roskin <proski@gnu.org>
15435
15436 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
15437 warning.
15438
25ad2323 154392009-06-11 Felix Zielcke <fzielcke@z-51.de>
15440
15441 * util/grub.d/30_os-prober.in: Fix a comment. Source
15442 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
15443 to set the root device. Place drivemap command in the generated
15444 chain entry.
15445
e65acb0c 154462009-06-11 Pavel Roskin <proski@gnu.org>
15447
15448 * configure.ac: Remove host_m32. Issues with 64-bit utilities
15449 have long been resolved.
15450
f285fe2d 154512009-06-11 Colin Watson <cjwatson@ubuntu.com>
15452
bd47b0b5 15453 * util/grub.d/10_linux.in: Capitalise "Linux".
15454
f285fe2d 15455 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
15456
a0c62e4e 154572009-06-11 Pavel Roskin <proski@gnu.org>
15458
b6783cb2 15459 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
15460 fix a gcc warning and ensure that the function won't ever exit.
15461
dde032e8 15462 * kern/i386/ieee1275/init.c: Add missing prototype for
15463 grub_stop_floppy().
15464
22cd079d 15465 * loader/ieee1275/multiboot2.c [__i386__]: Include
15466 grub/cpu/multiboot.h.
15467
a0c62e4e 15468 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
15469 casts to short - they are not portable and cause warnings. Fix
15470 use of uninitialized values in input_buf. Use ARRAY_SIZE.
15471
63963d17 154722009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 Drivemap fixes
15475
15476 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
15477 new function
15478 (grub_get_root_biosnumber_saved): new variable
15479 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
15480 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 15481 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 15482 %dx after the call if necessary
15483 * conf/common.rmk (pkglib_MODULES): remove boot.mod
15484 (boot_mod_SOURCES): remove
15485 (boot_mod_CFLAGS): remove
15486 (boot_mod_LDFLAGS): remove
15487 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
15488 (boot_mod_SOURCES): new variable
15489 (boot_mod_CFLAGS): likewise
15490 (boot_mod_LDFLAGS): likewise
15491 * conf/i386-efi.rmk: likewise
15492 * conf/i386-ieee1275.rmk: likewise
15493 * conf/i386-pc.rmk: likewise
15494 * conf/powerpc-ieee1275.rmk: likewise
15495 * conf/sparc64-ieee1275.rmk: likewise
15496 * conf/x86_64-efi.rmk: likewise
15497 * include/grub/i386/pc/biosnum.h: new file
15498 * lib/i386/pc/biosnum.c: likewise
15499 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
15500 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
15501 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 15502
33abf7ae 155032009-06-10 Pavel Roskin <proski@gnu.org>
15504
5ac35b35 15505 * io/gzio.c (test_header): Don't reuse one buffer for all data.
15506 Use separate variables. Read only the file size at the end, but
15507 not the checksum that we don't use.
15508
5c5215d5 15509 * kern/file.c (grub_file_read): Use void pointer for the buffer.
15510 Adjust all callers.
15511
27d5fef7 15512 * kern/ieee1275/openfw.c: Remove libc includes.
15513 * kern/ieee1275/cmain.c: Likewise.
15514 * include/grub/ieee1275/ieee1275.h: Likewise.
15515
33abf7ae 15516 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
15517 compiler warnings.
15518
19d50c2b 155192009-06-10 Felix Zielcke <fzielcke@z-51.de>
15520
15521 * Makefile.in: Remove all trailing whitespace.
15522 * conf/i386-pc.rmk: Likewise.
15523 * conf/powerpc-ieee1275.rmk: Likewise.
15524 * conf/sparc64-ieee1275.rmk: Likewise.
15525 * docs/grub.texi: Likewise.
15526 * docs/texinfo.tex: Likewise.
15527 * disk/fs_uuid.c: Likewise.
15528 * disk/lvm.c: Likewise.
15529 * disk/scsi.c: Likewise.
15530 * disk/ata.c: Likewise.
15531 * disk/ieee1275/ofdisk.c: Likewise.
15532 * disk/i386/pc/biosdisk.c: Likewise.
15533 * disk/host.c: Likewise.
15534 * disk/raid.c: Likewise.
15535 * disk/efi/efidisk.c: Likewise.
15536 * disk/usbms.c: Likewise.
15537 * disk/memdisk.c: Likewise.
15538 * disk/loopback.c: Likewise.
15539 * kern/powerpc/dl.c: Likewise.
15540 * kern/device.c: Likewise.
15541 * kern/dl.c: Likewise.
15542 * kern/sparc64/dl.c: Likewise.
15543 * kern/ieee1275/ieee1275.c: Likewise.
15544 * kern/term.c: Likewise.
15545 * kern/fs.c: Likewise.
15546 * kern/i386/dl.c: Likewise.
15547 * kern/i386/pc/startup.S: Likewise.
15548 * kern/i386/pc/init.c: Likewise.
15549 * kern/i386/pc/mmap.c: Likewise.
15550 * kern/i386/pc/lzo1x.S: Likewise.
15551 * kern/i386/ieee1275/init.c: Likewise.
15552 * kern/i386/realmode.S: Likewise.
15553 * kern/i386/tsc.c: Likewise.
15554 * kern/partition.c: Likewise.
15555 * kern/corecmd.c: Likewise.
15556 * kern/file.c: Likewise.
15557 * kern/efi/efi.c: Likewise.
15558 * kern/efi/init.c: Likewise.
15559 * kern/efi/mm.c: Likewise.
15560 * kern/main.c: Likewise.
15561 * kern/err.c: Likewise.
15562 * kern/env.c: Likewise.
15563 * kern/disk.c: Likewise.
15564 * kern/generic/millisleep.c: Likewise.
15565 * kern/generic/rtc_get_time_ms.c: Likewise.
15566 * kern/misc.c: Likewise.
15567 * kern/parser.c: Likewise.
15568 * genmk.rb: Likewise.
15569 * configure.ac: Likewise.
15570 * boot/i386/pc/diskboot.S: Likewise.
15571 * boot/i386/pc/pxeboot.S: Likewise.
15572 * boot/i386/pc/boot.S: Likewise.
15573 * boot/i386/pc/lnxboot.S: Likewise.
15574 * boot/i386/pc/cdboot.S: Likewise.
15575 * parttool/pcpart.c: Likewise.
15576 * video/readers/tga.c: Likewise.
15577 * video/video.c: Likewise.
15578 * video/bitmap.c: Likewise.
15579 * lib/envblk.c: Likewise.
15580 * lib/i386/setjmp.S: Likewise.
15581 * fs/xfs.c: Likewise.
15582 * fs/afs.c: Likewise.
15583 * fs/fat.c: Likewise.
15584 * fs/ntfs.c: Likewise.
15585 * fs/udf.c: Likewise.
15586 * fs/affs.c: Likewise.
15587 * fs/iso9660.c: Likewise.
15588 * fs/hfs.c: Likewise.
15589 * fs/fshelp.c: Likewise.
15590 * fs/ext2.c: Likewise.
15591 * fs/jfs.c: Likewise.
15592 * fs/reiserfs.c: Likewise.
15593 * fs/hfsplus.c: Likewise.
15594 * fs/minix.c: Likewise.
15595 * fs/cpio.c: Likewise.
15596 * fs/sfs.c: Likewise.
15597 * fs/ufs.c: Likewise.
15598 * efiemu/prepare.c: Likewise.
15599 * efiemu/loadcore_common.c: Likewise.
15600 * efiemu/runtime/efiemu.sh: Likewise.
15601 * efiemu/runtime/efiemu.S: Likewise.
15602 * efiemu/runtime/efiemu.c: Likewise.
15603 * efiemu/pnvram.c: Likewise.
15604 * efiemu/main.c: Likewise.
15605 * efiemu/i386/pc/cfgtables.c: Likewise.
15606 * efiemu/i386/loadcore64.c: Likewise.
15607 * efiemu/i386/loadcore32.c: Likewise.
15608 * efiemu/loadcore.c: Likewise.
15609 * efiemu/symbols.c: Likewise.
15610 * efiemu/mm.c: Likewise.
15611 * include/grub/autoefi.h: Likewise.
15612 * include/grub/datetime.h: Likewise.
15613 * include/grub/term.h: Likewise.
15614 * include/grub/hfs.h: Likewise.
15615 * include/grub/lvm.h: Likewise.
15616 * include/grub/i386/tsc.h: Likewise.
15617 * include/grub/i386/linux.h: Likewise.
15618 * include/grub/i386/xnu.h: Likewise.
15619 * include/grub/i386/efiemu.h: Likewise.
15620 * include/grub/i386/pc/biosdisk.h: Likewise.
15621 * include/grub/i386/pc/memory.h: Likewise.
15622 * include/grub/i386/pc/vbe.h: Likewise.
15623 * include/grub/parttool.h: Likewise.
15624 * include/grub/video.h: Likewise.
15625 * include/grub/memory.h: Likewise.
15626 * include/grub/fs.h: Likewise.
15627 * include/grub/partition.h: Likewise.
15628 * include/grub/xnu.h: Likewise.
15629 * include/grub/efi/api.h: Likewise.
15630 * include/grub/efi/pe32.h: Likewise.
15631 * include/grub/efi/memory.h: Likewise.
15632 * include/grub/multiboot.h: Likewise.
15633 * include/grub/usbdesc.h: Likewise.
15634 * include/grub/multiboot2.h: Likewise.
15635 * include/grub/acpi.h: Likewise.
15636 * include/grub/efiemu/efiemu.h: Likewise.
15637 * include/grub/disk.h: Likewise.
15638 * include/grub/ieee1275/ieee1275.h: Likewise.
15639 * include/grub/net.h: Likewise.
15640 * include/grub/machoload.h: Likewise.
15641 * include/grub/macho.h: Likewise.
15642 * include/multiboot.h: Likewise.
15643 * genmoddep.awk: Likewise.
15644 * normal/main.c: Likewise.
15645 * normal/menu_entry.c: Likewise.
15646 * normal/menu_viewer.c: Likewise.
15647 * normal/completion.c: Likewise.
15648 * normal/cmdline.c: Likewise.
15649 * normal/misc.c: Likewise.
15650 * normal/datetime.c: Likewise.
15651 * bus/usb/usbtrans.c: Likewise.
15652 * bus/usb/ohci.c: Likewise.
15653 * bus/usb/uhci.c: Likewise.
15654 * bus/usb/usb.c: Likewise.
15655 * mmap/efi/mmap.c: Likewise.
15656 * mmap/i386/pc/mmap_helper.S: Likewise.
15657 * mmap/i386/pc/mmap.c: Likewise.
15658 * mmap/i386/mmap.c: Likewise.
15659 * mmap/i386/uppermem.c: Likewise.
15660 * mmap/mmap.c: Likewise.
15661 * commands/acpi.c: Likewise.
15662 * commands/echo.c: Likewise.
15663 * commands/blocklist.c: Likewise.
15664 * commands/loadenv.c: Likewise.
15665 * commands/usbtest.c: Likewise.
15666 * commands/boot.c: Likewise.
15667 * commands/parttool.c: Likewise.
15668 * commands/search.c: Likewise.
15669 * commands/cat.c: Likewise.
15670 * commands/i386/pc/play.c: Likewise.
15671 * commands/i386/pc/drivemap.c: Likewise.
15672 * commands/i386/pc/vbeinfo.c: Likewise.
15673 * commands/i386/pc/acpi.c: Likewise.
15674 * commands/i386/pc/vbetest.c: Likewise.
15675 * commands/ls.c: Likewise.
15676 * commands/cmp.c: Likewise.
15677 * commands/test.c: Likewise.
15678 * commands/efi/acpi.c: Likewise.
15679 * commands/gptsync.c: Likewise.
15680 * commands/help.c: Likewise.
15681 * partmap/amiga.c: Likewise.
15682 * partmap/apple.c: Likewise.
15683 * partmap/acorn.c: Likewise.
15684 * partmap/pc.c: Likewise.
15685 * partmap/sun.c: Likewise.
15686 * partmap/gpt.c: Likewise.
15687 * script/sh/lexer.c: Likewise.
15688 * script/sh/function.c: Likewise.
15689 * font/font.c: Likewise.
15690 * font/font_cmd.c: Likewise.
15691 * loader/powerpc/ieee1275/linux.c: Likewise.
15692 * loader/efi/chainloader.c: Likewise.
15693 * loader/multiboot_loader.c: Likewise.
15694 * loader/macho.c: Likewise.
15695 * loader/i386/multiboot.c: Likewise.
15696 * loader/i386/linux.c: Likewise.
15697 * loader/i386/pc/linux.c: Likewise.
15698 * loader/i386/pc/multiboot2.c: Likewise.
15699 * loader/i386/pc/chainloader.c: Likewise.
15700 * loader/i386/pc/xnu.c: Likewise.
15701 * loader/i386/bsd_trampoline.S: Likewise.
15702 * loader/i386/efi/linux.c: Likewise.
15703 * loader/i386/multiboot_elfxx.c: Likewise.
15704 * loader/i386/bsd_helper.S: Likewise.
15705 * loader/i386/bsd.c: Likewise.
15706 * loader/i386/linux_trampoline.S: Likewise.
15707 * loader/i386/xnu_helper.S: Likewise.
15708 * loader/i386/xnu.c: Likewise.
15709 * loader/i386/bsd_pagetable.c: Likewise.
15710 * loader/i386/multiboot_helper.S: Likewise.
15711 * loader/xnu.c: Likewise.
15712 * loader/xnu_resume.c: Likewise.
15713 * io/gzio.c: Likewise.
15714 * term/efi/console.c: Likewise.
15715 * term/terminfo.c: Likewise.
15716 * term/ieee1275/ofconsole.c: Likewise.
15717 * term/i386/pc/serial.c: Likewise.
15718 * term/i386/pc/vesafb.c: Likewise.
15719 * term/i386/pc/vga.c: Likewise.
15720 * term/usb_keyboard.c: Likewise.
15721 * term/gfxterm.c: Likewise.
15722 * aclocal.m4: Likewise.
15723 * util/lvm.c: Likewise.
15724 * util/grub.d/30_os-prober.in: Likewise.
15725 * util/grub.d/10_hurd.in: Likewise.
15726 * util/console.c: Likewise.
15727 * util/grub-macho2img.c: Likewise.
15728 * util/grub-probe.c: Likewise.
15729 * util/hostfs.c: Likewise.
15730 * util/i386/pc/grub-mkimage.c: Likewise.
15731 * util/i386/pc/grub-setup.c: Likewise.
15732 * util/i386/efi/grub-mkimage.c: Likewise.
15733 * util/grub-mkconfig.in: Likewise.
15734 * util/raid.c: Likewise.
15735 * util/resolve.c: Likewise.
15736 * util/grub-mkdevicemap.c: Likewise.
15737 * util/grub-emu.c: Likewise.
15738 * util/getroot.c: Likewise.
15739 * util/hostdisk.c: Likewise.
15740 * util/usb.c: Likewise.
15741 * util/grub-editenv.c: Likewise.
15742 * util/misc.c: Likewise.
15743
d2d49665 157442009-06-10 Felix Zielcke <fzielcke@z-51.de>
15745
15746 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
15747 `genparttoollist.sh'.
15748 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
15749 Add `*.sh' to the list find searches for and change `mdate.sh'
15750 to `mdate-sh'.
15751
fe052e37 157522009-06-10 Pavel Roskin <proski@gnu.org>
15753
2763ac18 15754 * include/grub/multiboot2.h: Provide compatibility defines for
15755 multiboot2.h.
15756 * include/multiboot2.h: Include stdint.h only if needed, using
15757 angle brackets.
15758 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
15759 grub/multiboot2.h.
15760 * loader/ieee1275/multiboot2.c: Likewise.
15761 * loader/multiboot2.c: Likewise.
15762 * loader/multiboot_loader.c: Likewise.
15763
437e6adc 15764 * configure.ac: Use -nostdlib when probing for the target. It
15765 should not be required to have libc for the target.
15766
06a6836c 15767 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
15768 they fail without libc headers for the target.
15769 * include/grub/powerpc/libgcc.h: Use weak attribute for all
15770 exports.
15771 * include/grub/sparc64/libgcc.h: Likewise. Don't use
15772 preprocessor conditionals.
15773
fe052e37 15774 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
15775 build system doesn't need to be aware of the tar.c internals.
15776
afd22553 157772009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 15778
afd22553 15779 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 15780
6b787c4f 157812009-06-09 Robert Millan <rmh.grub@aybabtu.com>
15782
15783 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
15784 disk limit to 26 for IDE, Virtio, Xen and SCSI.
15785
157862009-06-09 Felix Zielcke <fzielcke@z-51.de>
15787
15788 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 15789 aren't available if ata.mod gets used.
6b787c4f 15790
473d1e45 157912009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 15792
473d1e45 15793 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 15794 initialising controller.
473d1e45 15795 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 15796
255a27d4 157972009-06-08 Felix Zielcke <fzielcke@z-51.de>
15798
15799 * util/i386/pc/grub-install.in: Add a parameter --disk-module
15800 to choose between ata and biosdisk module on i386-pc.
15801
473d1e45 158022009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 15803
d55842d8 15804 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
15805 Subclass and Programming Interface fields in terms of the 3 byte
15806 Class Code register.
15807 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15808
fa5db0b1 15809 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
15810 interface is OHCI. Add grub_dprintf for symmetry with
15811 bus/usb/uhci.c.
15812 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
15813 interface is UHCI. Add interf variable for programming
15814 interface. Print interface with class/subclass.
15815
c0947beb 15816 * bus/usb/ohci.c: Set interf with correct field.
15817
69da8877 15818 * bus/usb/uhci.c: Remove unneeded doubled lines.
15819 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
15820 Remove whitespace inside comment.
15821
9e172e30 158222009-06-08 Robert Millan <rmh.grub@aybabtu.com>
15823
15824 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
15825 as fallback an equivalent option without depth.
15826
de65ee2b 158272009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 Not fail if unable to retrieve C/H/S on LBA disks
15830
473d1e45 15831 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 15832 if unable to retrieve C/H/S on LBA disks
15833
b57ea2c9 158342009-06-08 Pavel Roskin <proski@gnu.org>
15835
15836 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
15837 about aliasing.
15838
af361263 158392009-06-08 Felix Zielcke <fzielcke@z-51.de>
15840
15841 * Makefile.in (uninstall): Remove all $lib_DATA files.
15842
4c9ec6b3 158432009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15844
15845 Bugfix: install on partitionless device
15846
15847 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
15848 is a whole disk
15849
e76fc924 158502009-06-08 Felix Zielcke <fzielcke@z-51.de>
15851
15852 * Makefile.in (uninstall): Remove all $include_DATA files.
15853
ba5a0d05 158542009-06-08 Felix Zielcke <fzielcke@z-51.de>
15855
15856 * commands/true.c: New file. Implement the true and false commands.
15857 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
15858 (true_mod_SOURCES): New variable.
15859 (true_mod_CFLAGS): Likewise.
15860 (true_mod_LDFLAGS): Likewise.
15861
c8048e32 158622009-06-05 Colin D Bennett <colin@gibibit.com>
15863
15864 Optimized font character lookup using binary search instead of linear
15865 search. Fonts now are required to have the character index ordered by
15866 code point.
15867
15868 * font/font.c (load_font_index): Verify that fonts have ordered
15869 character indices.
15870 (find_glyph): Use binary search instead of linear search to find a
15871 character in a font.
15872
408305be 158732009-06-05 Michael Scherer <misc@mandriva.org>
15874
15875 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
15876 uses case sensitive btree.
15877 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
15878 only for case insensitive filesystems.
15879
8ee1e0d9 158802009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
15883 * conf/common.rmk (search_mod_CFLAGS): likewise
15884
a9966eb1 158852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15886
473d1e45 15887 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 15888 compensate a compiler bug
15889
9e7100fb 158902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15891
473d1e45 15892 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 15893 instead of '\b'
473d1e45 15894
ede21d71 158952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 Definitions for creating asm symbols with Apple's CC
15898
15899 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
15900 [APPLE_CC] (VARIABLE): likewise
15901
9dbf7653 159022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 Disable lnxboot.img when compiled
15905 with Apple's CC
15906
15907 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
15908 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
15909 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
15910 [! APPLE_CC] (CODE_LENG): skip
15911 [! APPLE_CC] (setup_sects): likewise
15912 [! APPLE_CC]: skip filling
473d1e45 15913
e93cdc3d 159142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 Address in trampolines based on 32-bit registers when compiled
15917 with Apple's CC
15918
473d1e45 15919 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 15920 for addresses
15921 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
15922
6c688477 159232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 Avoid aliases when compiling with Apple's CC for PCBIOS machine
15926
15927 * kern/misc.c [APPLE_CC] (memcpy): new function
15928 [APPLE_CC] (memmove): likewise
15929 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 15930 (memcpy): define alias conditionally on !APPLE_CC
6c688477 15931 (memset): likewise
15932 (abort): likewise
15933 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
15934 APPLE_CC are defined
15935 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
15936 (grub_assert_fail): make prototype conditional
15937
e37ffc5c 159382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
15941
473d1e45 15942 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
15943 grub-macho2img
e37ffc5c 15944 (CLEANFILES): add grub-macho2img
15945 (grub_macho2img_SOURCES): new variable
15946 * kern/i386/pc/startup.S (bss_start): new variable
15947 (bss_end): likewise
15948 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
15949 * util/grub-macho2img.c: new file
15950
cf00df31 159512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15952
15953 Use objconv when compiling with Apple's CC
15954
15955 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
15956 (efiemu64.o): likewise
15957 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
15958 when compiling with Apple's CC
15959 (efiemu64_s.o): likewise
15960 * configure.ac: check for objconv when compiling with Apple's CC
15961 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 15962
d119a20c 159632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 Define segment as well as section when compiling with
15966 Apple's CC
15967
15968 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
15969 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
15970 (efiemu_convert_pointer): likewise
15971 (efiemu_set_virtual_address_map): likewise
15972 (efiemu_convert_pointer): likewise
15973 (efiemu_getcrc32): likewise
15974 (init_crc32_table): likewise
15975 (reflect): likewise
15976 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
15977 (GRUB_MOD_DEP): likewise
473d1e45 15978
c8600122 159792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15980
15981 Allow a compilation without -mcmodel=large
15982
15983 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
15984 when compiled without -mcmodel=large
473d1e45 15985 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 15986 without -mcmodel=large
473d1e45 15987 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 15988 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 15989
e8df1d4e 159902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 Remove nested functions in efiemu core
15993
15994 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 15995
cc6c3ac1 159962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
15999
16000 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
16001 temporary storage
473d1e45 16002 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
16003 using Apple's CC
cc6c3ac1 16004 (grub_cpu_is_tsc_supported): likewise
16005 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 16006
3e325901 160072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 Absolute addressing through constant with Apple's cc
16010
16011 * kern/i386/pc/startup.S: Define necessary constants
16012 and address through it when using ABS with Apple's CC
16013 * boot/i386/pc/diskboot.S: likewise
16014 * boot/i386/pc/boot.S: likewise
16015 * boot/i386/pc/lnxboot.S: likewise
16016 * boot/i386/pc/cdboot.S: likewise
16017 * mmap/i386/pc/mmap_helper.S: likewise
16018 * commands/i386/pc/drivemap_int13h.S: likewise
16019
2b167a72 160202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 Check if compiler is apple cc
16023
16024 * Makefile.in (ASFLAGS): new variable
16025 (TARGET_ASFLAGS): likewise
16026 (TARGET_MODULE_FORMAT): likewise
16027 (TARGET_APPLE_CC): likewise
16028 (OBJCONV): likewise
16029 (TARGET_IMG_CFLAGS): likewise
16030 (TARGET_CPPFLAGS): add includedir
16031 * configure.ac: call grub_apple_cc and grub_apple_target_cc
16032 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
16033 Check for linker script only if compiler isn't Apple's CC
16034 (TARGET_MODULE_FORMAT): set
16035 (TARGET_APPLE_CC): likewise
16036 (TARGET_ASFLAGS): likewise
16037 (ASFLAGS): likewise
16038 Check for objcopy only if compiler isn't Apple's CC
16039 Check for BSS symbol only if compiler isn't Apple's CC
16040 * genmk.rb: adapt nm options if we use Apple's utils
16041 * aclocal.m4 (grub_apple_cc): new test
16042 (grub_apple_target_cc): likewise
473d1e45 16043
fb14123e 160442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 Simplify sed expressions and improve awk
16047
16048 * Makefile.in (install-local): simplify sed expression
16049 * gencmdlist.sh: likewise
16050 * genmoddep.awk: avoid adding module as a dependency of itself
16051
5b889789 160522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 Add missing start symbols
16055
16056 * boot/i386/pc/boot.S: add start
fb14123e 16057 * boot/i386/pc/pxeboot.S: likewise
473d1e45 16058
fd2bf2e3 160592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 16062
16063 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 16064 (relocate_addresses): consider both r_addend and value at offset
16065 (make_mods_section): zerofill modinfo and header
16066 (convert_elf): write prefix here
473d1e45 16067
5389763d 160682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16069
16070 Use .asciz instead of .string
16071
16072 * i386/pc/diskboot.S: use .asciz instead of .string
16073 * i386/pc/boot.S: likewise
16074 * include/grub/dl.h (GRUB_MOD_DEP): likewise
16075 (GRUB_MOD_NAME): likewise
473d1e45 16076
3eb5ed4e 160772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 gfxpayload support
16080
16081 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
16082 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
16083 (grub_video_setup): remove
16084 (grub_video_set_mode): new prototype
16085 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
16086 (vid_mode): remove
16087 (linux_vesafb_res): compile only on PCBIOS
16088 (grub_linux_boot): support gfxpayload
16089 * loader/i386/pc/xnu.c (video_hook): new function
16090 (grub_xnu_set_video): support gfxpayload
16091 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
16092 (DEFAULT_VIDEO_HEIGHT): likewise
16093 (DEFAULT_VIDEO_FLAGS): likewise
16094 (DEFAULT_VIDEO_MODE): new definition
16095 (video_hook): new function
16096 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 16097 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 16098 loading xnu
16099 * video/video.c (grub_video_setup): removed
473d1e45 16100 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 16101 grub_video_setup
16102
4b0e1143 161032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 Avoid calling biosdisk in drivemap
16106
16107 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
16108 (revparse_biosdisk): likewise
16109 (list_mappings): derive name from id directly
16110 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 16111
fda6cb98 161122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 Script fixes
16115
16116 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
16117 (grub_lexer_param): add tokenonhold
16118 (grub_script_create_cmdline): remove cmdline. All callers updated
16119 (grub_script_function_create): make functionname
16120 grub_script_arg. All callers updated
16121 (grub_script_execute_argument_to_string): new prototype
16122 * kern/parser.c (state_transitions): reorder
16123 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 16124 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 16125 make global
16126 (grub_script_execute_cmdline): use new format
16127 * script/sh/function.c (grub_script_function_create): make functionname
16128 grub_script_arg. All callers updated
473d1e45 16129 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 16130 (grub_script_yylex): remove
16131 (grub_script_yylex2): renamed to ...
16132 (grub_script_yylex): ...renamed
16133 parse the expressions like a${b}c
16134 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
16135 (GRUB_PARSER_TOKEN_VAR): remove
16136 (GRUB_PARSER_TOKEN_NAME): likewise
16137 ("if"): declare as typeless
16138 ("while"): likewise
16139 ("function"): likewise
16140 ("else"): likewise
16141 ("then"): likewise
16142 ("fi"): likewise
16143 (text): remove
16144 (argument): likewise
16145 (script): accept empty scripts and make exit on error
16146 (arguments): use GRUB_PARSER_TOKEN_ARG
16147 (function): likewise
16148 (command): move error handling to script
16149 (menuentry): move grub_script_lexer_ref before
473d1e45 16150 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 16151 argument. All callers updated
16152
f4448a07 161532009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16154
16155 Prevent GRUB from probing floppies during boot.
16156
16157 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
16158 * commands/search.c (options): Add --no-floppy.
16159 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
16160 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
16161 --no-floppy when searching for UUIDs.
16162
2bf5885a 161632009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16164
16165 Simplify the code duplication in commands/search.c.
16166
16167 * commands/search.c (search_label, search_fs_uuid): Merge into ...
16168 (search_fs): ... this. Update all users.
16169
f6fd460a 161702009-06-03 Felix Zielcke <fzielcke@z-51.de>
16171
16172 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
16173
cbb3c83e 161742009-05-28 Pavel Roskin <proski@gnu.org>
16175
57788cfd 16176 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
16177 Remove the original symlink explicitly.
16178
cbb3c83e 16179 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
16180 just one slash. That's how grub_fshelp_find_file() does it.
16181
cd0d5e30 161822009-05-26 Pavel Roskin <proski@gnu.org>
16183
f0f8bbe2 16184 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
16185 to `str'.
16186
cd0d5e30 16187 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
16188 possibly unused.
16189
8c2cab51 161902009-05-25 Christian Franke <franke@computer.org>
16191
16192 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
16193 register.
16194 (grub_atapi_identify): Add wait after drive select.
16195 (grub_ata_identify): Do more strict status register check before
16196 calling grub_atapi_identify (). Suppress error message if status
16197 register is 0x00 after command failure. Add status register
16198 check after PIO read to avoid bogus identify due to stuck DRQ.
16199 Thanks to Pavel Roskin for testing.
16200 (grub_device_initialize): Remove unsafe status register check.
16201 Thanks to 'phcoder' for problem report and patch.
16202 Prevent sign extension in debug message.
16203
230c0ad6 162042009-05-23 Colin D Bennett <colin@gibibit.com>
16205
16206 Cleaned up `include/grub/normal.h'. Grouped prototypes by
16207 definition file, and functions defined in `normal/menu.c' have had
16208 their prototypes moved to `include/grub/menu.h' for consistency.
16209
16210 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
16211 from normal.h.
16212 (grub_menu_get_entry): Likewise.
16213 (grub_menu_get_timeout): Likewise.
16214 (grub_menu_set_timeout): Likewise.
16215 (grub_menu_execute_entry): Likewise.
16216 (grub_menu_execute_with_fallback): Likewise.
16217 (grub_menu_entry_run): Likewise.
16218
16219 * include/grub/normal.h: Re-ordered and grouped function
16220 prototypes by file that the function is defined in.
16221 (grub_menu_execute_callback): Removed; moved to menu.h.
16222 (grub_menu_get_entry): Likewise.
16223 (grub_menu_get_timeout): Likewise.
16224 (grub_menu_set_timeout): Likewise.
16225 (grub_menu_execute_entry): Likewise.
16226 (grub_menu_execute_with_fallback): Likewise.
16227 (grub_menu_entry_run): Likewise.
16228 (grub_menu_addentry): Renamed from this ...
16229 (grub_normal_add_menu_entry): ... to this.
16230
16231 * normal/main.c (grub_menu_addentry): Renamed from this ...
16232 (grub_normal_add_menu_entry): ... to this.
16233
16234 * script/sh/execute.c (grub_script_execute_menuentry): Update
16235 reference to renamed grub_menu_addentry function.
16236
861f03a5 162372009-05-23 Felix Zielcke <fzielcke@z-51.de>
16238
16239 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
16240
96b1619a 162412009-05-22 Pavel Roskin <proski@gnu.org>
16242
bf6a5fb2 16243 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
16244 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
16245 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
16246 compiling for the i386 targets, but not for the utilities.
16247
96b1619a 16248 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
16249 to grub_uint8_t.
16250 (grub_root_drive): Likewise.
16251 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
16252 remove alignment.
16253 (grub_root_drive): Change size to byte.
16254 (grub_start_addr): Remove.
16255 (grub_end_addr): Likewise.
16256 (grub_apm_bios_info): Likewise.
16257
b729776b 162582009-05-21 Felix Zielcke <fzielcke@z-51.de>
16259
16260 * normal/i386: Remove.
16261 * normal/powerpc: Likewise.
16262 * normal/sparc64: Likewise.
16263 * normal/x86_64: Likewise.
16264
0a15ce80 162652009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 16268 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 16269 * loader/i386/xnu_helper.S: Likewise
d6da58e6 16270
33db9015 162712009-05-18 Colin D Bennett <colin@gibibit.com>
16272
d6da58e6 16273 Display error messages when parsing a Lua statement fails.
16274 Previously, executing a syntactically invalid statement like
16275 ")foo" or "bar;" would silently fail.
33db9015 16276
16277 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 16278 (grub_lua_parse_line): Improved reporting of Lua parser and
16279 execution errors.
33db9015 16280
46422c89 162812009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 Remove -Werror which causes build to fail on some systems
16284
16285 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
16286 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
16287 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 16288
22f53a96 162892009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 trampoline for linux on 64-bit platform
16292
18f547ad 16293 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
16294 loader/i386/efi/linux_trampoline.S
16295 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 16296 declaration
d6da58e6 16297 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
16298 here
22f53a96 16299 * loader/i386/linux_trampoline.S: moved here
d6da58e6 16300 * loader/i386/efi/linux.c (allocate_pages): reserve space for
16301 trampoline
22f53a96 16302 (jumpvector): removed
16303 (grub_linux_trampoline_start): new declaration
16304 (grub_linux_trampoline_end): likewise
16305 (grub_linux_boot): use trampoline when on 64-bit platform
16306 * loader/i386/linux.c: likewise
16307
cb5a0f40 163082009-05-16 Pavel Roskin <proski@gnu.org>
16309
16310 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
16311 const to avoid a warning.
16312 (grub_lua_setenv): Likewise.
16313 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
16314 lmsg to fix a warning.
16315
334f2c28 163162009-05-16 Felix Zielcke <fzielcke@z-51.de>
16317
16318 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 16319 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16320 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
16321 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16322 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16323 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16324 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16325 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 16326
59e5d3ec 163272009-05-16 Felix Zielcke <fzielcke@z-51.de>
16328
16329 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
16330
9d87a1ba 163312009-05-16 Bean <bean123ch@gmail.com>
16332
16333 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
16334 (lua_mod_SOURCES): New variable.
16335 (lua_mod_CFLAGS): Likewise.
16336 (lua_mod_LDFLAGS): Likewise.
16337
16338 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
16339 (setjmp_mod_SOURCES): New variable.
16340 (setjmp_mod_CFLAGS): Likewise.
16341 (setjmp_LDFLAGS): Likewise.
16342
16343 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
16344 (setjmp_mod_SOURCES): New variable.
16345 (setjmp_mod_CFLAGS): Likewise.
16346 (setjmp_LDFLAGS): Likewise.
16347
16348 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16349 (setjmp_mod_SOURCES): New variable.
16350 (setjmp_mod_CFLAGS): Likewise.
16351 (setjmp_LDFLAGS): Likewise.
16352
16353 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16354 (setjmp_mod_SOURCES): New variable.
16355 (setjmp_mod_CFLAGS): Likewise.
16356 (setjmp_LDFLAGS): Likewise.
16357
16358 * normal/i386/setjmp.S: Moved from here ...
16359 * lib/i386/setjmp.S: ... Moved here
16360 * normal/x86_64/setjmp.S: Moved from here ...
16361 * lib/x86_64/setjmp.S: ... Moved here
16362 * normal/powerpc/setjmp.S: Moved from here ...
16363 * lib/powerpc/setjmp.S: ... Moved here
16364 * normal/sparc64/setjmp.S: Moved from here ...
16365 * lib/sparc64/setjmp.S: ... Moved here
16366
16367 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
16368 returns_twice in mingw.
16369
16370 * script/lua/grub_lib.c: New file.
16371 * script/lua/grub_lib.h: Likewise.
16372 * script/lua/grub_lua.h: Likewise.
16373 * script/lua/grub_main.c: Likewise.
16374 * script/lua/lapi.c: Likewise.
16375 * script/lua/lapi.h: Likewise.
16376 * script/lua/lauxlib.c: Likewise.
16377 * script/lua/lauxlib.h: Likewise.
16378 * script/lua/lbaselib.c: Likewise.
16379 * script/lua/lcode.c: Likewise.
16380 * script/lua/lcode.h: Likewise.
16381 * script/lua/ldblib.c: Likewise.
16382 * script/lua/ldebug.c: Likewise.
16383 * script/lua/ldebug.h: Likewise.
16384 * script/lua/ldo.c: Likewise.
16385 * script/lua/ldo.h: Likewise.
16386 * script/lua/ldump.c: Likewise.
16387 * script/lua/lfunc.c: Likewise.
16388 * script/lua/lfunc.h: Likewise.
16389 * script/lua/lgc.c: Likewise.
16390 * script/lua/lgc.h: Likewise.
16391 * script/lua/linit.c: Likewise.
16392 * script/lua/liolib.c: Likewise.
16393 * script/lua/llex.c: Likewise.
16394 * script/lua/llex.h: Likewise.
16395 * script/lua/llimits.h: Likewise.
16396 * script/lua/lmathlib.c: Likewise.
16397 * script/lua/lmem.c: Likewise.
16398 * script/lua/lmem.h: Likewise.
16399 * script/lua/loadlib.c: Likewise.
16400 * script/lua/lobject.c: Likewise.
16401 * script/lua/lobject.h: Likewise.
16402 * script/lua/lopcodes.c: Likewise.
16403 * script/lua/lopcodes.h: Likewise.
16404 * script/lua/loslib.c: Likewise.
16405 * script/lua/lparser.c: Likewise.
16406 * script/lua/lparser.h: Likewise.
16407 * script/lua/lstate.c: Likewise.
16408 * script/lua/lstate.h: Likewise.
16409 * script/lua/lstring.c: Likewise.
16410 * script/lua/lstring.h: Likewise.
16411 * script/lua/lstrlib.c: Likewise.
16412 * script/lua/ltable.c: Likewise.
16413 * script/lua/ltable.h: Likewise.
16414 * script/lua/ltablib.c: Likewise.
16415 * script/lua/ltm.c: Likewise.
16416 * script/lua/ltm.h: Likewise.
16417 * script/lua/lua.h: Likewise.
16418 * script/lua/luaconf.h: Likewise.
16419 * script/lua/lualib.h: Likewise.
16420 * script/lua/lundump.c: Likewise.
16421 * script/lua/lundump.h: Likewise.
16422 * script/lua/lvm.c: Likewise.
16423 * script/lua/lvm.h: Likewise.
16424 * script/lua/lzio.c: Likewise.
16425 * script/lua/lzio.h: Likewise.
16426
5e898c9d 164272009-05-16 Bean <bean123ch@gmail.com>
16428
16429 * include/grub/kernel.h (grub_module_header_types): Add type
16430 OBJ_TYPE_CONFIG.
16431
16432 * kern/main.c (grub_load_config): New function.
16433 (grub_main): Call grub_load_config to read boot config.
16434
16435 * grub-mkimage (generate_image): New parameter config_path.
16436 (options): New option --config.
16437 (main): Parse --config option, and pass it to generate_image.
16438
cf353a47 164392009-05-14 Christian Franke <franke@computer.org>
16440
16441 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
16442 This fixes build on Cygwin.
16443
3834887f 164442009-05-14 Pavel Roskin <proski@gnu.org>
16445
16446 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
16447 jump. This saves two bytes, so the typical case of 2 swapped
16448 drives would fit 32 bytes.
16449
8090fc01 164502009-05-13 Pavel Roskin <proski@gnu.org>
16451
ac963883 16452 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
16453 grub_uint32_t to avoid a warning.
16454
8090fc01 16455 * loader/i386/linux.c (allocate_pages): When assigning
16456 real_mode_mem, cast through grub_size_t to fix a warning. The
16457 code already makes sure that the value would fit a pointer.
16458 (grub_linux_setup_video): Cast render_target->data to
16459 grub_size_t to fix a warning.
16460
18f547ad 164612009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 16462
16463 * commands/i386/pc/drivemap.c: New file - implement drivemap
16464 command.
16465 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
16466 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
16467
6f6a8b28 164682009-05-13 Pavel Roskin <proski@gnu.org>
16469
16470 * util/i386/pc/grub-setup.c (setup): Remove unused variable
16471 embedding_area_exists.
16472
15fbf4c4 164732009-05-13 Robert Millan <rmh.grub@aybabtu.com>
16474
16475 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
16476 it easier to understand / work with.
59978c8a 16477 Improve warning messages for cases where there's no embedding area,
16478 or when it is too small (or core.img too large).
15fbf4c4 16479
238e871f 164802009-05-13 Pavel Roskin <proski@gnu.org>
16481
0ab3a9a4 16482 * loader/i386/pc/multiboot2.c: Add necessary includes for
16483 grub_multiboot2_real_boot().
16484
a2c8c5f8 16485 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
16486 PX record is always little-endian. We only need the lower 2
16487 bytes of the mode.
16488
faec96af 16489 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
16490 facilitate code reuse.
16491 (grub_cpio_mount): Use "struct head", not a char buffer. This
16492 fixes a warning reported by gcc 4.4.
16493
238e871f 16494 * kernel/disk.c (grub_disk_read): Use void pointer for the
16495 buffer.
16496 (grub_disk_write): Use const void pointer for the buffer.
16497 Adjust all callers. Remove unnecessary casts.
16498
901d2f0c 164992009-05-10 Robert Millan <rmh.grub@aybabtu.com>
16500
16501 * util/i386/pc/grub-install.in: Update copyright year.
16502
18f547ad 165032009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 16504
16505 gptsync
16506
16507 * commands/gptsync.c: new file
16508 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
16509 (gptsync_mod_SOURCES): new variable
16510 (gptsync_mod_CFLAGS): likewise
16511 (gptsync_mod_LDFLAGS): likewise
18f547ad 16512 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 16513 new definition
16514 (GRUB_PC_PARTITION_TYPE_HFS): likewise
16515 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
16516 * conf/i386-ieee1275.rmk: likewise
16517 * conf/i386-pc.rmk: likewise
16518 * conf/powerpc-ieee1275.rmk: likewise
16519
b4ba690a 165202009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 Fixed grub-emu
16523
16524 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
16525 (grub_dl_ref): likewise
16526
317e1a44 165272009-05-08 Robert Millan <rmh.grub@aybabtu.com>
16528
16529 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
16530 split in two functions (one for msdos and one for gpt).
16531
041b8094 165322009-05-08 Pavel Roskin <proski@gnu.org>
16533
752473c2 16534 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
16535 not modified.
16536
041b8094 16537 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
16538 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
16539 Initialize them with -1. Add sanity check for bad1. Eliminate
16540 nerr variable.
16541
172800ce 165422009-05-08 David S. Miller <davem@davemloft.net>
16543
16544 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
16545
29aa5e81 165462009-05-06 Robert Millan <rmh.grub@aybabtu.com>
16547
16548 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 16549 existence.
29aa5e81 16550
96613b62 165512009-05-05 Felix Zielcke <fzielcke@z-51.de>
16552
16553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 16554 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 16555
eef73c8a 165562009-05-05 David S. Miller <davem@davemloft.net>
16557
16558 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
16559
119494b5 165602009-05-05 Pavel Roskin <proski@gnu.org>
16561
16562 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
16563 of grub_dl_ref() and grub_dl_unref().
16564 * commands/parttool.c: Remove preprocessor conditionals around
16565 grub_dl_ref() and grub_dl_unref().
16566 * fs/affs.c: Likewise.
16567 * fs/afs.c: Likewise.
16568 * fs/cpio.c: Likewise.
16569 * fs/ext2.c: Likewise.
16570 * fs/fat.c: Likewise.
16571 * fs/hfs.c: Likewise.
16572 * fs/hfsplus.c: Likewise.
16573 * fs/iso9660.c: Likewise.
16574 * fs/jfs.c: Likewise.
16575 * fs/minix.c: Likewise.
16576 * fs/ntfs.c: Likewise.
16577 * fs/reiserfs.c: Likewise.
16578 * fs/sfs.c: Likewise.
16579 * fs/udf.c: Likewise.
16580 * fs/ufs.c: Likewise.
16581 * fs/xfs.c: Likewise.
16582 * include/grub/dl.h: Likewise.
16583 * loader/xnu.c: Likewise.
16584
de5fd76e 165852009-05-04 Pavel Roskin <proski@gnu.org>
16586
16587 * commands/acpi.c: Remove unused variable my_mod.
16588 * partmap/amiga.c: Likewise.
16589 * partmap/apple.c: Likewise.
16590 * partmap/gpt.c: Likewise.
16591 * partmap/pc.c: Likewise.
16592 * partmap/sun.c: Likewise.
16593 * term/gfxterm.c: Likewise.
16594 * term/i386/pc/vesafb.c: Likewise.
16595 * term/i386/pc/vga.c: Likewise.
16596
983598ad 165972009-05-04 David S. Miller <davem@davemloft.net>
16598
16599 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
16600 pointer args to grub_ieee1275_get_property().
16601
8aadec43 16602 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
16603
9554b15e 16604 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
16605 devices, and do not traverse down under controller nodes.
16606
67e23c90 16607 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
16608 (grub_ofdisk_open): Use it to un-escape "," characters.
16609 * kern/disk.c (find_part_sep): New.
16610 (grub_disk_open): Use it to find the first non-escaped ','
16611 character in the disk name.
16612 * util/ieee1275/devicemap.c (escape_of_path): New.
16613 (grub_util_emit_devicemap_entry): Use it.
16614 * util/sparc64/ieee1275/grub-install.in: Update script to
16615 strip partition specifiers properly by not triggering on
16616 '\' escaped ',' characters.
16617
74bfdd2f 166182009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16619
16620 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
16621 to 0x300.
16622 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
16623 resolutions.
16624 (linux_vesafb_modes): Add a lot of additional modes to the list (based
16625 on documentation from Wikipedia).
16626
4241d2b1 166272009-05-04 Pavel Roskin <proski@gnu.org>
16628
16629 * disk/ata.c: Spelling fixes.
16630 * disk/raid.c: Likewise.
16631 * disk/usbms.c: Likewise.
16632 * disk/dmraid_nvidia.c: Likewise.
16633 * kern/ieee1275/openfw.c: Likewise.
16634 * kern/ieee1275/init.c: Likewise.
16635 * kern/ieee1275/cmain.c: Likewise.
16636 * boot/i386/pc/cdboot.S: Likewise.
16637 * video/readers/png.c: Likewise.
16638 * video/i386/pc/vbe.c: Likewise.
16639 * fs/udf.c: Likewise.
16640 * fs/hfs.c: Likewise.
16641 * fs/reiserfs.c: Likewise.
16642 * efiemu/runtime/efiemu.c: Likewise.
16643 * efiemu/main.c: Likewise.
16644 * efiemu/mm.c: Likewise.
16645 * include/grub/elf.h: Likewise.
16646 * include/grub/xnu.h: Likewise.
16647 * include/grub/usbdesc.h: Likewise.
16648 * include/grub/usb.h: Likewise.
16649 * include/grub/script_sh.h: Likewise.
16650 * include/grub/lib/LzmaEnc.h: Likewise.
16651 * include/grub/efiemu/efiemu.h: Likewise.
16652 * include/grub/command.h: Likewise.
16653 * normal/menu.c: Likewise.
16654 * normal/main.c: Likewise.
16655 * normal/datetime.c: Likewise.
16656 * bus/usb/uhci.c: Likewise.
16657 * mmap/i386/uppermem.c: Likewise.
16658 * mmap/mmap.c: Likewise.
16659 * commands/acpi.c: Likewise.
16660 * commands/test.c: Likewise.
16661 * partmap/apple.c: Likewise.
16662 * font/font.c: Likewise.
16663 * loader/sparc64/ieee1275/linux.c: Likewise.
16664 * loader/macho.c: Likewise.
16665 * loader/i386/bsd_trampoline.S: Likewise.
16666 * loader/i386/bsd.c: Likewise.
16667 * loader/xnu.c: Likewise.
16668 * term/i386/pc/vesafb.c: Likewise.
16669 * term/usb_keyboard.c: Likewise.
16670 * util/resolve.c: Likewise.
16671 * util/getroot.c: Likewise.
16672
0cfc0083 166732009-05-04 Felix Zielcke <fzielcke@z-51.de>
16674
16675 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
16676
7c1d00cd 166772009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16678
16679 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
16680 build error.
16681
b01f0548 166822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16683
16684 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
16685 parameter only available on BIOS.
16686
ecc3eb22 166872009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 Removed wrong semicolon in declaration
16690
16691 * grub/misc.h (grub_dprintf): remove semicolon
16692
112972a9 166932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16694
16695 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
16696 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
16697 is done by grub_cmd_linux() now).
16698 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
16699 restore video to text mode.
16700 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
16701 indicates lack of "vga=" parameter. "vga=0" is mapped to
16702 `GRUB_LINUX_VID_MODE_NORMAL'.
16703
afd5c115 167042009-05-04 Felix Zielcke <fzielcke@z-51.de>
16705
16706 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
16707 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
16708 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 16709 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 16710 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
16711 `grub_script.tab.c'.
16712
16713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16714 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16716 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16717 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16718
faa517ce 16719 * Makefile.in: Remove duplicated 2008 in Copyright line.
16720
ae0c0bdc 167212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16722
473d1e45 16723 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 16724 unconditionally.
16725 * include/grub/util/misc.h (grub_util_warn): New declaration.
16726
16727 * util/i386/pc/grub-install.in: Understand --force and pass it down
16728 to grub-setup.
16729
16730 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
16731 down to setup().
16732 (setup): Improve error messages and add warnings when requested to
16733 install in odd layouts. Refuse to install using blocklists unless
16734 --force was set.
16735
18f547ad 167362009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 16737
16738 * disk/raid.c (grub_raid_scan_device): Improve debug message.
16739
6d260daa 167402009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16741
16742 Updated copyright year
16743
16744 * fs/hfsplus.c: updated copyright year
18f547ad 16745
69f853f8 167462009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16747
16748 HFS+ UUID
16749
18f547ad 16750 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 16751 in the space previously used by unused3
16752 (grub_hfsplus_uuid): new function
16753 (grub_hfsplus_fs): added uuid field
16754
4c402e73 167552009-05-03 Pavel Roskin <proski@gnu.org>
16756
16757 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
16758 suppress warnings. It's no longer needed.
16759 * disk/host.c: Likewise.
16760 * disk/ata_pthru.c: Likewise.
16761 * disk/loopback.c: Likewise.
16762 * hook/datehook.c: Likewise.
16763 * parttool/pcpart.c: Likewise.
16764 * fs/i386/pc/pxe.c: Likewise.
16765 * fs/ntfscomp.c: Likewise.
16766 * efiemu/main.c: Likewise.
16767 * mmap/mmap.c: Likewise.
16768 * commands/crc.c: Likewise.
16769 * commands/hexdump.c: Likewise.
16770 * commands/hdparm.c: Likewise.
16771 * commands/acpi.c: Likewise.
16772 * commands/echo.c: Likewise.
16773 * commands/minicmd.c: Likewise.
16774 * commands/blocklist.c: Likewise.
16775 * commands/memrw.c: Likewise.
16776 * commands/loadenv.c: Likewise.
16777 * commands/usbtest.c: Likewise.
16778 * commands/lsmmap.c: Likewise.
16779 * commands/boot.c: Likewise.
16780 * commands/parttool.c: Likewise.
16781 * commands/configfile.c: Likewise.
16782 * commands/search.c: Likewise.
16783 * commands/ieee1275/suspend.c: Likewise.
16784 * commands/cat.c: Likewise.
16785 * commands/i386/pc/pxecmd.c: Likewise.
16786 * commands/i386/pc/play.c: Likewise.
16787 * commands/i386/pc/halt.c: Likewise.
16788 * commands/i386/pc/vbeinfo.c: Likewise.
16789 * commands/i386/pc/vbetest.c: Likewise.
16790 * commands/lspci.c: Likewise.
16791 * commands/date.c: Likewise.
16792 * commands/handler.c: Likewise.
16793 * commands/ls.c: Likewise.
16794 * commands/test.c: Likewise.
16795 * commands/cmp.c: Likewise.
16796 * commands/efi/loadbios.c: Likewise.
16797 * commands/efi/fixvideo.c: Likewise.
16798 * commands/halt.c: Likewise.
16799 * commands/help.c: Likewise.
16800 * commands/reboot.c: Likewise.
16801 * hello/hello.c: Likewise.
16802 * script/sh/main.c: Likewise.
16803 * loader/xnu.c: Likewise.
16804 * term/terminfo.c: Likewise.
16805 * term/i386/pc/serial.c: Likewise.
16806 * term/usb_keyboard.c: Likewise.
16807
515b5079 168082009-05-03 David S. Miller <davem@davemloft.net>
16809
16810 * normal/menu.c: Include grub/parser.h
16811
dfc31a22 168122009-05-03 Pavel Roskin <proski@gnu.org>
16813
2fee74f1 16814 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
16815 not char*.
16816 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
16817 Suggested by Javier Martín <lordhabbit@gmail.com>
16818
dfc31a22 16819 * util/i386/pc/grub-mkrescue.in: Allow for the case when
16820 efiemu??.o doesn't exist.
16821 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
16822 copying.
16823
18f547ad 168242009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 16825
16826 FreeBSD 64-bit support
16827
18f547ad 16828 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 16829 and loader/i386/bsd_trampoline.S
16830 (bsd_mod_ASFLAGS): new variable
16831 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
16832 (FREEBSD_MODTYPE_KERNEL64): likewise
16833 (grub_bsd64_trampoline_start): likewise
16834 (grub_bsd64_trampoline_end): likewise
16835 (grub_bsd64_trampoline_selfjump): likewise
16836 (grub_bsd64_trampoline_gdt): likewise
16837 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
16838 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
16839 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
16840 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 16841 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 16842 of "attrib" member
16843 * loader/i386/bsd_pagetable.c: new file
16844 * loader/i386/bsd_trampoline.S: likewise
16845 * loader/i386/bsd.c (ALIGN_QWORD): new macro
16846 (ALIGN_VAR): likewise
16847 (entry_hi): new variable
16848 (kern_end_mdofs): likewise
16849 (is_64bit): likewise
16850 (grub_freebsd_add_meta): use ALIGN_VAR
16851 (grub_e820_mmap): new declaration
16852 (grub_freebsd_add_mmap): new function
16853 (grub_freebsd_add_meta_module): support 64 bit kernels
16854 (grub_freebsd_list_modules): use ALIGN_VAR
16855 (gdt_descriptor): new declaration
16856 (grub_freebsd_boot): support 64 bit kernels
16857 (grub_bsd_elf64_hook): new function
16858 (grub_bsd_load_elf): support elf64
16859
038c5720 168602009-05-03 Bean <bean123ch@gmail.com>
16861
16862 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
16863 after we get the result of if statement.
16864
fc45fb58 168652009-05-03 Bean <bean123ch@gmail.com>
16866
16867 * Makefile.in (enable_efiemu): New variable.
16868
16869 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
16870 set.
16871 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
16872 path.
16873 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
16874 path, add -mno-red-zone option.
16875 (efiemu64_s.o): Likewise.
16876 (efiemu64.o): Use macro $^ for source file.
16877
16878 * configure.ac (--enable-efiemu): New option.
16879
bbee0f2b 168802009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 xnu support
16883
16884 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
16885 (pkglib_MODULES): add xnu.mod
16886 (xnu_mod_SOURCES): new variable
16887 (xnu_mod_CFLAGS): likewise
16888 (xnu_mod_LDFLAGS): likewise
16889 (xnu_mod_ASFLAGS): likewise
16890 * conf/i386-pc.rmk: likewise
16891 * conf/x86_64-efi.rmk: likewise
7dd4a573 16892 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 16893 new declaration
16894 * include/grub/i386/macho.h: new file
16895 * include/grub/i386/xnu.h: likewise
16896 * include/grub/macho.h: likewise
16897 * include/grub/machoload.h: likewise
16898 * include/grub/x86_64/macho.h: likewise
16899 * include/grub/x86_64/xnu.h: likewise
16900 * include/grub/xnu.h: likewise
16901 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
16902 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
16903 * loader/i386/efi/xnu.c: new file
16904 * loader/i386/pc/xnu.c: likewise
16905 * loader/i386/xnu.c: likewise
16906 * loader/i386/xnu_helper.S: likewise
16907 * loader/macho.c: likewise
16908 * loader/xnu.c: likewise
16909 * loader/xnu_resume.c: likewise
16910 * util/grub-dumpdevtree: likewise
16911 * include/grub/i386/pit.h: include grub/err.h
16912 (grub_pit_wait): export
16913 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 16914
5caf964d 169152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16916
16917 Efiemu
7dd4a573 16918
5caf964d 16919 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 16920 _linux_efi, linux_efi.
16921 new files in grub-emu
5caf964d 16922 new targets efiemu32.o and efiemu64.o
16923 * loader/linux_normal_efiemu.c: likewise
16924 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 16925 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 16926 files to copy
16927 * include/grub/autoefi.h: new file
7dd4a573 16928 * include/grub/i386/efiemu.h: likewise
5caf964d 16929 * include/grub/i386/pc/efiemu.h: likewise
16930 * include/grub/efi/api.h: add LL suffix when necessary
16931 new definitions relating to tables
16932 * include/grub/efiemu/efiemu.h: new file
16933 * include/grub/efiemu/runtime.h: likewise
16934 * efiemu/prepare.c: likewise
16935 * efiemu/loadcore_common.c: likewise
16936 * efiemu/loadcore64.c: likewise
16937 * efiemu/runtime/efiemu.sh: likewise
16938 * efiemu/runtime/efiemu.S: likewise
16939 * efiemu/runtime/efiemu.c: likewise
16940 * efiemu/runtime/config.h: likewise
16941 * efiemu/prepare32.c: likewise
16942 * efiemu/main.c: likewise
16943 * efiemu/modules/pnvram.c: likewise
16944 * efiemu/modules/i386: likewise
16945 * efiemu/modules/i386/pc: likewise
16946 * efiemu/modules/acpi.c: likewise
16947 * efiemu/i386/pc/cfgtables.c: likewise
16948 * efiemu/i386/loadcore64.c: likewise
16949 * efiemu/i386/loadcore32.c: likewise
16950 * efiemu/prepare64.c: likewise
16951 * efiemu/loadcore.c: likewise
16952 * efiemu/symbols.c: likewise
16953 * efiemu/mm.c: likewise
16954 * efiemu/loadcore32.c: likewise
7dd4a573 16955
169562009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 16957
16958 ACPI spoofing
16959
16960 * commands/acpi.c: new file
16961 * commands/i386/pc/acpi.c: likewise
16962 * commands/efi/acpi.c: likewise
16963 * include/grub/acpi.h: likewise
16964 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
16965 (acpi_mod_SOURCES): new variable
16966 (acpi_mod_CFLAGS): likewise
16967 (acpi_mod_LDFLAGS): likewise
16968 * conf/i386-efi.rmk: likewise
16969 * conf/x86_64-efi.rmk: likewise
16970
7dd4a573 169712009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 16972
16973 Missing part from mmap patch
16974
16975 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
16976 (grub_mmap_unregister)
16977 (grub_mmap_free_and_unregister): use grub_mmap_register
16978
7dd4a573 169792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 16980
16981 Mmap services
16982
16983 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
16984 * loader/i386/linux.c (find_mmap_size): likewise
16985 (allocate_pages): likewise
16986 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
16987 (grub_fill_multiboot_mmap): likewise
16988 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
16989 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
16990 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
16991 (OPENBSD_MMAP_RESERVED): likewise
16992 * include/grub/i386/pc/memory.h: include grub/memory.h
16993 (grub_lower_mem): removed
16994 (grub_upper_mem): likewise
16995 (GRUB_MACHINE_MEMORY_ACPI): new definition
16996 (GRUB_MACHINE_MEMORY_NVS): likewise
16997 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
16998 (GRUB_MACHINE_MEMORY_HOLE): likewise
16999 (grub_machine_mmap_register): likewise
17000 (grub_machine_mmap_unregister): likewise
17001 (grub_machine_get_upper): likewise
17002 (grub_machine_get_lower): likewise
17003 (grub_machine_get_post64): likewise
17004 * include/grub/i386/efi/memory.h: new file
17005 * include/grub/x86_64/efi/memory.h: likewise
17006 * include/grub/efi/memory.h: likewise
17007 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
17008 (mmap_mod_SOURCES): new variable
17009 (mmap_mod_LDFLAGS): likewise
17010 (mmap_mod_ASFLAGS): likewise
17011 * conf/i386-coreboot.rmk: likewise
17012 * conf/i386-ieee1275.rmk: likewise
17013 * conf/i386-efi.rmk: likewise
17014 * conf/x86_64-efi.rmk: likewise
17015 * include/grub/types.h (UINT_TO_PTR): new macro
17016 (PTR_TO_UINT32): likewise
17017 (PTR_TO_UINT64): likewise
17018 * include/grub/memory.h: new file
17019 * mmap/i386/pc/mmap.c: likewise
17020 * mmap/i386/pc/mmap_helper.S: likewise
17021 * mmap/i386/uppermem.c: likewise
17022 * mmap/mmap.c: likewise
17023 * mmap/efi/mmap.c: likewise
7dd4a573 17024 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 17025 grub_upper_mem
17026 * kern/i386/pc/init.c (grub_lower_mem): removed variable
17027 (grub_upper_mem): likewise
17028 (grub_machine_init): don't use grub_upper_mem,
17029 make grub_lower_mem local
17030 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
17031 grub_mmap_iterate and grub_mmap_get_upper
17032 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
17033
d558e6b5 170342009-05-02 Bean <bean123ch@gmail.com>
17035
17036 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
17037 script/sh/parser.y.
17038 (pkglib_MODULES): Add normal.mod and sh.mod.
17039 (normal_SOURCES): New variable.
17040 (normal_mod_CFLAGS): Likewise.
17041 (normal_mod_LDFLAGS): Likewise.
17042 (sh_mod_SOURCES): Likewise.
17043 (sh_mod_CFLAGS): Likewise.
17044 (sh_mod_LDFLAGS): Likewise.
17045
17046 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
17047 script/sh/lexer.c_DEPENDENCIES.
17048 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
17049 kern/rescue_reader.c and kern/rescue_parser.c.
17050 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
17051 (grub_emu_SOURCES): Change source files.
17052 (pkglib_MODULES): Remove normal.mod.
17053 (normal_SOURCES): Removed.
17054 (normal_mod_CFLAGS): Likewise.
17055 (normal_mod_LDFLAGS): Likewise.
17056 * conf/i386-coreboot.rmk: Likewise.
17057 * conf/i386-efi.rmk: Likewise.
17058 * conf/i386-ieee1276.rmk: Likewise.
17059 * conf/powerpc-ieee1275.rmk: Likewise.
17060 * conf/sparc64-ieee1275.rmk: Likewise.
17061 * conf/x86_64-efi.rmk: Likewise.
17062
17063 * include/grub/command.h (grub_command_execute): New inline function.
17064
17065 * include/grub/menu.h (grub_menu_entry): Removed commands field.
17066
17067 * include/grub/normal.h: Remove <grub/setjmp.h>.
17068 (grub_fs_module_list): Moved to normal/autofs.c.
17069 (grub_exit_env): Removed.
17070 (grub_command_execute): Likewise.
17071 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
17072 parameter script.
17073 (read_command_list): New function declaration.
17074 (read_fs_list): Likewise.
17075
17076 * include/parser.h: Include <grub/reader.h>.
17077 (grub_parser_split_cmdline): Change type of getline parameter.
17078 (grub_parser): New structure.
17079 (grub_parser_class): New variable.
17080 (grub_parser_execute): New function declaration.
17081 (grub_register_rescue_parser): Likewise.
17082 (grub_parser_register): New inline function.
17083 (grub_parser_unregister): Likewise.
17084 (grub_parser_get_current): Likewise.
17085 (grub_parser_set_current): Likewise.
17086
17087 * include/grub/reader.h: New file.
17088 * kern/reader.c: Likewise.
17089 * kern/rescue_parser.c: Likewise.
17090 * kern/rescue_reader.c: Likewise.
17091 * normal/autofs.c: Likewise.
17092 * normal/dyncmd.c: Likewise.
17093
17094 * include/grub/rescue.h: Removed.
17095 * normal/command.h: Likewise.
17096
17097 * include/grub/script.h: Moved to ...
17098 * include/grub/script_sh.h: ... Moved here.
17099 * normal/execute.c: Moved to ...
17100 * script/sh/execute.c: ... Moved here.
17101 * normal/function.c: Moved to ...
17102 * script/sh/function.c: ... Moved here.
17103 * normal/lexer.c: Moved to ...
17104 * script/sh/lexer.c: ... Moved here.
17105 * normal/parser.y: Moved to ...
17106 * script/sh/parser.y: ... Moved here.
17107 * normal/script.c: Moved to ...
17108 * script/sh/script.c: ... Moved here.
17109
17110 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
17111 <grub/reader.h>.
17112 (grub_exit_env): Removed.
17113 (fs_module_list): Moved to normal/autofs.c.
17114 (grub_file_getline): Don't handle comment here.
17115 (free_menu): Skip removed field entry->commands.
17116 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
17117 script parameter.
17118 (read_config_file): Removed nested parameter, change getline function.
17119 (grub_enter_normal_mode): Removed.
17120 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
17121 (read_command_list): Likewise.
17122 (autoload_fs_module): Moved to normal/autofs.c.
17123 (read_fs_list): Likewise.
17124 (reader_nested): New variable.
17125 (grub_normal_execute): Run parser.sh to switch to sh parser.
17126 (grub_cmd_rescue): Removed.
17127 (cmd_normal): Removed.
17128 (grub_cmd_normal): Unregister itself at the beginning. Don't register
17129 rescue command.
17130 (grub_cmdline_run): New function.
17131 (grub_normal_reader_init): Likewise.
17132 (grub_normal_read_line): Likewise.
17133 (grub_env_write_pager): Likewise.
17134 (cmdline): New variable.
17135 (grub_normal_reader): Likewise.
17136 (GRUB_MOD_INIT): Register normal reader and set as current, register
17137 pager hook, register normal command with grub_register_command_prio,
17138 so that it won't show up in command.lst.
17139 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
17140 grub_fs_autoload_hook.
17141
17142 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
17143 (grub_menu_execute_entry): Replace grub_script_execute with
17144 grub_parser_execute, change parameter to grub_command_execute.
17145
17146 * normal/menu_text.c: Remove <grub/script.h>.
17147
17148 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
17149 and <grub/parser.h>.
17150 (run): Change editor_getline to use new parser interface. Change
17151 parameter to grub_command_execute.
17152
17153 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
17154 <grub/reader.h> and <grub/parser.h>.
17155 (grub_load_normal_mode): Execute normal command.
17156 (grub_main): Call grub_register_core_commands,
17157 grub_register_rescue_parser and grub_register_rescue_reader, use
17158 grub_reader_loop to enter input loop.
17159
7dd4a573 17160 * kern/parser.c (grub_parser_split_cmdline): Change type of
17161 getline parameter.
d558e6b5 17162 (grub_parser_class): New variable.
17163 (grub_parser_execute): New function.
17164
17165 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
17166 * loader/multiboot2.c: Likewise.
17167 * loader/sparc64/ieee1275/linux.c: Likewise.
17168
17169 * util/grub-emu.c (read_command_list): New dummy function.
17170
18db813d 171712009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17172
17173 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
17174 count to 16 for CCISS and IDA.
17175
6c67de15 171762009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17177
17178 * normal/menu_text.c (grub_wait_after_message): Print a newline
17179 after waiting for user input.
17180
17181 * loader/i386/linux.c: Include `<grub/normal.h>'.
17182 (grub_cmd_linux): Improve the error message about `ask' mode, by
17183 waiting for user input so it's not missed (we can do this, since
17184 user requested interaction).
17185
d9dc87b0 171862009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17187
17188 Added missing lst to grub-mkrescue
17189
17190 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
17191 and ${input_dir}/parttool.lst
17192
ac8a2baa 171932009-04-30 David S. Miller <davem@davemloft.net>
17194
ad22a610 17195 * util/hostdisk.c (device_is_wholedisk): New function.
17196 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
17197 zero only if device_is_wholedisk() returns true.
17198
6966215d 17199 * util/hostdisk.c (convert_system_partition_to_system_disk):
17200 Handle virtual disk devices named /dev/vdiskX as found on sparc
17201 and powerpc.
17202
ac8a2baa 17203 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
17204 lettered partition specifier is found, convert to numbered.
17205
979b4fb4 172062009-04-29 David S. Miller <davem@davemloft.net>
17207
e2bf39b2 17208 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
17209 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17210
3c64e104 17211 * normal/command.c: Add missing newline at end of file.
17212
979b4fb4 17213 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
17214 warnings.
17215 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
17216 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
17217 grub_ofdisk_read): Likewise, and deal similarly with the fact that
17218 ihandles have a 32-bit type but need to be stored in a "void *".
17219
136d9f82 172202009-04-28 Pavel Roskin <proski@gnu.org>
17221
9459c306 17222 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
17223 not disk. Adjust all dependencies.
2e08a26a 17224 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 17225 grub_disk_close().
17226
136d9f82 17227 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
17228 parent's partition, don't copy it by reference, as it gets freed
17229 on close.
17230
7dd4a573 172312009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 17232
17233 Preboot hooks support
17234
17235 * commands/boot.c (struct grub_preboot_t): new declaration
17236 (preboots_head): new variable
17237 (preboots_tail): likewise
17238 (grub_loader_register_preboot_hook): new function
17239 (grub_loader_unregister_preboot_hook): likewise
17240 (grub_loader_set): launch preboot hooks
17241 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
17242 (grub_loader_register_preboot_hook): new declaration
17243 (grub_loader_unregister_preboot_hook): likewise
17244
5af922b5 172452009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17246
17247 Warning fix
17248
7dd4a573 17249 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 17250 calling grub_dprintf
17251
a5562c30 172522009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
17253
17254 Bug and warning fixes
17255
7dd4a573 17256 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 17257 declaration
17258 * commands/test.c (test_parse): fixed bug with file tests and corrected
17259 declaration of find_file
17260
4006f85c 172612009-04-26 Pavel Roskin <proski@gnu.org>
17262
17263 * Makefile.in: Don't install empty manual pages if help2man is
17264 missing. Use help2man option for output, not shell redirection.
17265
5c77c3de 172662009-04-26 David S. Miller <davem@davemloft.net>
17267
17268 * util/grub-mkdevicemap.c (make_device_map): Add missing
17269 NESTED_FUNC_ATTR to process_device().
17270
033b10a8 172712009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 Test command
17274
17275 * commands/test.c: rewritten to use bash-like test
17276
e4343593 172772009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 Parttool autoloading and improvements
17280
7dd4a573 17281 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 17282 (parttool.lst): new target
17283 * genmk.rb: generate parttool-*
17284 (CLEANFILES): add #{parttool}
17285 (PARTTOOLFILES): new variable
17286 * genparttoollist.sh: new file
7dd4a573 17287 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 17288 (grub_pcpart_type): likewise
17289 * commands/parttool.c (helpmsg): new variable
17290 (grub_cmd_parttool): output help if not enough arguments are supplied
17291 autoload modules
17292 (GRUB_MOD_INIT(parttool)): use helpmsg
17293
0d312500 172942009-04-24 David S. Miller <davem@davemloft.net>
17295
7dd4a573 17296 Avoiding opening same device multiple times in device iterator.
0d312500 17297
17298 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 17299 and use it to build a list of partitions in iterate_disk() and
0d312500 17300 iterate_partition().
17301
ac20caff 17302 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
17303 on disk->data.
17304
0dcf7495 17305 * disk/ieee1275/nand.c (grub_nand_iterate): Return
17306 grub_devalias_iterate() result instead of unconditional 0.
17307 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
17308 Also, capture hook return value, either directly or via
17309 grub_children_iterate(), and propagate to caller.
17310 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
17311 grub_children_iterate): Return value is now 'int' instead of
17312 'grub_err_t'.
17313 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
17314 like a proper iterator, stopping when hooks return non-zero.
17315 (grub_devalias_iterate): Likewise.
17316
c8c08833 173172009-04-23 David S. Miller <davem@davemloft.net>
17318
17319 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
17320
f01005a8 173212009-04-22 David S. Miller <davem@davemloft.net>
17322
17323 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
17324 is larger than address_cells, use that value for address_cells too.
17325
4e8269da 17326 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
17327 IEEE1275_MAX_PATH_LEN): Define.
17328 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
17329 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
17330 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
17331 'devtype'. Explicitly NULL terminate devalias expansion.
17332
a1447506 17333 * util/sparc64/ieee1275/misc.c: New file.
17334 * util/sparc64/ieee1275/grub-setup.c: New file.
17335 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
17336 * util/sparc64/ieee1275/grub-mkimage.c: New file.
17337 * util/sparc64/ieee1275/grub-install.in: New file.
17338 * util/ieee1275/ofpath.c: New file.
17339 * util/ieee1275/devicemap.c: New file.
17340 * util/devicemap.c: New file.
17341 * util/deviceiter.c: New file.
17342 * kern/sparc64/ieee1275/init.c: New file.
17343 * include/grub/util/ofpath.h: New file.
17344 * include/grub/util/deviceiter.h: New file.
17345 * util/grub-mkdevicemap.c: Include deviceiter.h.
17346 Implement using grub_util_emit_devicemap_entry and
17347 grub_util_iterate_devices.
17348 * conf/i386-corebook.rmk: Build util/deviceiter.c and
17349 util/devicemap.c into grub-mkdevicemap
17350 * conf/i386-efi.rmk: Likewise.
17351 * conf/i386-ieee1275.rmk: Likewise.
17352 * conf/i386-pc.rmk: Likewise.
17353 * conf/powerpc-ieee1275.rmk: Likewise.
17354 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
17355 images and installation utilities. Build kernel as image
17356 instead of as elf binary. Use common rules as much as possible.
17357
7dd4a573 173582009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 17359
17360 Correct GPT definition
17361
7dd4a573 17362 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 17363 of "attrib" member
17364
c6c5219f 173652009-04-19 Felix Zielcke <fzielcke@z-51.de>
17366
17367 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
17368
0552ff9f 173692009-04-19 David S. Miller <davem@davemloft.net>
17370
17371 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
17372 (grub_rescue_cmd_linux): Rename to...
17373 (grub_cmd_linux): and fix prototype.
17374 (grub_rescue_cmd_initrd): Rename to...
17375 (grub_cmd_initrd): and fix prototype.
17376 (cmd_linux, cmd_initrd): New.
17377 (GRUB_MOD_INIT(linux)): Use grub_register_command().
17378 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
17379
d1a282fc 173802009-04-17 Pavel Roskin <proski@gnu.org>
17381
07c5039f 17382 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
17383 format.
17384 (grub_ohci_transfer): Likewise.
17385
b012002d 17386 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
17387
1bc09c35 17388 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
17389 return without a value. Fix inconsistent indentation.
17390
e0ff9126 17391 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
17392 match struct grub_fs.
17393
d1a282fc 17394 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
17395 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
17396 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17397 * commands/lspci.c (grub_lspci_iter): Likewise.
17398
a96df3f2 173992009-04-16 Bean <bean123ch@gmail.com>
17400
17401 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
17402 value.
17403
41bb0fe9 174042009-04-15 Pavel Roskin <proski@gnu.org>
17405
17406 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
17407 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
17408 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
17409 definitions.
17410
596c6970 174112009-04-15 Felix Zielcke <fzielcke@z-51.de>
17412
17413 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 17414 that no multiple data or metadata areas are supported and `Unknown
596c6970 17415 metadata header'.
17416
7dd4a573 174172009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 17418
17419 Move loader out of the kernel
17420
17421 * kern/loader.c: moved to ...
17422 * commands/boot.c: ... moved here
17423 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
17424 * commands/boot.c (grub_cmd_boot): moved here. All users updated
17425 * include/grub/kernel.h (grub_machine_fini): export
17426 * include/grub/loader.h (grub_loader_is_loaded): update declaration
17427 (grub_loader_set): likewise
17428 (grub_loader_unset): likewise
17429 (grub_loader_boot): likewise
17430 * conf/common.rmk: new module boot.mod
17431 (pkglib_MODULES): add boot.mod
17432 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
17433 (grub_emu_SOURCES): likewise
17434 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
17435 (grub_emu_SOURCES): likewise
17436 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
17437 (grub_emu_SOURCES): likewise
17438 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
17439 (grub_emu_SOURCES): likewise
17440 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
17441 (grub_emu_SOURCES): likewise
7dd4a573 17442 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
17443 (grub_emu_SOURCES): likewise
0d5d5653 17444 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 17445 (grub_emu_SOURCES): likewise
0d5d5653 17446
7dd4a573 174472009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 17448
17449 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 17450
5999d619 17451 * kern/misc.c (grub_itoa): Removed function
17452 (grub_ltoa): likewise
17453 (grub_vsprintf): use grub_lltoa
17454
7dd4a573 174552009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 17456
17457 Restore grub-emu
17458
17459 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
17460 * conf/i386-coreboot.rmk: likewise
17461 * conf/i386-ieee1275.rmk: likewise
17462 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17463
20318222 174642009-04-15 Felix Zielcke <fzielcke@z-51.de>
17465
17466 * INSTALL: Add that `./autogen.sh' needs to be run before
17467 `./configure.'.
17468
d05f0df3 174692009-04-14 Bean <bean123ch@gmail.com>
17470
17471 * Makefile.in (pkglib_DATA): Add handler.lst.
17472 (handler.lst): New rule.
17473
17474 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
17475 * conf/i386-coreboot.rmk: Likewise.
17476 * conf/i386-ieee1275.rmk: Likewise.
17477 * conf/i386-efi.rmk: Likewise.
17478 * conf/x86_64-efi.rmk: Likewise.
17479 * conf/powerpc-ieee1275.rmk: Likewise.
17480 * conf/sparc64-ieee1275.rmk: Likewise.
17481
17482 * genhandlerlist.sh: New file.
17483
17484 * genmk.rb: Add rules to generate handler.lst.
17485
17486 * include/grub/normal.h (grub_file_getline): New function definition.
17487 (read_handler_list): Likewise.
17488 (free_handler_list): Likewise.
17489
17490 * include/grub/term.h (grub_term_register_input): Add name parameter
17491 for auto generation of handler.lst.
17492 (grub_term_register_output): Likewise.
17493
17494 * normal/handler.c: New file.
17495
17496 * normal/main.c (get_line): Renamed to grub_file_getline.
17497 (read_config_file): Use the newly renamed grub_file_getline.
17498 (read_command_list): Likewise.
17499 (read_fs_list): Likewise.
17500 (grub_normal_execute): Call read_handler_list to parse handler.lst.
17501 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
17502
17503 * term/efi/console.c (grub_console_init): Add name parameter for auto
17504 generation of handler.lst.
17505 * term/gfxterm.c: Likewise.
17506 * term/i386/pc/at_keyboard.c: Likewise.
17507 * term/i386/pc/console.c: Likewise.
17508 * term/i386/pc/serial.c: Likewise.
17509 * term/i386/pc/vesafb.c: Likewise.
17510 * term/i386/pc/vga.c: Likewise.
17511 * term/i386/pc/vga_text.c: Likewise.
17512 * term/ieee1275/ofconsole.c: Likewise.
17513 * term/usb_keyboard.c: Likewise.
17514
33c846be 175152009-04-14 Bean <bean123ch@gmail.com>
17516
17517 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
17518 properly with null character.
17519
4484e01e 175202009-04-14 Felix Zielcke <fzielcke@z-51.de>
17521
17522 * configure: Remove.
17523 * config.h.in: Likewise.
f93d668e 17524 * stamp-h.in: Likewise.
4484e01e 17525 * DISTLIST: Likewise.
17526 * conf/common.mk: Likewise.
17527 * conf/i386-coreboot.mk: Likewise.
17528 * conf/i386-efi.mk: Likewise.
17529 * conf/i386-ieee1275.mk: Likewise.
17530 * conf/i386.mk: Likewise.
17531 * conf/i386-pc.mk: Likewise.
17532 * conf/powerpc-ieee1275.mk: Likewise.
17533 * conf/sparc64-ieee1275.mk: Likewise.
17534 * conf/x86_64-efi.mk: Likewise.
17535
17536 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
17537 develop on GRUB.
17538
7dd4a573 175392009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 17540 David S. Miller <davem@davemloft.net>
17541
17542 * util/hostdisk.c (make_device_name): Fix buffer length
17543 calculations.
17544
e25b5a8c 175452009-04-14 Felix Zielcke <fzielcke@z-51.de>
17546
17547 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
17548 <sys/param.h> and <sys/sysctl.h>.
17549 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
17550 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
17551 opening the device and reset them afterwards.
17552
1f1f580c 175532009-04-13 Pavel Roskin <proski@gnu.org>
17554
17555 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
17556 Reported by John Stanley <jpsinthemix@verizon.net>
17557
7ebc2d6b 175582009-04-13 Robert Millan <rmh@aybabtu.com>
17559
17560 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 17561 that name for menuentries when appropriate.
7ebc2d6b 17562
d8ba3667 175632009-04-13 Felix Zielcke <fzielcke@z-51.de>
17564
17565 * util/grub.d/10_freebsd.in: Add a missing `fi'.
17566
cba416eb 175672009-04-13 Robert Millan <rmh@aybabtu.com>
17568
17569 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
17570 to Linux, simply abort telling the user it's no longer supported.
17571
a547a745 175722009-04-13 Felix Zielcke <fzielcke@z-51.de>
17573
17574 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 17575 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 17576 `freebsd_loadenv' only when devices.hints exist.
17577
232a769c 175782009-04-13 Pavel Roskin <proski@gnu.org>
17579
17580 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
17581
c3012039 175822009-04-13 Felix Zielcke <fzielcke@z-51.de>
17583
17584 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
17585 partition number.
17586 (grub_drive): Likewise.
17587
234022fe 175882009-04-13 David S. Miller <davem@davemloft.net>
17589
17590 * kern/sparc64/ieee1275/ieee1275.c: New file.
17591 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
17592 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
17593 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
17594 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
17595 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
17596 grub_ieee1275_alloc_physmem): Declare new exported functions.
17597
d8e1836c 17598 * include/grub/sparc64/ieee1275/loader.h: New file.
17599 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17600 * include/grub/sparc64/kernel.h: Likewise.
17601 * loader/sparc64/ieee1275/linux.c: Likewise.
17602
96bd81ec 17603 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
17604 (grub_fstest_SOURCES): Likewise.
17605
6a4737e5 17606 * util/hostdisk.c (make_device_name): Do not make any assumptions
17607 about the length of drive names.
17608
1d7a72fd 17609 * kern/dl.c (grub_dl_load_file): Close file immediately when
17610 we are done using it.
17611
56bc2471 176122009-04-12 David S. Miller <davem@davemloft.net>
17613
17614 * kern/misc.c (grub_ltoa): Fix cast when handling negative
17615 values. Noticed by Pavel Roskin.
17616
df38d0bb 17617 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
17618 target compiler.
7dd4a573 17619
e382e93a 17620 * genmk.rb: Add more flexible image type specification, also
17621 pass --strip-unneeded to objcopy.
17622 * conf/i386-pc.rmk: Use *_FORMAT.
17623 * conf/i386-pc.mk: Rebuilt.
17624
f5dbbca9 17625 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
17626 (OFDISK_HASH_SZ): Define.
17627 (ofdisk_hash): New hash table.
17628 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
17629 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
17630 instead of device phandle which is not unique.
17631
91c88b12 17632 * kern/sparc64/ieee1275/init.c: Delete, replace with...
17633 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
17634 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
17635 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
17636 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
17637 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
17638 GRUB_KERNEL_MACHINE_DATA_END): Define.
17639 (grub_kernel_image_size, grub_total_module_size): Declare.
17640
5b5d4aa5 176412009-04-12 Pavel Roskin <proski@gnu.org>
17642
7dd4a573 17643 * configure.ac: Change the logic when we check for target tools.
17644 Do it when the target is specified and it's different from the
17645 specified value of the host.
5b5d4aa5 17646
c91e1793 176472009-04-11 Felix Zielcke <fzielcke@z-51.de>
17648
17649 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
17650 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
17651 GNU/kFreeBSD. Check if a device is a character device. Use
17652 DIOCGMEDIASIZE to get the size.
17653 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
17654 support for GNU/kFreeBSD.
17655 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
17656 is a character device instead of a block device. Add support for
17657 FreeBSD device names.
17658
17659 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
17660 is a character device instead of a block device.
17661
17662 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
17663 is a character device instead of a block device.
17664
b1ac8644 176652009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
17666
17667 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
17668 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
17669 FreeBSD. Check if a device is a character device. Use
17670 DIOCGMEDIASIZE to get the size.
17671 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
17672 support for FreeBSD.
17673 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
17674 is a character device instead of a block device. Add support for
17675 FreeBSD device names.
17676
17677 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
17678 a character device instead of a block device.
17679 (grub_util_check_char_device): New function.
17680
17681 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
17682 a character device instead of a block device.
17683
17684 * include/grub/util/getroot.h (grub_util_check_char_device): New
17685 prototype.
17686
a3f7515a 176872009-04-11 David S. Miller <davem@davemloft.net>
17688
17689 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
17690 static libgcc.
17691 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
17692 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
17693 function, if present.
17694 (__bswapdi2): Likewise.
17695
0d44993d 17696 * include/grub/sparc64/ieee1275/boot.h: New file.
17697 * boot/sparc64/ieee1275/boot.S: Likewise.
17698 * boot/sparc64/ieee1275/diskboot.S: Likewise.
17699
ed3d2bc2 17700 * kern/misc.c (grub_ltoa): New function.
17701 (grub_vsprintf): Use it to format 'long' integers.
17702
d3bfb59c 177032009-04-10 David S. Miller <davem@davemloft.net>
17704
17705 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
17706 slots are of type grub_ieee1275_cell_t.
17707 (grub_nand_read): Likewise.
17708 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
17709 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
17710 macros are used to compare values in arg/ret block of the call.
17711 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17712 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
17713 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
17714 grub_ieee1275_instance_to_path, grub_ieee1275_write,
17715 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
17716 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
17717 grub_ieee1275_close, grub_ieee1275_set_property,
17718 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
17719 grub_ieee1275_cell_t.
17720 * kern/ieee1275/openfw.c (grub_map): Likewise.
17721 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
17722 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
17723
450e2238 17724 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
17725 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
17726 (grub_devalias_iterate): Likewise.
17727
7dd4a573 177282009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 17729
17730 UFS improvements
17731
17732 * fs/ufs.c (INODE_NBLOCKS): new definition
17733 (struct grub_ufs_dirent): added fields for non-BSD dirents
17734 (grub_ufs_get_file_block): fixed double indirect handling
17735 (grub_ufs_lookup_symlink): use more robust way to determine whether
17736 symlink is inline
17737 (grub_ufs_find_file): support for non-BSD dirents
17738 (grub_ufs_dir): support for non-BSD dirents
17739
e7e6862a 177402009-04-10 Bean <bean123ch@gnail.com>
17741
17742 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
17743 attribute, otherwise the size would be wrong for i386 platform.
17744
17745 * include/grub/pci.h (grub_pci_read_word): New inline function.
17746 (grub_pci_read_byte): Likewise.
17747 (grub_pci_write): Likewise.
17748 (grub_pci_write_word): Likewise.
17749 (grub_pci_write_byte): Likewise.
17750
17751 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
17752
17753 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
17754 (find_framebuf): Scan pci to locate the frame buffer address.
17755
17756 * commands/efi/fixvideo.c: New file.
17757
17758 * commands/efi/loadbios.c: Likewise.
17759
17760 * commands/memrw.c: Likewise.
17761
17762 * util/grub-dumpbios.in: Likewise.
17763
17764 * conf/common.rmk (grub-dumpbios): New utility.
17765 (pkglib_MODULES): New module memrw.mod.
17766 (memrw_mod_SOURCE): New macro.
17767 (memrw_mod_CFLAGS): Likewise.
17768 (memrw_mod_LDFLAGS): Likewise.
17769
7dd4a573 17770 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17771 fixvideo.mod.
17772 (loadbios_mod_SOURCE): New macro.
17773 (loadbios_mod_CFLAGS): Likewise.
17774 (loadbios_mod_LDFLAGS): Likewise.
17775 (fixvideo_mod_SOURCE): Likewise.
17776 (fixvideo_mod_CFLAGS): Likewise.
17777 (fixvideo_mod_LDFLAGS): Likewise.
17778
7dd4a573 17779 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17780 fixvideo.mod.
17781 (loadbios_mod_SOURCE): New macro.
17782 (loadbios_mod_CFLAGS): Likewise.
17783 (loadbios_mod_LDFLAGS): Likewise.
17784 (fixvideo_mod_SOURCE): Likewise.
17785 (fixvideo_mod_CFLAGS): Likewise.
17786 (fixvideo_mod_LDFLAGS): Likewise.
17787
af63ada2 177882009-04-08 Felix Zielcke <fzielcke@z-51.de>
17789
17790 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
17791
c2cdde70 177922009-04-07 David S. Miller <davem@davemloft.net>
17793
17794 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
17795 support for R_SPARC_OLO10 relocations. Fix compile warning for
17796 R_SPARC_WDISP30 case.
ea3f72cf 17797 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 17798
761319cf 177992009-04-06 Pavel Roskin <proski@gnu.org>
17800
1007d1f5 17801 * include/grub/misc.h (ARRAY_SIZE): New macro.
17802 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
17803 New macro.
17804 * loader/i386/linux.c (allocate_pages): Use free_pages().
17805 (grub_linux_unload): Don't use free_pages().
17806 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
17807 wrong index. Treat all other modes as text modes.
17808 (grub_cmd_linux): Initialize vid_mode unconditionally to
17809 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
17810
761319cf 17811 * commands/help.c (print_command_help): Use cmd->prio, not
17812 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
17813
ea761d40 178142009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 17815
ea761d40 17816 Parttool
17817
17818 * parttool/pcpart.c: new file
17819 * commands/parttool.c: likewise
17820 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
17821 (parttool_mod_SOURCES): new variable
17822 (parttool_mod_CFLAGS): likewise
17823 (parttool_mod_LDFLAGS): likewise
17824 (pcpart_mod_SOURCES): likewise
17825 (pcpart_mod_CFLAGS): likewise
17826 (pcpart_mod_LDFLAGS): likewise
7dd4a573 17827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 17828 and parttool/pcpart.c
17829 * conf/i386-efi.rmk: likewise
17830 * conf/i386-ieee1275.rmk: likewise
17831 * conf/i386-pc.rmk: likewise
17832 * conf/powerpc-ieee1275.rmk: likewise
17833 * conf/sparc64-ieee1275.rmk: likewise
17834 * conf/x86_64-ieee1275.rmk: likewise
17835
05aaebfb 178362009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17837
17838 Support for mtime and further expandability of dir command
17839
17840 * include/grub/lib/datetime.h: moved to ...
7dd4a573 17841 * include/grub/datetime.h: ... moved here and added
05aaebfb 17842 declaration of grub_unixtime2datetime. All users updated
7dd4a573 17843 * include/grub/fs.h: new syntax for dir and mtime functions in
17844 struct grub_fs
05aaebfb 17845 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
17846 and GRUB_FSHELP_FLAGS_MASK
17847 * commands/ls.c (grub_ls_list_files): Write mtime in long format
17848 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
17849 (grub_ext2_mtime): new function
17850 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
17851 (grub_hfsplus_mtime): new function
17852 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
17853 (GRUB_UFS_ATTR_FILE): likewise
17854 (GRUB_UFS_ATTR_LNK): likewise
17855 (struct grub_ufs_sblock): new fields mtime
17856 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
17857 all users updated
17858 (grub_ufs_dir): mtime support
17859 (grub_ufs_mtime): new function
17860 * fs/affs.c (grub_affs_dir): use new dir syntax
17861 * fs/afs.c (grub_afs_dir): likewise
17862 * fs/cpio.c (grub_cpio_dir): likewise
17863 * fs/fat.c (grub_fat_find_dir): likewise
17864 * fs/hfs.c (grub_hfs_dir): likewise
17865 * fs/iso9660.c (grub_iso9660_dir): likewise
17866 * fs/jfs.c (grub_jfs_dir): likewise
17867 * fs/minix.c (grub_minix_dir): likewise
17868 * fs/ntfs.c (grub_ntfs_dir): likewise
17869 * fs/reiserfs.c (grub_reiserfs_dir): likewise
17870 * fs/sfs.c (grub_sfs_dir): likewise
17871 * fs/xfs.c (grub_xfs_dir): likewise
17872 * util/hostfs.c (grub_hostfs_dir): likewise
17873 * lib/datetime.c: moved to ...
17874 * normal/datetime.c: ... moved here
17875 (grub_unixtime2datetime): new function
17876 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 17877 * normal/completion.c (iterate_dir): use new dir syntax
17878 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 17879 last modification time of a volume
7dd4a573 17880 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 17881 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 17882 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 17883 (normal_mod_SOURCES): likewise
17884 (datetime_mod_SOURCES): Removed lib/datetime.c
17885 * conf/i386-efi.rmk: likewise
7dd4a573 17886 * conf/i386-ieee1275.rmk: likewise
05aaebfb 17887 * conf/i386-pc.rmk: likewise
17888 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17889 * conf/sparc64-ieee1275.rmk: likewise
17890 * conf/x86_64-efi.rmk: likewise
05aaebfb 17891
8a7e1a14 178922009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17893
17894 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 17895
17896 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 17897 on grub_fat_find_dir
17898 (grub_fat_find_dir): use grub_fat_iterate_dir
17899 (grub_fat_label): likewise
17900
04186a9c 179012009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17902
7dd4a573 17903 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 17904 and command.h
17905 remove extraneous kernel_elf_HEADERS
17906
da4c0bb6 179072009-04-04 Bean <bean123ch@gnail.com>
17908
17909 * include/grub/util/misc.h: Add dummy function fsync for mingw.
17910
17911 * util/misc.c: Likewise.
17912
54ad9555 179132009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
17914
17915 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
17916 instead of grub_printf.
17917
7a6bf9f2 179182009-04-03 Robert Millan <rmh@aybabtu.com>
17919
17920 * loader/i386/linux.c (grub_linux_setup_video): Fill
17921 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
17922 values from `mode info' structure instead of hardcoded
17923 values.
17924
3fcc2083 179252009-04-01 Pavel Roskin <proski@gnu.org>
17926
17927 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
17928 unused now.
17929 * genmk.rb: Likewise.
17930 * configure.ac: Likewise.
17931
5ec9740b 179322009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
17933
17934 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
17935 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
17936
5270cec8 179372009-04-01 David S. Miller <davem@davemloft.net>
17938
17939 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 17940 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 17941 (grub_setjmp): Mark with 'returns_twice' attribute.
17942 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
17943 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
17944 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
17945
9c3dd854 179462009-04-01 Robert Millan <rmh@aybabtu.com>
17947
17948 Reapply fix from 2008-07-28 which was accidentally reverted; also
17949 perform the same fix to a similar check in same function.
17950
17951 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17952 with the same number are found, just use issue a warning with
17953 grub_dprintf(), as this error has been reported to be non-fatal.
17954
0d818b7e 179552009-03-31 Pavel Roskin <proski@gnu.org>
17956
17957 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
17958 for cross-compilation.
17959
95646d92 179602009-03-30 Robert Millan <rmh@aybabtu.com>
17961
17962 Fix i386-ieee1275 build.
17963
17964 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
17965 Remove declaration.
17966
6a003ed1 179672009-03-30 Pavel Roskin <proski@gnu.org>
17968
17969 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
17970 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
17971 zero-terminated, rely only on the strlen value. Fix comparison
17972 of strings differing in length.
17973
92f33540 179742009-03-30 Robert Millan <rmh@aybabtu.com>
17975
17976 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
17977 checking for abi version. Improve error messages on BIOS to notify
17978 user about `linux16' command.
17979
a8c48fd5 179802009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17981
f968172e 17982 Leak fixes
a8c48fd5 17983
f968172e 17984 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
17985 in case of collision
17986 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 17987
9c323f09 179882009-03-29 Robert Millan <rmh@aybabtu.com>
17989
17990 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
17991 set `vid_mode' accordingly.
17992 (grub_linux_boot): Process `vid_mode' and set video mode.
17993
ae68f423 179942009-03-29 Robert Millan <rmh@aybabtu.com>
17995
17996 * util/grub.d/10_linux.in (linux_entry): New function.
17997 Factorize generation of Linux boot entries.
17998
5709cfc4 179992009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
18000
18001 Make the format of Environment Block plain text. The boot loader
18002 part is not tested well yet.
7dd4a573 18003
5709cfc4 18004 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
18005 (buffer): Removed.
18006 (envblk): Likewise.
18007 (usage): Remove "info" and "clear". Add "unset". Update the
18008 description of "set", as this does not delete variables any
18009 longer.
18010 (create_envblk_file): Complete rewrite.
18011 (open_envblk_file): Likewise.
18012 (cmd_info): Removed.
18013 (cmd_list): Likewise.
18014 (cmd_set): Likewise.
18015 (cmd_clear): Likewise.
18016 (list_variables): New function.
18017 (write_envblk): Likewise.
18018 (set_variables): Likewise.
18019 (unset_variables): Likewise.
18020 (main): Complete rewrite.
18021
18022 * commands/loadenv.c (buffer): Removed.
18023 (envblk): Likewise.
18024 (open_envblk_file): New function.
18025 (read_envblk_file): Complete rewrite.
18026 (grub_cmd_load_env): Likewise.
18027 (grub_cmd_list_env): Likewise.
18028 (struct blocklist): New struct.
18029 (free_blocklists): New function.
18030 (check_blocklists): Likewise.
18031 (write_blocklists): Likewise.
18032 (grub_cmd_save_env): Complete rewrite.
18033
18034 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
18035 a plain text signature.
18036 (GRUB_ENVBLK_MAXLEN): Removed.
18037 (struct grub_envblk): Complete rewrite.
18038 (grub_envblk_find): Removed.
18039 (grub_envblk_insert): Likewise.
18040 (grub_envblk_open): New prototype.
18041 (grub_envblk_set): Likewise.
18042 (grub_envblk_delete): Put const to VALUE.
18043 (grub_envblk_iterate): Put const to NAME and VALUE.
18044 (grub_envblk_close): New prototype.
18045 (grub_envblk_buffer): New inline function.
18046 (grub_envblk_size): Likewise.
18047
18048 * lib/envblk.c: Include grub/mm.h.
18049 (grub_env_find): Removed.
18050 (grub_envblk_open): New function.
18051 (grub_envblk_close): Likewise.
18052 (escaped_value_len): Likewise.
18053 (find_next_line): Likewise.
18054 (grub_envblk_insert): Removed.
18055 (grub_envblk_set): New function.
18056 (grub_envblk_delete): Complete rewrite.
18057 (grub_envblk_iterate): Likewise.
18058
a9368fd3 180592009-03-28 Robert Millan <rmh@aybabtu.com>
18060
18061 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
18062 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
18063 variables. Use 16-bit loader.
18064 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
18065 loader.
18066 * kern/i386/loader.S (grub_linux_boot): Rename to ...
18067 (grub_linux16_boot): ... this. Update all users.
18068 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
18069 (grub_linux_boot): ... this. Update all users.
18070
18071 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
18072 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
18073 commands to `linux16' and `initrd16'.
18074 (GRUB_MOD_FINI(linux)): Rename to ...
18075 (GRUB_MOD_FINI(linux16)): ... this.
18076
e4dd5a7e 180772009-03-24 Pavel Roskin <proski@gnu.org>
18078
18079 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
18080 not just for compilation.
18081
c04d6e05 180822009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
18083
18084 Move multiboot helper out of kernel
18085
18086 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
18087 `loader/i386/multiboot_helper.S'.
18088 * conf/i386-coreboot.rmk: Likewise
18089 * conf/i386-ieee1275.rmk: Likewise
18090
18091 * kern/i386/loader.S: Move multiboot helpers from here...
18092 * loader/i386/multiboot_helper.S: ...moved here
18093 * include/grub/i386/loader.h: Move declarations of multiboot
18094 helpers from here...
18095 * include/grub/i386/multiboot.h: ...moved here
18096 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
18097
42a5b3fc 180982009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18099
18100 * kern/env.c (grub_env_context_open): Added an argument to specify
18101 whether a new context inherits exported variables from current
18102 one. This is useful when making a sandbox to interpret a config
18103 file.
18104 All callers updated.
18105
18106 * include/grub/env.h (grub_env_context_open): Updated the prototype.
18107
b28bbc4e 181082009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18109
18110 * kern/env.c (grub_env_context_close): Fix memory leaks.
18111
f04f02e4 181122009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18113
18114 * normal/main.c (grub_normal_execute): Added an argument
18115 BATCH to specify if an interactive interface should be provided
18116 after reading a config file.
18117 All callers updated.
18118 (read_command_list): Prevent being executed twice.
18119 (read_fs_list): Likewise.
18120
42a5b3fc 18121 * include/grub/normal.h (grub_normal_execute): Updated the
18122 prototype.
f04f02e4 18123
41473ac2 181242009-03-22 Pavel Roskin <proski@gno.org>
18125
fbc00b0c 18126 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
18127 _start.
18128 * kern/i386/pc/startup.S: Likewise.
18129 * kern/i386/efi/startup.S: Likewise.
18130 * kern/i386/ieee1275/startup.S: Likewise.
18131 * kern/i386/coreboot/startup.S: Likewise.
18132 * kern/x86_64/efi/startup.S: Likewise.
18133
41473ac2 18134 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
18135 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
18136 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
18137
2274cc8f 181382009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 Bugfixes in multiboot for bugs uncovered by solaris kernel.
18141
18142 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
18143 limit detection.
18144 Use vaddr of correct segment for entry_point.
18145
b1b797cb 181462009-03-21 Bean <bean123ch@gmail.com>
18147
18148 * commands/blocklist.c: Add include file <grub/command.h>, remove
18149 <grub/normal.h> and <grub/arg.h>.
18150 (grub_cmd_blocklist): Use the new command interface.
18151 (GRUB_MOD_INIT): Likewise.
18152 (GRUB_MOD_FINI): Likewise.
18153 * commands/boot.c: Likewise.
18154 * commands/cat.c: Likewise.
18155 * commands/cmp.c: Likewise.
18156 * commands/configfile.c: Likewise.
18157 * commands/crc.c: Likewise.
18158 * commands/echo.c: Likewise.
18159 * commands/halt.c: Likewise.
18160 * commands/handler.c: Likewise.
18161 * commands/hdparm.c: Likewise.
18162 * commands/help.c: Likewise.
18163 * commands/hexdump.c: Likewise.
18164 * commands/loadenv.c: Likewise.
18165 * commands/ls.c: Likewise.
18166 * commands/lsmmap.c: Likewise.
18167 * commands/lspci.c: Likewise.
18168 * commands/loadenv.c: Likewise.
18169 * commands/read.c: Likewise.
18170 * commands/reboot.c: Likewise.
18171 * commands/search.c: Likewise.
18172 * commands/sleep.c: Likewise.
18173 * commands/test.c: Likewise.
18174 * commands/usbtest.c: Likewise.
18175 * commands/videotest.c: Likewise.
18176 * commands/i386/cpuid.c: Likewise.
18177 * commands/i386/pc/halt.c: Likewise.
18178 * commands/i386/pc/play.c: Likewise.
18179 * commands/i386/pc/pxecmd.c: Likewise.
18180 * commands/i386/pc/vbeinfo.c: Likewise.
18181 * commands/i386/pc/vbetest.c: Likewise.
18182 * commands/ieee1275/suspend.c: Likewise.
18183 * disk/loopback.c: Likewise.
18184 * font/font_cmd.c: Likewise.
18185 * hello/hello.c: Likewise.
18186 * loader/efi/appleloader.c: Likewise.
18187 * loader/efi/chainloader.c: Likewise.
18188 * loader/i386/bsd.c: Likewise.
18189 * loader/i386/efi/linux.c: Likewise.
18190 * loader/i386/ieee1275/linux.c: Likewise.
18191 * loader/i386/linux.c: Likewise.
18192 * loader/i386/pc/chainloader.c: Likewise.
18193 * loader/i386/pc/linux.c: Likewise.
18194 * loader/powerpc/ieee1275/linux.c: Likewise.
18195 * loader/multiboot_loader.c: Likewise.
18196 * term/gfxterm.c: Likewise.
18197 * term/i386/pc/serial.c: Likewise.
18198 * term/terminfo.c: Likewise.
18199
18200 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
18201 * term/i386/pc/vga.c: Likewise.
18202 * video/readers/jpeg.c: Likewise.
18203 * video/readers/png.c: Likewise.
18204 * video/readers/tga.c: Likewise.
18205
18206 * util/grub-fstest (cmd_loopback): Removed.
18207 (cmd_blocklist): Likewise.
18208 (cmd_ls): Likewise.
18209 (grub_register_command): Likewise.
18210 (grub_unregister_command): Likewise.
18211 (execute_command): Use grub_command_find to locate command and execute
18212 it.
18213
18214 * include/grub/efi/chainloader.h: Removed.
18215 * loader/efi/chainloader_normal.c: Likewise.
18216 * loader/i386/bsd_normal.c: Likewise.
18217 * loader/i386/pc/chainloader_normal.c: Likewise.
18218 * loader/i386/pc/multiboot_normal.c: Likewise.
18219 * loader/linux_normal.c: Likewise.
18220 * loader/multiboot_loader_normal.c: Likewise.
18221 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18222
18223 * gencmdlist.sh: Scan new registration command grub_register_extcmd
18224 and grub_register_command_p1.
18225
18226 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
18227 kern/command.c, lib/arg.c and commands/extcmd.c.
18228 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
18229 (minicmd_mod_SOURCES): New variable.
18230 (minicmd_mod_CFLAGS): Likewise.
18231 (minicmd_mod_LDFLAGS): Likewise.
18232 (extcmd_mod_SOURCES): Likewise.
18233 (extcmd_mod_CFLAGS): Likewise.
18234 (extcmd_mod_LDFLAGS): Likewise.
18235 (boot_mod_SOURCES): Removed.
18236 (boot_mod_CFLAGS): Likewise.
18237 (boot_mod_LDFLAGS): Likewise.
18238
18239 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
18240 kern/corecmd.c.
18241 (kernel_img_HEADERS): Add command.h.
18242 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
18243 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
18244 and lib/arg.c.
18245 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
18246 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
18247 remove the corresponding normal mode command.
18248 (normal_mod_SOURCES): Remove normal/arg.c.
18249 * conf/i386-coreboot.rmk: Likewise.
18250 * conf/i386-efi.rmk: Likewise.
18251 * conf/i386-ieee1275.rmk: Likewise.
18252 * conf/powerpc-ieee1275.rmk: Likewise.
18253 * conf/x86_64-efi.rmk: Likewise.
18254
18255 * include/grub/arg.h: Move from here ...
18256 * include/grub/lib/arg.h: ... to here.
18257
18258 * normal/arg.c: Move from here ...
18259 * lib/arg.c: ... to here.
18260
18261 * commands/extcmd.c: New file.
18262 * commands/minicmd.c: Likewise.
18263 * include/grub/command.h: Likewise.
18264 * include/grub/extcmd.h: Likewise.
18265 * kern/command.c: Likewise.
18266 * kern/corecmd.c: Likewise.
18267
18268 * kern/list.c (grub_list_iterate): Return int instead of void.
18269 (grub_list_insert): New function.
18270 (grub_prio_list_insert): Likewise.
18271
18272 * kern/rescue.c (grub_rescue_command): Removed.
18273 (grub_rescue_command_list): Likewise.
18274 (grub_rescue_register_command): Likewise.
18275 (grub_rescue_unregister_command): Likewise.
18276 (grub_rescue_cmd_boot): Move to minicmd.c
18277 (grub_rescue_cmd_help): Likewise.
18278 (grub_rescue_cmd_info): Likewise.
18279 (grub_rescue_cmd_boot): Likewise.
18280 (grub_rescue_cmd_testload): Likewise.
18281 (grub_rescue_cmd_dump): Likewise.
18282 (grub_rescue_cmd_rmmod): Likewise.
18283 (grub_rescue_cmd_lsmod): Likewise.
18284 (grub_rescue_cmd_exit): Likewise.
18285 (grub_rescue_print_devices): Moved to corecmd.c.
18286 (grub_rescue_print_files): Likewise.
18287 (grub_rescue_cmd_ls): Likewise.
18288 (grub_rescue_cmd_insmod): Likewise.
18289 (grub_rescue_cmd_set): Likewise.
18290 (grub_rescue_cmd_unset): Likewise.
7d074e3c 18291 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 18292 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 18293 commands, remove grub_rescue_register_command calls.
b1b797cb 18294
7d074e3c 18295 * normal/command.c (grub_register_command): Removed.
b1b797cb 18296 (grub_unregister_command): Likewise.
18297 (grub_command_find): Likewise.
18298 (grub_iterate_commands): Likewise.
18299 (rescue_command): Likewise.
18300 (export_command): Moved to corecmd.c.
18301 (set_command): Removed.
18302 (unset_command): Likewise.
18303 (insmod_command): Likewise.
18304 (rmmod_command): Likewise.
18305 (lsmod_command): Likewise.
18306 (grub_command_init): Likewise.
18307
18308 * normal/completion.c (iterate_command): Use cmd->prio to check for
18309 active command.
18310 (complete_arguments): Use grub_extcmd_t structure to find options.
18311 (grub_normal_do_completion): Change function grub_iterate_commands to
18312 grub_command_iterate.
18313
18314 * normal/execute.c (grub_script_execute_cmd): No need to parse
18315 argument here.
18316
18317 * normal/main.c (grub_dyncmd_dispatcher): New function.
18318 (read_command_list): Register unload commands as dyncmd.
18319 (grub_cmd_normal): Use new command interface, register rescue,
18320 unregister normal at entry, register normal, unregister rescue at exit.
18321
18322 * include/grub/list.h (grub_list_test_t): New type.
18323 (grub_list_iterate): Return int instead of void.
18324 (grub_list_insert): New function.
18325 (GRUB_AS_NAMED_LIST_P): New macro.
18326 (GRUB_AS_PRIO_LIST): Likewise.
18327 (GRUB_AS_PRIO_LIST_P): Likewise.
18328 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
18329 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
18330 (grub_prio_list): New structure.
18331 (grub_prio_list_insert): New function.
18332 (grub_prio_list_remove): New inline function.
18333
18334 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
18335 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
18336 (GRUB_COMMAND_FLAG_MENU): Likewise.
18337 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18338 (GRUB_COMMAND_FLAG_TITLE): Likewise.
18339 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18340 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
18341 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
18342 (grub_command): Likewise.
18343 (grub_register_command): Likewise.
18344 (grub_command_find): Likewise.
18345 (grub_iterate_commands): Likewise.
18346 (grub_command_init): Likewise.
18347 (grub_arg_parse): Likewise.
18348 (grub_arg_show_help): Likewise.
18349
18350 * include/grub/rescue.h (grub_rescue_register_command): Removed.
18351 (grub_rescue_unregister_command): Likewise.
18352
18353 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
18354 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
18355 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
18356
18357 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
18358 grub_rescue_cmd_initrd.
18359 * include/grub/i386/loader.h: Likewise.
18360 * include/grub/x86_64/loader.h: Likewise.
18361
18362 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
18363
1f4147aa 183642009-03-21 Bean <bean123ch@gmail.com>
18365
18366 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
18367 instead of stat in mingw environment.
18368
18369 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
18370
18371 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
18372
18373 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
18374 AC_CONFIG_LINKS.
18375
2156d5ba 183762009-03-21 Bean <bean123ch@gmail.com>
18377
18378 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
18379 out of range error.
18380
177b82ca 183812009-03-18 Michel Dänzer <michel@daenzer.net>
18382
18383 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
18384 checking inode flags for EXT4_EXTENTS_FLAG.
18385
14aad807 183862009-03-18 Robert Millan <rmh@aybabtu.com>
18387
18388 * loader/i386/linux.c: Include `<grub/video.h>' and
18389 `<grub/i386/pc/vbe.h>'..
18390 (grub_linux_setup_video): New function. Loosely based on the EFI one.
18391 (grub_linux32_boot): Attempt to configure video settings with
18392 grub_linux_setup_video().
18393 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
18394 to avoid grub_console_fini() which would step out of graphical mode
18395 unconditionally.
18396
8cf83a27 183972009-03-14 Robert Millan <rmh@aybabtu.com>
18398
18399 Fix build on powerpc.
18400 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
18401
40164e75 184022009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
18405 background image command.
18406
c58bc32a 184072009-03-12 Colin D Bennett <colin@gibibit.com>
18408
18409 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
18410 (grub_gfxterm_putchar): Extract pairs of identical calls to
18411 draw_cursor out of conditional blocks.
18412
5415144a 184132009-03-11 Pavel Roskin <proski@gnu.org>
18414
18415 * fs/hfs.c (grub_hfs_strncasecmp): New function.
18416 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
18417
6394042e 184182009-03-11 Robert Millan <rmh@aybabtu.com>
18419
18420 * loader/i386/multiboot_elfxx.c
18421 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
18422
b7b50e5f 184232009-03-11 Felix Zielcke <fzielcke@z-51.de>
18424
18425 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
18426 `kern/handler.c'.
18427
1ca7fc96 184282009-03-11 Robert Millan <rmh@aybabtu.com>
18429
18430 * loader/i386/multiboot.c (code_size): New variable.
18431 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 18432 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 18433 4-byte alignment to MBI and others by increasing
7d074e3c 18434 `boot_loader_name_length' appropriately.
1ca7fc96 18435
18436 * loader/i386/multiboot_elfxx.c
18437 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
18438
a83ea1d2 184392009-03-09 Felix Zielcke <fzielcke@z-51.de>
18440
18441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
18442 `fs/ext2.c'.
18443
aa9f3bff 184442009-03-08 Robert Millan <rmh@aybabtu.com>
18445
18446 Make loader/i386/linux.c usable on i386-pc again.
18447
18448 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
18449 memory to heap.
18450 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
18451 `#error' stanza.
18452
d8b3b60e 184532009-03-07 Bean <bean123ch@gmail.com>
18454
18455 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
18456 allocation.
18457
b362c9e9 184582009-03-06 Robert Millan <rmh@aybabtu.com>
18459
18460 Fix display issue on terminals with screen size other than 80x25
18461 (e.g. gfxterm with resolution higher than 640x480).
18462
18463 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 18464 position relative to the center of the terminal instead of relying
b362c9e9 18465 on a hardcoded offset.
18466
9304eef1 184672009-03-04 Robert Millan <rmh@aybabtu.com>
18468
18469 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
18470 installed.
18471
18472 * Makefile.in (host_kernel): New variable.
18473 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
18474 scripts instead of just the windows one.
18475 * configure.ac: Initialize and AC_SUBST `host_kernel'.
18476
eabc95fb 184772009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 18478
18479 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
18480 `kern/handler.c'.
18481 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18482 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18483 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18485 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18486 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18487
ceb1223c 184882009-03-04 Felix Zielcke <fzielcke@z-51.de>
18489
18490 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
18491 or if there's no space for the disk label and print the partition number on a
18492 invalid magic.
18493
4910684a 184942009-03-04 Felix Zielcke <fzielcke@z-51.de>
18495
18496 * util/misc.c: Include <time.h>.
18497 (grub_millisleep): New function.
18498
7e9ca17a 184992009-03-04 Bean <bean123ch@gmail.com>
18500
18501 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
18502 another option -mno-red-zone.
18503
18504 * commands/handler.c: Change module description.
18505
18506 * kern/handler.c: Add missing space at the end of description line.
18507
18508 * kern/list.c: Likewise.
18509
f501677c 185102009-03-03 Robert Millan <rmh@aybabtu.com>
18511
18512 Move more components to the relocation area, and fix mbi pointer
18513 handling to use the destination rather than the origin (thanks to
18514 Vladimir Serbinenko for spotting).
18515
18516 * loader/i386/multiboot.c (mbi_dest): New variable.
18517 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
18518 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
18519 relocation area.
18520
9902d047 185212009-03-01 Bean <bean123ch@gmail.com>
18522
50fb7002 18523 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 18524 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
18525 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
18526 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
18527
18528 * loader/i386/efi/linux.c (acpi_guid): New variable.
18529 (acpi_guid): Likewise.
18530 (EBDA_SEG_ADDR): New constant.
18531 (LOW_MEM_ADDR): Likewise.
18532 (FAKE_EBDA_SEG): Likewise.
18533 (fake_bios_data): New function.
18534 (grub_linux_boot): Call fake_bios_data.
18535
71b9f361 185362009-03-01 Bean <bean123ch@gmail.com>
18537
18538 * commands/terminal.c: Removed.
18539
18540 * commands/handler.c: New file.
18541
18542 * include/grub/list.h: Likewise.
18543
18544 * include/grub/handler.h: Likewise.
18545
18546 * kern/list.c: Likewise.
18547
18548 * kern/handler.c: Likewise.
18549
18550 * kern/term.h: Include header file <grub/handler.h>.
18551 (grub_term_input): Move next field to the beginning.
18552 (grub_term_output): Likewise.
18553 (grub_term_input_class): New variable.
18554 (grub_term_output_class): Likewise.
18555 (grub_term_register_input): Changed to inline function.
18556 (grub_term_register_output): Likewise.
18557 (grub_term_unregister_input): Likewise.
18558 (grub_term_unregister_output): Likewise.
18559 (grub_term_set_current_input): Likewise.
18560 (grub_term_set_current_output): Likewise.
18561 (grub_term_get_current_input): Likewise.
18562 (grub_term_get_current_output): Likewise.
18563 (grub_term_iterate_input): Removed.
18564 (grub_term_iterate_output): Likewise.
18565
18566 * kern/term.c (grub_term_list_input): Removed.
18567 (grub_term_list_output): Likewise.
18568 (grub_term_input_class): New variable.
18569 (grub_term_output_class): Likewise.
50fb7002 18570 (grub_cur_term_input): Change variable as macro.
71b9f361 18571 (grub_cur_term_output): Likewise.
18572 (grub_term_register_input): Removed.
18573 (grub_term_register_output): Likewise.
18574 (grub_term_unregister_input): Likewise.
18575 (grub_term_unregister_output): Likewise.
18576 (grub_term_set_current_input): Likewise.
18577 (grub_term_set_current_output): Likewise.
18578 (grub_term_iterate_input): Likewise.
18579 (grub_term_iterate_output): Likewise.
18580 (grub_term_get_current_input): Likewise.
18581 (grub_term_get_current_output): Likewise.
18582
18583 * util/grub-editenv.c: Include header file <grub/handler.h>.
18584 (grub_term_get_current_input): Removed.
18585 (grub_term_get_current_output): Likewise.
18586 (grub_term_input_class): New variable.
50fb7002 18587 (grub_term_output_class): Likewise.
71b9f361 18588
18589 * util/grub-fstest.c (grub_term_get_current_input): Removed.
18590 (grub_term_get_current_output): Likewise.
18591 (grub_term_input_class): New variable.
50fb7002 18592 (grub_term_output_class): Likewise.
71b9f361 18593
18594 * util/grub-probe.c (grub_term_get_current_input): Removed.
18595 (grub_term_get_current_output): Likewise.
18596 (grub_term_input_class): New variable.
50fb7002 18597 (grub_term_output_class): Likewise.
71b9f361 18598
18599 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
18600 (grub_term_get_current_output): Likewise.
18601 (grub_term_input_class): New variable.
50fb7002 18602 (grub_term_output_class): Likewise.
71b9f361 18603
18604 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
18605 (terminal_mod_SOURCES): Likewise.
18606 (terminal_mod_CFLAGS): Likewise.
18607 (terminal_mod_LDFLAGS): Likewise.
18608
18609 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
18610 handler.c.
18611 (kernel_img_SOURCES): Add list.c and handler.c.
18612 (kernel_img_HEADERS): Add list.h and handler.h.
18613
18614 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18615 handler.c.
18616 (kernel_mod_SOURCES): Add list.c and handler.c.
18617 (kernel_mod_HEADERS): Add list.h and handler.h.
18618
18619 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
18620 handler.c.
18621 (kernel_elf_SOURCES): Add list.c and handler.c.
18622 (kernel_elf_HEADERS): Add list.h and handler.h.
18623
18624 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18625 handler.c.
18626 (kernel_elf_SOURCES): Add list.c and handler.c.
18627 (kernel_elf_HEADERS): Add list.h and handler.h.
18628
18629 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18630 handler.c.
18631 (kernel_mod_SOURCES): Add list.c and handler.c.
18632 (kernel_mod_HEADERS): Add list.h and handler.h.
18633
18634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18635 handler.c.
18636 (kernel_elf_SOURCES): Add list.c and handler.c.
18637 (kernel_elf_HEADERS): Add list.h and handler.h.
18638
8a31787f 186392009-02-27 Robert Millan <rmh@aybabtu.com>
18640
18641 Factorize elf32 / elf64 code in Multiboot loader. This will
18642 prevent it from getting out of sync again.
18643
18644 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
18645 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
18646 grub_multiboot_load_elf64): Move from here ...
18647 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
18648 grub_multiboot_load_elf): ... to here (new file).
18649
51cd3dfc 186502009-02-27 Robert Millan <rmh@aybabtu.com>
18651
18652 * util/grub.d/10_linux.in: Rename "single-user mode" to
18653 "recovery mode".
18654
6e8c9c3a 186552009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
18656
18657 Don't leak in SCSI code.
18658 * disk/scsi.c (grub_scsi_close): free `scsi'.
18659
4b6bf4f9 186602009-02-27 Robert Millan <rmh@aybabtu.com>
18661
18662 * loader/i386/pc/multiboot.c: Move from here ...
18663 * loader/i386/multiboot.c: ... to here. Update all users.
18664
b9413424 186652009-02-27 Robert Millan <rmh@aybabtu.com>
18666
18667 Patch from Alexandre Bique <bique.alexandre@gmail.com>
18668 * util/i386/pc/grub-setup.c (setup): Fix directory path.
18669
50fb7002 186702009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 18671
18672 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
18673 b-tree.
18674
8cc50345 186752009-02-27 Robert Millan <rmh@aybabtu.com>
18676
18677 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
18678 `0x' qualifier as 0 when base is specified as parameter).
18679
6e09b8b7 186802009-02-24 Bean <bean123ch@gmail.com>
18681
18682 * configure.ac: Check for -mcmodel=large in x86_64 target.
18683
18684 * include/grub/efi/api.h (efi_call_10): New macro.
18685 (efi_wrap_10): New function.
18686
18687 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
18688 (GRUB_PE32_REL_BASED_HIGH): Likewise.
18689 (GRUB_PE32_REL_BASED_LOW): Likewise.
18690 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
18691 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
18692 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
18693 (GRUB_PE32_REL_BASED_SECTION): Likewise.
18694 (GRUB_PE32_REL_BASED_REL): Likewise.
18695 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
18696 (GRUB_PE32_REL_BASED_DIR64): Likewise.
18697 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
18698
18699 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
18700 issue.
18701
18702 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
18703 (efi_wrap_10): New function.
18704
18705 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
18706
18707 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
18708 MB/MBP model (NV chipset).
18709 (devdata_devs): Add devpath_5 to the list.
18710
18711 * load/i386/efi/linux.c (video_base): Remove variable.
18712 (RGB_MASK): New macro.
18713 (RGB_MAGIC): Likewise.
18714 (LINE_MIN): Likewise.
18715 (LINE_MAX): Likewise.
18716 (FBTEST_STEP): Likewise.
18717 (FBTEST_COUNT): Likewise.
18718 (fb_list): New variable.
18719 (grub_find_video_card): Remove function.
18720 (find_framebuf): New function.
18721 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
18722 line length.
18723
18724 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
18725 problem for x86_64.
18726
74b21bee 187272009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
18728
18729 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
18730
18731 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
18732 coding tool name.
18733
a455f472 187342009-02-22 Robert Millan <rmh@aybabtu.com>
18735
18736 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
18737 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
18738 in our relocation, instead of using it directly from heap. Also
18739 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
18740
6374daf3 187412009-02-21 Robert Millan <rmh@aybabtu.com>
18742
18743 Implement USB keyboard support (based on patch by Marco Gerards)
18744
18745 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
18746 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
18747 (usb_keyboard_mod_LDFLAGS): New variables.
18748
18749 * term/usb_keyboard.c: New file.
18750
8fa4ea70 187512009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18752
18753 Corrected wrong declaration
18754
18755 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
18756
353976ac 187572009-02-14 Christian Franke <franke@computer.org>
18758
18759 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
18760 (grub_lspci_iter): Print class code and programming interface byte.
18761
6aa1169b 187622009-02-14 Christian Franke <franke@computer.org>
18763
18764 * gendistlist.sh: Ignore `.svn' directories.
18765
265372ca 187662009-02-14 Felix Zielcke <fzielcke@z-51.de>
18767
18768 * fs/fat.c: Add 2009 to Copyright line.
18769
9ff516f3 187702009-02-14 Christian Franke <franke@computer.org>
18771
18772 * commands/hdparm.c: New file. Provides `hdparm' command
18773 which sends ATA commands via grub_disk_ata_pass_through ().
18774
18775 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
18776
18777 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
18778 and <grub/cpu/io.h> to include/grub/ata.h.
18779 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
18780 (GRUB_CDROM_SECTOR_SIZE): Remove.
18781 (GRUB_ATA_*): Move to include/grub/ata.h.
18782 (GRUB_ATAPI_*): Likewise.
18783 (enum grub_ata_commands): Likewise.
18784 (enum grub_ata_timeout_milliseconds): Likewise.
18785 (struct grub_ata_device): Likewise.
18786 (grub_ata_regset): Likewise.
18787 (grub_ata_regget): Likewise.
18788 (grub_ata_regset2): Likewise.
18789 (grub_ata_regget2): Likewise.
18790 (grub_ata_check_ready): Likewise.
18791 (grub_ata_wait_not_busy): Remove static, exported in
18792 include/grub/ata.h.
18793 (grub_ata_wait_drq): Likewise.
18794 (grub_ata_pio_read): Likewise.
18795
18796 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
18797 function for hdparm.mod.
18798
18799 * include/grub/ata.h: New file, contains declarations from
18800 disk/ata.c.
18801 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
18802
18803 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
18804 (grub_disk_ata_pass_through): New exported variable.
18805
18806 * kern/disk.c (grub_disk_ata_pass_through): New variable.
18807
772e23da 188082009-02-13 Colin D Bennett <colin@gibibit.com>
18809
18810 Support multiple fallback entries, and provide an API to support
18811 executing default+fallback menu entries. Renamed the `terminal' menu
18812 viewer to `text'.
18813
18814 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
18815 variable declaration.
18816 (grub_menu_execute_callback): New structure declaration.
18817 (grub_menu_execute_callback_t): New typedef.
18818 (grub_menu_execute_with_fallback): New function declaration.
18819 (grub_menu_get_entry): Likewise.
18820 (grub_menu_get_timeout): Likewise.
18821 (grub_menu_set_timeout): Likewise.
18822
18823 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
18824
18825 * normal/menu.c (grub_wait_after_message): Moved to
18826 `normal/menu_text.c'.
18827 (draw_border): Likewise.
18828 (print_message): Likewise.
18829 (print_entry): Likewise.
18830 (print_entries): Likewise.
18831 (grub_menu_init_page): Likewise.
18832 (get_entry_number): Likewise.
18833 (print_timeout): Likewise.
18834 (run_menu): Likewise.
18835 (grub_menu_execute_entry): Likewise.
18836 (show_text_menu): Likewise.
18837 (get_and_remove_first_entry_number): New function.
18838 (grub_menu_execute_with_fallback): Likewise.
18839 (get_entry): Renamed to ...
18840 (grub_menu_get_entry): .. this and made it global.
18841 (get_timeout): Renamed to ...
18842 (grub_menu_get_timeout): ... this and made it global.
18843 (set_timeout): Renamed to ...
18844 (grub_menu_set_timeout): ... this and made it global.
18845 (grub_normal_terminal_menu_viewer): Renamed to ...
18846 (grub_normal_text_menu_viewer): ... this.
18847
18848 * normal/menu_text.c: New file. Extracted text-menu-specific code
18849 from normal/menu.c.
18850
18851 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
18852 (normal_mod_SOURCES): Likewise.
18853
18854 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18855 (normal_mod_SOURCES): Likewise.
18856
18857 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18858 (normal_mod_SOURCES): Likewise.
18859
18860 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
18861 (normal_mod_SOURCES): Likewise.
18862
18863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18864 (normal_mod_SOURCES): Likewise.
18865
18866 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18867 (normal_mod_SOURCES): Likewise.
18868
18869 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18870 (normal_mod_SOURCES): Likewise.
18871
16ac430e 188722009-02-11 Robert Millan <rmh@aybabtu.com>
18873
18874 * util/grub.d/00_header.in: Update old reference to `font' command.
18875
06ff20fc 188762009-02-10 Felix Zielcke <fzielcke@z-51.de>
18877
18878 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
18879
18880 Based on patch from Javier Martín.
18881
96da9407 188822009-02-09 Felix Zielcke <fzielcke@z-51.de>
18883
18884 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 18885 to avoid false positives with FAT.
96da9407 18886 (grub_fstest_SOURCES): Likewise.
18887 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18888 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18890 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18891 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18892 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18893
6dca6fe4 188942009-02-09 Felix Zielcke <fzielcke@z-51.de>
18895
06ff20fc 18896 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 18897 bpb.version_specific.fat12_or_fat16.fstype and
18898 bpb.version_specific.fat32.fstype.
18899
2550c62f 189002009-02-08 Robert Millan <rmh@aybabtu.com>
18901
be110b30 18902 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 18903
56978920 189042009-02-08 Robert Millan <rmh@aybabtu.com>
18905
18906 * Makefile.in (host_os, host_cpu): New variables.
18907 (target_os): Remove. Update all users.
18908
d64399b5 189092009-02-08 Marco Gerards <marco@gnu.org>
18910
18911 * Makefile.in (enable_grub_emu_usb): New variable.
18912 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
18913 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
18914 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
18915 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
18916 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
18917 `usbtest.mod' and `usbms.mod'.
18918 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
18919 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
18920 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
18921 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
18922 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
18923 variables.
18924
18925 * disk/usbms.c: New file.
18926
18927 * include/grub/usb.h: Likewise.
18928
18929 * include/grub/usbtrans.h: Likewise.
18930
18931 * include/grub/usbdesc.h: Likewise.
18932
18933 * bus/usb/usbtrans.c: Likewise.
18934
18935 * bus/usb/ohci.c: Likewise.
18936
18937 * bus/usb/uhci.c: Likewise.
18938
18939 * bus/usb/usbhub.c: Likewise.
18940
18941 * bus/usb/usb.c: Likewise.
18942
18943 * commands/usbtest.c: Likewise.
18944
18945 * util/usb.c: Likewise.
50fb7002 18946
d64399b5 18947 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
18948
18949 * configure.ac: Test for libusb presence.
50fb7002 18950
d64399b5 18951 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
18952
2b40d6bb 189532009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
18954
18955 * kern/mm.c: Add more comments.
18956
73a4ce81 189572009-02-08 Robert Millan <rmh@aybabtu.com>
18958
18959 Patch from Javier Martín.
18960 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
18961 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
18962
f821ce59 189632009-02-08 Robert Millan <rmh@aybabtu.com>
18964
18965 * fs/cpio.c: Split tar functionality to ...
18966 * fs/tar.c: ... here (new file). Update all users.
18967
aebfc4b0 189682009-02-07 Robert Millan <rmh@aybabtu.com>
18969
18970 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
18971 backward-incompatible features.
18972
18973 Based on patch from Javier Martín, with some adjustments.
18974
50fb7002 189752009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 18976
18977 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
18978
0bb5115e 189792009-02-07 Robert Millan <rmh@aybabtu.com>
18980
18981 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
18982 position of `disk/lvm.c' to ensure grub_init_all() always picks it
18983 after the RAID stuff.
18984
38a0f8e7 189852009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
18986
50fb7002 18987 Fixes problem when running vbetest command as reported by
38a0f8e7 18988 Vladimir Serbinenko <phcoder@gmail.com>.
18989
18990 * (grub_vbe_set_video_mode): Fixed problem with text modes.
18991
3143cc1c 189922009-02-04 Felix Zielcke <fzielcke@z-51.de>
18993
18994 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
18995 /dev/md/NpN style mdraid devices.
18996
9cba6fce 189972009-02-03 Felix Zielcke <fzielcke@z-51.de>
18998
18999 * util/unifont2pff.rb: Remove.
19000
e507a2c1 190012009-02-03 Felix Zielcke <fzielcke@z-51.de>
19002
19003 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
19004 `#'.
19005
d2c2b4cd 190062009-02-03 Felix Zielcke <fzielcke@z-51.de>
19007
19008 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
19009 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19010 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19011 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19013 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19014 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19015
b4315fb0 190162009-02-02 Christian Franke <franke@computer.org>
19017
19018 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
19019
de3aa260 190202009-02-01 Felix Zielcke <fzielcke@z-51.de>
19021
7c3ff286 19022 * INSTALL: Note that we now require at least autoconf 2.59 and
19023 that LZO is optional.
de3aa260 19024
825a182b 190252009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19026
19027 Base on patch on bug #24154 created by Tomas Tintera
19028 <trosos@seznam.cz>.
19029
19030 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
19031
a69ef770 190322009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19033
7c3ff286 19034 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 19035 <bero@arklinux.org>.
19036
19037 * normal/parser.y (script_init): Add missing semicolon.
19038
6fa42fa6 190392009-01-31 Colin D Bennett <colin@gibibit.com>
19040
7c3ff286 19041 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 19042 (free_menu_entry_classes): Added.
19043 (grub_normal_menu_addentry): Added class property handling.
19044 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
19045 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
19046
19047 * normal/menu_viewer.c: New file.
19048
19049 * normal/menu.c (run_menu_entry): Renamed to ...
19050 (grub_menu_execute_entry): ... this and made it as global.
19051 (grub_menu_run): Renamed to ...
19052 (show_text_menu): ... this and made it local.
19053 (show_text_menu): Adapt to new function names.
19054 (grub_normal_terminal_menu_viewer): New global variable.
19055
19056 * include/grub/menu.h: New file.
19057
19058 * include/grub/menu_viewer.h: New file.
19059
19060 * include/grub/normal.h: Added include to grub/menu.h.
19061 (grub_menu_entry): Moved to include/grub/menu.h.
19062 (grub_menu_entry_t): Likewise.
19063 (grub_menu): Likewise.
19064 (grub_menu_t): Likewise.
19065 (grub_normal_terminal_menu_viewer): Added.
19066 (grub_menu_execute_entry): Likewise.
19067 (grub_menu_run): Removed.
19068
19069 * DISTLIST: Added include/grub/menu.h.
19070 Added include/grub/menu_viewer.h.
19071 Added normal/menu_viewer.c.
19072
190732009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
19074
19075 * normal/execute.c (grub_script_execute_menuentry): Changed to use
19076 arglist for menutitle arguments.
19077
19078 * normal/main.c (grub_normal_menu_addentry): Likewise.
19079
19080 * normal/parser.y (menuentry): Likewise.
19081
19082 * normal/script.c (grub_script_create_cmdmenu): Likewise.
19083
19084 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
19085 (grub_script_create_cmdmenu): Likewise.
19086
19087 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
19088
19089 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
19090 changes.
19091
19092 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
19093
19094 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
19095
19096 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
19097
19098 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19099
19100 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19101
19102 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19103
56192c23 191042009-01-30 Christian Franke <franke@computer.org>
19105
19106 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
19107 in option help text.
19108
d72521b3 191092009-01-27 Pavel Roskin <proski@gnu.org>
19110
19111 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
19112
994b5e84 191132009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19114
19115 * commands/lsmmap.c: Add include to grub/machine/memory.h.
19116
19117 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
19118
19119 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
19120 unregister function.
19121
6a7eab2c 191222009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19123
19124 * disk/scsi.c (grub_scsi_read): Fix sign problem.
19125
19126 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
19127
19128 * util/grub-mkfont.c (usage): Fix typo.
19129
19130 * util/elf/grub-mkimage.c (load_modules): Fix warning.
19131
1806b56e 191322009-01-26 Daniel Mierswa <impulze@impulze.org>
19133
3fb18f09 19134 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
19135
336e1fb9 19136 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
19137
1806b56e 19138 * kern/misc.c (grub_strcasecmp): New function.
19139 (grub_strcasecmp): Use grub_size_t instead of int for length.
19140 Fix return value.
19141 * include/grub/misc.h: Update function prototypes.
19142
580b2a0f 191432009-01-26 Robert Millan <rmh@aybabtu.com>
19144
19145 * configure.ac: Fix cross-compilation check.
ef257b36 19146
d31c24f1 191472009-01-22 Christian Franke <franke@computer.org>
19148
19149 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
19150 (precision) digit string. Allow `.format2' without `format1' (width).
19151 Limit input chars for `%s' output to `format2' if specified. This is
19152 compatible with standard printf ().
19153
3138b44c 191542009-01-22 Christian Franke <franke@computer.org>
19155
19156 * disk/ata.c (grub_ata_wait_status): Replace by ...
19157 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
19158 other status bits may be invalid while BSY is asserted.
19159 (grub_ata_check_ready): New function.
19160 (grub_ata_cmd): Removed.
19161 (grub_ata_wait_drq): New function.
19162 (grub_ata_strncpy): Remove inline.
19163 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
19164 and error check now done by grub_ata_wait_drq ().
19165 (grub_ata_pio_write): Likewise.
19166 (grub_atapi_identify): Set DEV before check for !BSY. Use
19167 grub_ata_wait_drq () to wait for data.
19168 (grub_ata_device_initialize): Add status register check to
19169 detect missing SATA slave devices. Add debug messages.
19170 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
19171 (grub_atapi_packet): Set DEV before check for !BSY. Replace
19172 transfer loop by grub_ata_pio_write ().
19173 (grub_ata_identify): Set DEV before check for !BSY. Use
19174 grub_ata_wait_drq () to wait for data.
ef257b36 19175 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 19176 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
19177 read/write in one loop. Fix invalid command on write. Fix incomplete
19178 command on (size % batch) == 0. Add missing error check after write of
19179 last block. Add debug messages.
19180 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
19181
59a64ef6 191822009-01-19 Christian Franke <franke@computer.org>
19183
19184 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
19185 (GRUB_ATAPI_IREASON_*): Likewise.
19186 (grub_ata_pio_write): Fix timeout error return.
19187 (grub_atapi_identify): Add grub_ata_wait () after cmd.
19188 (grub_atapi_wait_drq): New function.
19189 (grub_atapi_packet): New parameter `size'.
19190 Use grub_atapi_wait_drq () and direct write instead of
19191 grub_ata_pio_write ().
19192 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
19193 reads the number of bytes requested by the device for each DRQ
19194 assertion.
19195 (grub_atapi_write): Remove old implementation, return not
19196 implemented instead.
19197
1cfe20b3 191982009-01-19 Christian Franke <franke@computer.org>
19199
19200 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
19201 of 512 to calculate data size.
19202 (grub_scsi_read12): Likewise.
19203 (grub_scsi_write10): Likewise.
19204 (grub_scsi_write12): Likewise.
19205 (grub_scsi_read): Adjust size according to blocksize.
19206 Add checks for invalid blocksize and unaligned transfer.
19207
bee5fe5d 192082009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
19209
19210 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
19211
ef257b36 19212 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 19213 width glyphs.
19214
3e643f8c 192152009-01-19 Robert Millan <rmh@aybabtu.com>
19216
19217 * config.guess: Update to latest version from config git.
19218 * config.sub: Likewise.
19219
4fa80998 192202009-01-17 Felix Zielcke <fzielcke@z-51.de>
19221
19222 * Makefile.in: Change font compilation to use new grub-mkfont instead
19223 of java version.
19224
19225 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
19226 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
19227 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19228 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19229 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
19230 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
19231 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
19232 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
19233 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19234
7086085b 192352009-01-16 Christian Franke <franke@computer.org>
19236
19237 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
19238 (enum grub_ata_timeout_milliseconds): New enum.
19239 (grub_ata_wait_status): Add parameter milliseconds.
19240 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
19241 recovery from timed-out commands.
19242 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
19243 return grub_errno instead of REG_ERROR.
19244 (grub_ata_pio_write): Add parameter milliseconds.
19245 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
19246 Pass milliseconds to grub_ata_wait_status () and
19247 grub_ata_pio_read ().
19248 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
19249 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
19250 grub_ata_wait_status (). Fix IDENTIFY timeout check.
19251 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
19252 It is not suitable for device detection, because DEV bit is ignored,
19253 the command may run too long, and not all devices set the signature
19254 properly.
19255 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
19256 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
19257 Fix device selection, DEV bit must be set first to address the registers
19258 of the correct device.
19259 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
19260 grub_ata_pio_read/write ().
19261 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
19262 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
19263
4a412913 192642009-01-13 Carles Pina i Estany <carles@pina.cat>
19265
19266 * util/grub-editenv.c (main): Use fseeko(), not fseek().
19267
7795c55e 192682009-01-13 Bean <bean123ch@gmail.com>
d913988c 19269
19270 * util/grub-mkfont.c (write_font): forget to remove some debug code.
19271
7795c55e 192722009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 19273
19274 * Makefile.in: (enable_grub_mkfont): New variable.
19275 (freetype_cflags): Likewise.
19276 (freetype_libs): Likewise.
19277
19278 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
19279 (grub_mkfont_SOURCES): New variable.
19280 (grub_mkfont_CFLAGS): Likewise.
19281 (grub_mkfont_LDFLAGS): Likewise.
19282
19283 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
19284 library if `--enable-grub-mkfont' is requested.
19285 (enable_grub_mkfont): New variable.
19286 (freetype_cflags): Likewise.
19287 (freetype_libs): Likewise.
19288
19289 * util/grub-mkfont.c: New file.
19290
093af1fe 192912009-01-12 Christian Franke <franke@computer.org>
19292
19293 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
19294 mode check. Fix setting of compat_use[].
19295
f36cc108 192962009-01-10 Robert Millan <rmh@aybabtu.com>
19297
19298 Update a few copyright years which we forgot to do in 2008 (only for
19299 files whose changes made in 2008 were copyright-significant)
19300
19301 * Makefile.in: Add 2008 to Copyright line.
19302 * disk/ieee1275/ofdisk.c: Likewise.
19303 * disk/efi/efidisk.c: Likewise.
19304 * kern/dl.c: Likewise.
19305 * kern/sparc64/ieee1275/init.c: Likewise.
19306 * kern/mm.c: Likewise.
19307 * kern/efi/mm.c: Likewise.
19308 * boot/i386/pc/boot.S: Likewise.
19309 * genfslist.sh: Likewise.
19310 * fs/iso9660.c: Likewise.
19311 * fs/hfs.c: Likewise.
19312 * fs/jfs.c: Likewise.
19313 * fs/minix.c: Likewise.
19314 * fs/ufs.c: Likewise.
19315 * gensymlist.sh.in: Likewise.
19316 * genkernsyms.sh.in: Likewise.
19317 * include/grub/misc.h: Likewise.
19318 * include/grub/types.h: Likewise.
19319 * include/grub/symbol.h: Likewise.
19320 * include/grub/elf.h: Likewise.
19321 * include/grub/kernel.h: Likewise.
19322 * include/grub/disk.h: Likewise.
19323 * include/grub/dl.h: Likewise.
19324 * include/grub/i386/linux.h: Likewise.
19325 * include/grub/i386/pc/biosdisk.h: Likewise.
19326 * include/grub/efi/api.h: Likewise.
19327 * include/grub/efi/pe32.h: Likewise.
19328 * include/grub/util/misc.h: Likewise.
19329 * normal/execute.c: Likewise.
19330 * normal/arg.c: Likewise.
19331 * normal/completion.c: Likewise.
19332 * normal/lexer.c: Likewise.
19333 * normal/parser.y: Likewise.
19334 * normal/misc.c: Likewise.
19335 * commands/i386/pc/vbeinfo.c: Likewise.
19336 * commands/hexdump.c: Likewise.
19337 * commands/terminal.c: Likewise.
19338 * commands/ls.c: Likewise.
19339 * commands/help.c: Likewise.
19340 * partmap/pc.c: Likewise.
19341 * loader/efi/chainloader.c: Likewise.
19342 * loader/multiboot_loader.c: Likewise.
19343 * loader/i386/pc/multiboot2.c: Likewise.
19344 * term/efi/console.c: Likewise.
19345 * term/i386/pc/serial.c: Likewise.
19346 * util/lvm.c: Likewise.
19347 * util/console.c: Likewise.
19348 * util/i386/efi/grub-mkimage.c: Likewise.
19349 * util/raid.c: Likewise.
19350
7f02114b 193512009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
19352
19353 * commands/videotest.c: Removed include to grub/machine/memory.h.
19354
19355 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
19356 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
19357 (video_mod_SOURCES): Removed.
19358 (video_mod_CFLAGS): Likewise.
19359 (video_mod_LDFLAGS): Likewise.
19360 (gfxterm_mod_SOURCES): Likewise.
19361 (gfxterm_mod_CFLAGS): Likewise.
19362 (gfxterm_mod_LDFLAGS): Likewise.
19363 (videotest_mod_SOURCES): Likewise.
19364 (videotest_mod_CFLAGS): Likewise.
19365 (videotest_mod_LDFLAGS): Likewise.
19366 (bitmap_mod_SOURCES): Likewise.
19367 (bitmap_mod_CFLAGS): Likewise.
19368 (bitmap_mod_LDFLAGS): Likewise.
19369 (tga_mod_SOURCES): Likewise.
19370 (tga_mod_CFLAGS): Likewise.
19371 (tga_mod_LDFLAGS): Likewise.
19372 (jpeg_mod_SOURCES): Likewise.
19373 (jpeg_mod_CFLAGS): Likewise.
19374 (jpeg_mod_LDFLAGS): Likewise.
19375 (png_mod_SOURCES): Likewise.
19376 (png_mod_CFLAGS): Likewise.
19377 (png_mod_LDFLAGS): Likewise.
19378
19379 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
19380 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
19381 (video_mod_SOURCES): Added.
19382 (video_mod_CFLAGS): Likewise.
19383 (video_mod_LDFLAGS): Likewise.
19384 (videotest_mod_SOURCES): Likewise.
19385 (videotest_mod_CFLAGS): Likewise.
19386 (videotest_mod_LDFLAGS): Likewise.
19387 (bitmap_mod_SOURCES): Likewise.
19388 (bitmap_mod_CFLAGS): Likewise.
19389 (bitmap_mod_LDFLAGS): Likewise.
19390 (tga_mod_SOURCES): Likewise.
19391 (tga_mod_CFLAGS): Likewise.
19392 (tga_mod_LDFLAGS): Likewise.
19393 (jpeg_mod_SOURCES): Likewise.
19394 (jpeg_mod_CFLAGS): Likewise.
19395 (jpeg_mod_LDFLAGS): Likewise.
19396 (png_mod_SOURCES): Likewise.
19397 (png_mod_CFLAGS): Likewise.
19398 (png_mod_LDFLAGS): Likewise.
19399 (gfxterm_mod_SOURCES): Likewise.
19400 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 19401 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 19402
19403 * term/gfxterm.c: Removed include to grub/machine/memory.h,
19404 grub/machine/console.h.
19405
644fff97 194062009-01-04 Jerone Young <jerone@gmail.com>
19407
19408 Make on screen instructions clearer
19409
19410 Based on patch created by Jidanni <jidanni@jidanni.org>
19411
19412 * normal/menu.c: print clearer instructions on the screen
19413
1e901a75 194142009-01-02 Colin D Bennett <colin@gibibit.com>
19415
19416 New font engine.
34c44600 19417
1e901a75 19418 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
19419 build system and fixed gfxterm.c to work with different sized fonts.
19420
19421 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 19422
1e901a75 19423 * configure: Re-generated.
34c44600 19424
1e901a75 19425 * DISTLIST: Removed font/manager.c.
19426 Added font/font.c.
19427 Added font/font_cmd.c.
34c44600 19428
1e901a75 19429 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
19430 compilation.
34c44600 19431
1e901a75 19432 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 19433
19434 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 19435
19436 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 19437
1e901a75 19438 * normal/menu.c: Likewise.
34c44600 19439
1e901a75 19440 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
19441 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 19442
1e901a75 19443 * include/grub/font.h: Replaced with new file.
34c44600 19444
1e901a75 19445 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
19446 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
19447 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
19448 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
19449 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 19450 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 19451 fg_red, fg_green, fg_blue, fg_alpha.
19452 (grub_video_adapter): Removed blit_glyph.
34c44600 19453 (grub_video_blit_glyph): Removed.
19454
1e901a75 19455 * font/manager.c: Removed file.
34c44600 19456
19457 * font/font.c: New file.
19458
1e901a75 19459 * font/font_cmd.c: Likewise.
34c44600 19460
1e901a75 19461 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 19462
1e901a75 19463 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
19464 (grub_video_vbe_map_rgba): Likewise.
19465 (grub_video_vbe_unmap_color_int): Likewise.
19466 (grub_video_vbe_blit_glyph): Removed.
19467 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 19468
1e901a75 19469 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
19470 (get_pixel): Likewise.
34c44600 19471 (set_pixel): Likewise.
19472
1e901a75 19473 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 19474
1e901a75 19475 * term/gfxterm.c: Adapted to new font engine.
34c44600 19476
1e901a75 19477 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 19478
1e901a75 19479 * term/i386/pc/vga.c: Likewise.
34c44600 19480
1e901a75 19481 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 19482
1e901a75 19483 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 19484
1e901a75 19485 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19486
1e901a75 19487 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19488
1e901a75 19489 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 19490
1e901a75 19491 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 19492
1e901a75 19493 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 19494
1e901a75 19495 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 19496
1e901a75 19497 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19498
19499 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 19500
1e901a75 19501 * util/grub-mkconfig_lib.in: Changed font extension.
19502
278922e8 195032008-12-28 Felix Zielcke <fzielcke@z-51.de>
19504
19505 * util/getroot.c (grub_util_get_grub_dev): Add support for
19506 /dev/md/dNNpNN style partitionable mdraid devices.
19507
3ced05cf 195082008-12-12 Alex Smith <alex@alex-smith.me.uk>
19509
19510 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
19511 at a time limit of the PXE TFTP API correctly.
19512 (grub_pxefs_close): Likewise.
19513
7fd0ee30 195142008-11-29 Robert Millan <rmh@aybabtu.com>
19515
34c44600 19516 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 19517 grub_ata_device_initialize() calls.
19518
34c44600 195192008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 19520
19521 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
19522 iteration failed.
19523 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
19524
89313780 195252008-11-28 Robert Millan <rmh@aybabtu.com>
19526
19527 Fix build on powerpc-ieee1275. Based on patch created by
19528 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
19529 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19530 `kern/ieee1275/mmap.c'.
19531 * include/grub/powerpc/ieee1275/memory.h: New file.
19532
15257703 19533 Provide grub-install on coreboot.
19534 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
19535 (grub_install_SOURCES): New variable.
19536 * util/i386/pc/grub-install.in: Add a few condition checks to make it
19537 usable on coreboot.
19538
9fc5388a 195392008-11-25 Felix Zielcke <fzielcke@z-51.de>
19540
19541 * util/grub-fstest.c (grub_term_get_current_input): Change return type
19542 to `grub_term_input_t'.
19543 (grub_term_get_current_output): Change return type to
19544 `grub_term_output_t'.
19545
bc3a2f31 195462008-11-22 Robert Millan <rmh@aybabtu.com>
19547
34c44600 19548 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 19549 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
19550 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
19551 grub_vga_text_cls().
19552
80fc88f2 19553 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 19554 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 19555
cbf36fd3 19556 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
19557 to 0x200000 (avoids trouble with some OFW implementations, and matches
19558 with the one in Yaboot).
19559 Reported by Manoel Abranches
19560
73e8e268 195612008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 19562
19563 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
19564 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
19565
73e8e268 19566 * util/grub-mkconfig_lib.in (grub_warn): New function.
19567 (convert_system_path_to_grub_path): Use grub_warn() when issuing
19568 warnings, to obtain consistent formatting.
19569 * util/grub.d/00_header.in: Likewise.
19570 * util/update-grub_lib.in: Likewise.
19571
e94045a1 19572 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 19573 Move comment text to `#error' stanza.
e94045a1 19574
79d29fd7 19575 Harmonize ieee1275's grub_available_iterate() with the generic
19576 grub_machine_mmap_iterate() interface (fixes a recently-introduced
19577 build problem on i386-ieee1275):
19578 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
19579 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
19580 parameter `type'. Update all users of this function.
19581 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19582 `kern/ieee1275/mmap.c'.
19583 * kern/ieee1275/init.c
19584 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
19585 with ...
19586 (grub_machine_mmap_iterate): ... this.
19587 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
19588 return type to `grub_err_t'. Update all implementations of this
19589 function prototype.
19590 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
19591 Likewise.
19592
60d6b16e 19593 Add `lsmmap' command (lists firmware-provided memory map):
19594 * commands/lsmmap.c: New file.
19595 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
19596 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
19597 variables.
19598 * conf/powerpc-ieee1275.rmk: Likewise.
19599 * conf/i386-coreboot.rmk: Likewise.
19600 * conf/i386-ieee1275.rmk: Likewise.
19601
ebaaf49b 196022008-11-19 Robert Millan <rmh@aybabtu.com>
19603
19604 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 19605 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
19606 constraints to initrd allocation (based on code from
19607 loader/i386/pc/linux.c). Without them, initrd was allocated too high
19608 for Linux to find it.
ebaaf49b 19609
dfab719f 196102008-11-14 Robert Millan <rmh@aybabtu.com>
19611
19612 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
19613 order to cope with duplicate slashes.
19614
10fc3eb9 196152008-11-14 Robert Millan <rmh@aybabtu.com>
19616
19617 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
19618 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
19619 don't want to mess with lower memory, because it is used in the Linux
19620 loader.
19621
19622 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 19623 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 19624 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
19625 is in our heap (probably as a result of it being corrupted during
2f2a3442 19626 decompression). Add #error instance with comment to explain why this
19627 loader isn't currently usable on PC/BIOS.
10fc3eb9 19628
e2e07847 196292008-11-14 Robert Millan <rmh@aybabtu.com>
19630
19631 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 19632 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 19633
fe8e8d69 196342008-11-12 Robert Millan <rmh@aybabtu.com>
19635
19636 Make loader/i386/linux.c buildable on i386-pc (although disabled).
19637
19638 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
19639 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
19640 from here ...
19641 * include/grub/i386/pc/memory.h: ... to here.
19642
976b07d0 196432008-11-12 Robert Millan <rmh@aybabtu.com>
19644
19645 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
19646 split).
19647
19648 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
19649 (grub_console_cur_color, grub_console_real_putchar)
19650 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19651 (grub_console_setcolorstate, grub_console_setcolor)
19652 (grub_console_getcolor): Move from here ...
19653 * include/grub/i386/vga_common.h: ... to here (new file).
19654
19655 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
19656 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
19657 `<grub/i386/io.h>'.
19658 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
19659 `<grub/i386/vga_common.h>'.
19660
76679cd3 196612008-11-12 Robert Millan <rmh@aybabtu.com>
19662
19663 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
19664 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
19665 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
19666 variables.
19667 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19668 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
19669
19670 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
19671 grub_console_init() with call to grub_vga_text_init().
19672 (grub_machine_fini): Replace call to
19673 grub_console_fini() with call to grub_vga_text_fini() and
19674 grub_at_keyboard_fini().
19675
19676 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
19677 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19678 (grub_console_setcolorstate, grub_console_setcolor)
19679 (grub_console_getcolor): New function prototypes.
19680
19681 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
19682 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
19683 (grub_vga_text_setcursor): Static-ize.
19684 (grub_vga_text_term): New structure.
19685 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
19686
19687 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
19688 (grub_console_cur_color, grub_console_standard_color)
19689 (grub_console_normal_color, grub_console_highlight_color)
19690 (map_char, grub_console_putchar, grub_console_getcharwidth)
19691 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
19692 (grub_console_getcolor): Move from here ...
19693 * term/i386/vga_common.c: ... to here (same function names).
19694
95b841d3 196952008-11-12 Robert Millan <rmh@aybabtu.com>
19696
19697 Use newly-added Multiboot support in coreboot.
19698
19699 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19700 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
19701
19702 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
19703 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
19704 (codestart): Store the MBI in `startup_multiboot_info' when we're
19705 being loaded using Multiboot.
19706
19707 * kern/i386/coreboot/init.c (grub_machine_init): Move
19708 grub_at_keyboard_init() call to beginning of function (useful for
19709 debugging). Call grub_machine_mmap_init() before attempting to use
19710 grub_machine_mmap_iterate().
19711 (grub_lower_mem, grub_upper_mem): Move from here ...
19712 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
19713 here (new file).
19714
19715 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
19716 function prototype.
19717
761ca975 197182008-11-12 Robert Millan <rmh@aybabtu.com>
19719
19720 Fix a regression introduced by the at_keyboard.mod split. Because
19721 some terminals are default on some platforms and non-default on
19722 others, the first terminal being registered determines which is
19723 going to be default.
19724
19725 * kern/term.c (grub_term_register_input): If this is the first
19726 terminal being registered, set it as the current one.
19727 (grub_term_register_output): Likewise.
19728
19729 * term/efi/console.c (grub_console_init): Do not call
19730 grub_term_set_current_output() or grub_term_set_current_input().
19731 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
19732 * term/i386/pc/console.c (grub_console_init): Likewise.
19733 (grub_console_fini): Do not call grub_term_set_current_input()
19734 (but leave grub_term_set_current_output() to restore text mode).
19735
6c529df7 197362008-11-10 Robert Millan <rmh@aybabtu.com>
19737
19738 * util/grub.d/00_header.in: Add backward compatibility check for
19739 versions of terminal.mod that don't understand `terminal_input' or
19740 `terminal_output'.
19741
132e4113 197422008-11-09 Robert Millan <rmh@aybabtu.com>
19743
19744 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
19745 `terminal_input' / `terminal_output', not `terminal'.
19746
ac293d50 197472008-11-08 Robert Millan <rmh@aybabtu.com>
19748
19749 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 19750 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 19751
0025933a 197522008-11-08 Robert Millan <rmh@aybabtu.com>
19753
19754 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 19755 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 19756 members. Update all users.
19757 * util/console.c (grub_ncurses_term): Split in ...
19758 (grub_ncurses_term_input): ... this, and ...
19759 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 19760 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 19761
37c86336 197622008-11-08 Robert Millan <rmh@aybabtu.com>
19763
19764 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
19765 (PKGDATA): Add $(pkgdata_SRCDIR).
19766 (pkglib_BUILDDIR): New variable.
19767 (pkgdata_SRCDIR): New variable.
19768 (build_env.mk): New target.
19769 (include_DATA): New variable.
19770 (install-local): Install $(include_DATA) files in $(includedir).
19771
b6c15a2d 197722008-11-07 Pavel Roskin <proski@gnu.org>
19773
d99d46f1 19774 * gendistlist.sh: Use C locale for sorting to ensure consistent
19775 output on all systems.
19776
b6c15a2d 19777 * util/grub.d/00_header.in: Remove incorrect space before
19778 "serial".
19779
c32ee8c9 197802008-11-07 Robert Millan <rmh@aybabtu.com>
19781
19782 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
19783 per specification.
19784 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
19785 * loader/multiboot_loader.c (find_multi_boot2_header): New function
19786 (based on find_multi_boot1_header).
19787 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
19788 using find_multi_boot2_header(), and abort if neither Multiboot or
19789 Multiboot headers were found.
19790
651c29b7 197912008-11-07 Robert Millan <rmh@aybabtu.com>
19792
19793 Modularize at_keyboard.mod:
19794
19795 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
19796 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19797 (at_keyboard_mod_LDFLAGS): New variables.
19798
19799 Actual terminal split:
19800
19801 * include/grub/term.h (struct grub_term): Split in ...
19802 (struct grub_term_input): ... this, and ...
19803 (struct grub_term_output): ... this. Update all users.
19804 (grub_term_set_current): Split in ...
19805 (grub_term_set_current_input): ... this, and ...
19806 (grub_term_set_current_output): ... this.
19807 (grub_term_get_current): Split in ...
19808 (grub_term_get_current_input): ... this, and ...
19809 (grub_term_get_current_output): ... this.
19810 (grub_term_register): Split in ...
19811 (grub_term_register_input): ... this, and ...
19812 (grub_term_register_output): ... this.
19813 (grub_term_unregister): Split in ...
19814 (grub_term_unregister_input): ... this, and ...
19815 (grub_term_unregister_output): ... this.
19816 (grub_term_iterate): Split in ...
19817 (grub_term_iterate_input): ... this, and ...
19818 (grub_term_iterate_output): ... this.
19819
19820 * kern/term.c (grub_term_list): Split in ...
19821 (grub_term_list_input): ... this, and ...
19822 (grub_term_list_output): ... this. Update all users.
19823 (grub_cur_term): Split in ...
19824 (grub_cur_term_input): ... this, and ...
19825 (grub_cur_term_output): ... this. Update all users.
19826 (grub_term_set_current): Split in ...
19827 (grub_term_set_current_input): ... this, and ...
19828 (grub_term_set_current_output): ... this.
19829 (grub_term_get_current): Split in ...
19830 (grub_term_get_current_input): ... this, and ...
19831 (grub_term_get_current_output): ... this.
19832 (grub_term_register): Split in ...
19833 (grub_term_register_input): ... this, and ...
19834 (grub_term_register_output): ... this.
19835 (grub_term_unregister): Split in ...
19836 (grub_term_unregister_input): ... this, and ...
19837 (grub_term_unregister_output): ... this.
19838 (grub_term_iterate): Split in ...
19839 (grub_term_iterate_input): ... this, and ...
19840 (grub_term_iterate_output): ... this.
19841
19842 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
19843 a check for input and one for output (and only attempt to get keys
19844 from user when input works).
19845
19846 * util/grub-probe.c (grub_term_get_current): Split in ...
19847 (grub_term_get_current_input): ... this, and ...
19848 (grub_term_get_current_output): ... this.
19849 * util/grub-fstest.c: Likewise.
19850 * util/i386/pc/grub-setup.c: Likewise.
19851 * util/grub-editenv.c: Likewise.
19852
19853 Portability adjustments:
19854
19855 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
19856 `term/i386/pc/at_keyboard.c'.
19857 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
19858 grub_keyboard_controller_init() (now handled by terminal .init).
19859 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
19860 grub_at_keyboard_init().
19861 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
19862 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
19863 at_keyboard.mod via input terminal interface).
19864 * include/grub/i386/coreboot/console.h: Convert into a stub for
19865 `<grub/i386/pc/console.h>'.
19866
19867 Migrate full terminals to new API:
19868
19869 * term/efi/console.c (grub_console_term): Split into ...
19870 (grub_console_term_input): ... this, and ...
19871 (grub_console_term_output): ... this. Update all users.
19872 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
19873 (grub_ofconsole_init): Split into ...
19874 (grub_ofconsole_init_input): ... this, and ...
19875 (grub_ofconsole_init_output): ... this.
19876 (grub_ofconsole_term): Split into ...
19877 (grub_ofconsole_term_input): ... this, and ...
19878 (grub_ofconsole_term_output): ... this. Update all users.
19879 * term/i386/pc/serial.c (grub_serial_term): Split into ...
19880 (grub_serial_term_input): ... this, and ...
19881 (grub_serial_term_output): ... this. Update all users.
19882 * term/i386/pc/console.c (grub_console_term): Split into ...
19883 (grub_console_term_input): ... this, and ...
19884 (grub_console_term_output): ... this. Update all users.
19885 (grub_console_term_input): Only enable it on PC/BIOS platform.
19886 (grub_console_init): Remove grub_keyboard_controller_init() call.
19887
19888 Migrate input terminals to new API:
19889
19890 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
19891 `i386' and `i386/pc' to enable build on x86_64 (this driver is
19892 i386-specific anyway).
19893 (grub_console_checkkey): Rename to ...
19894 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
19895 users.
19896 (grub_keyboard_controller_orig): New variable.
19897 (grub_console_getkey): Rename to ...
19898 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
19899 users.
19900 (grub_keyboard_controller_init): Static-ize. Save original
19901 controller value so that it can be restored ...
19902 (grub_keyboard_controller_fini): ... here (new function).
19903 (grub_at_keyboard_term): New structure.
19904 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
19905 functions.
19906
19907 Migrate output terminals to new API:
19908
19909 * term/i386/pc/vga.c (grub_vga_term): Change type to
19910 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19911 members. Update all users.
19912 * term/gfxterm.c (grub_video_term): Change type to
19913 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19914 members. Update all users.
19915 * include/grub/i386/pc/console.h (grub_console_checkkey)
19916 (grub_console_getkey): Do not export (no longer needed by gfxterm,
19917 etc).
19918
19919 Migrate `terminal' command and userland tools to new API:
19920
19921 * commands/terminal.c (grub_cmd_terminal): Split into ...
19922 (grub_cmd_terminal_input): ... this, and ...
19923 (grub_cmd_terminal_output): ... this.
19924 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
19925 `terminal_input' and `terminal_output'.
19926 * util/grub.d/00_header.in: Adjust `terminal' calls to new
19927 `terminal_input' / `terminal_output' API.
19928 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
19929 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
19930 provided ${GRUB_TERMINAL}, convert it).
19931
96e5d876 199322008-11-04 Robert Millan <rmh@aybabtu.com>
19933
19934 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
19935 for FreeBSD.
19936 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
19937
556f3775 199382008-11-03 Bean <bean123ch@gmail.com>
19939
19940 * kern/elf.c (grub_elf32_load): Revert to previous code.
19941 (grub_elf64_load): Likewise.
19942
19943 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
19944
926b9823 199452008-11-01 Robert Millan <rmh@aybabtu.com>
19946
19947 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
19948 (TARGET_CPPFLAGS): Likewise.
19949 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
19950
1432e958 199512008-11-01 Carles Pina i Estany <carles@pina.cat>
19952
19953 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
19954
dba3f844 199552008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 19956
19957 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
19958 addition of objects until the code is not going to be able to fail.
19959
dba3f844 199602008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 19961
19962 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
19963 (add a missing NULL check, and correct them by moving the pointer
19964 operations after the actual check).
19965
7ab28c21 199662008-10-29 Robert Millan <rmh@aybabtu.com>
19967
19968 * util/i386/pc/grub-install.in: Handle empty string as output from
19969 make_system_path_relative_to_its_root().
19970
1b7748eb 199712008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
19972
19973 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
19974 circular metadata worst case scenario. If the metadata is circular
19975 then copy the wrap in place.
19976 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
19977 project lib/format_text/layout.h
19978 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
19979
c9618ab2 199802008-10-03 Felix Zielcke <fzielcke@z-51.de>
19981
7a36edca 19982 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 19983
bf981c62 199842008-10-03 Felix Zielcke <fzielcke@z-51.de>
19985
19986 * util/update-grub_lib.in: Mention filename in warning message.
19987
6d994591 199882008-09-29 Felix Zielcke <fzielcke@z-51.de>
19989
19990 * NEWS: Update for rename of update-grub to grub-mkconfig.
19991
18ade780 199922008-09-29 Felix Zielcke <fzielcke@z-51.de>
19993
19994 * util/update-grub_lib.in: Copy to ...
19995 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 19996 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 19997 * util/update-grub.in: Rename to ...
19998 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
19999 option. Add `--output' option to allow users to specify the generated
20000 configuration file. Default to stdout.
20001 (update_grub_dir): Rename to ...
20002 (grub_mkconfig_dir): ... this.
20003 (grub_cfg): Default to an empty string.
20004 * conf/common.rmk (update-grub): Rename to ...
20005 (grub-mkconfig): ... this.
20006 (update-grub_lib): Copy to ...
20007 (grub-mkconfig_lib): ... this.
20008 (update-grub_SCRIPTS): Copy to ...
20009 (grub-mkconfig_SCRIPTS): ... this. Update all users.
20010 (update-grub_DATA): Rename to ...
20011 (grub-mkconfig_DATA): ... this.
20012
556ce6ac 200132008-09-28 Robert Millan <rmh@aybabtu.com>
20014
20015 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
20016 to `modified'. Add the real `created' field.
20017 (grub_iso9660_uuid): Use `modified' rather than `created' for
20018 constructing the UUID.
20019
200202008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 20021
20022 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
20023 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
20024
92274e85 200252008-09-28 Bean <bean123ch@gmail.com>
20026
20027 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
20028 Thanks to Christian Franke for finding this bug.
20029
add6f17a 200302008-09-25 Robert Millan <rmh@aybabtu.com>
20031
20032 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
20033 instances of grub_util_get_disk_name() (see previous commit).
20034
d2a367b8 200352008-09-25 Robert Millan <rmh@aybabtu.com>
20036
20037 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
20038 `util/i386/get_disk_name.c'.
20039 * conf/i386-efi.rmk: Likewise.
20040 * conf/x86_64-efi.rmk: Likewise.
20041 * conf/i386-coreboot.rmk: Likewise.
20042 * conf/i386-ieee1275.rmk: Likewise.
20043 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
20044 `util/ieee1275/get_disk_name.c'.
20045 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
20046 * util/ieee1275/get_disk_name.c: Remove file.
20047 * util/i386/get_disk_name.c: Remove file.
20048 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
20049 "hd%d" for device.map entries, rather than using
20050 grub_util_get_disk_name().
20051
81a06771 200522008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 20053
20054 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
20055 warning.
20056 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
20057
5a004279 200582008-09-24 Carles Pina i Estany <carles@pina.cat>
20059
20060 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
20061 Changed to 0x5100.
20062 (GRUB_TERM_PPAGE): Changed to 0x4900.
20063
397093d3 200642008-09-24 Robert Millan <rmh@aybabtu.com>
20065
20066 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
20067 macros (they were i386-pc specific).
20068 * include/grub/sparc64/ieee1275/console.h: Likewise.
20069 * include/grub/efi/console.h: Likewise.
20070
a91b6c7c 200712008-09-22 Bean <bean123ch@gmail.com>
20072
20073 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
20074 resident and in attribute list.
20075
20076 * include/grub/ntfs.h (BMP_LEN): Removed.
20077
c40fd116 200782008-09-22 Bean <bean123ch@gmail.com>
20079
81a06771 20080 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 20081 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
20082
20083 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
20084 error occurs, as grub_disk_open will call grub_disk_close, which will
20085 call p->close (scsi).
20086
81a06771 200872008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 20088
20089 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
20090 (AC_PREREQ): Bumped to 2.59.
20091 (AC_TRY_COMPILE): Replace obsolete macro with ...
20092 (AC_COMPILE_IFELSE): ... this.
20093 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
20094 (AC_LINK_IFELSE): ... this.
20095
5dc43410 200962008-09-21 Felix Zielcke <fzielcke@z-51.de>
20097
20098 * autogen.sh: Add a call to `gendistlist.sh'.
20099
9035dce4 201002008-09-19 Christian Franke <franke@computer.org>
20101
20102 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
20103 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
20104 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
20105 Export __enable_execute_stack() to modules.
20106 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
20107 New function.
20108
7fd75377 201092008-09-09 Felix Zielcke <fzielcke@z-51.de>
20110
040030b3 20111 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
20112 Sort the list.
20113
201142008-09-09 Felix Zielcke <fzielcke@z-51.de>
20115
20116 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 20117 #include <grub/util/hostdisk.h>.
20118
89d5ffcf 201192008-09-08 Robert Millan <rmh@aybabtu.com>
20120
20121 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
20122 segments when their filesz is zero (grub_file_read() interprets
81a06771 20123 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 20124 Use `lowest_segment' rather than 0 for calculating the current
20125 segment load address.
20126
40da438f 201272008-09-08 Robert Millan <rmh@aybabtu.com>
20128
20129 * util/hostdisk.c (open_device): Replace a grub_util_info() call
20130 with grub_dprintf("hostdisk", ...), as it was so verbose that it
20131 clobbered useful information.
20132
ddbf5556 201332008-09-08 Robert Millan <rmh@aybabtu.com>
20134
20135 * include/grub/util/biosdisk.h: Move to ...
20136 * include/grub/util/hostdisk.h: ... here. Update all users.
20137 * util/biosdisk.c: Move to ...
20138 * util/hostdisk.c: ... here. Update all users.
20139
783d0f48 201402008-09-07 Robert Millan <rmh@aybabtu.com>
20141
20142 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
20143 variables.
20144 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
20145 and length can be stored directly in the `mbi->mmap_addr' and
20146 `mbi->mmap_length' struct fields.
20147
548e2ea5 201482008-09-07 Robert Millan <rmh@aybabtu.com>
20149
20150 * conf/i386.rmk: New file. Provides declaration for building
20151 `cpuid.mod'.
20152 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
20153 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
20154 variables.
20155 Include `conf/i386.mk'.
20156 * conf/i386-efi.rmk: Likewise.
20157 * conf/x86_64-efi.rmk: Likewise.
20158 * conf/i386-coreboot.rmk: Likewise.
20159 * conf/i386-ieee1275.rmk: Likewise.
20160
0ea85a37 201612008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
20162
20163 Based on patch created by Colin D Bennett <colin@gibibit.com>.
20164 Adds optimization support for BGR based modes.
20165
20166 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
20167 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20168 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20169 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20170 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20171 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20172 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20173 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20174 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20175 (grub_video_i386_vbeblit_index_index): Likewise.
20176 (grub_video_i386_vbeblit_replace_directN): Added.
20177 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20178 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20179 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20180 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20181 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20182 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 20183 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 20184 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20185 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20186 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20187 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20188 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20189 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
20190
20191 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
20192 (grub_video_i386_vbefill_R8G8B8): Likewise.
20193 (grub_video_i386_vbefill_index): Likewise.
20194 (grub_video_i386_vbefill_direct32): Added.
20195 (grub_video_i386_vbefill_direct24): Likewise.
20196 (grub_video_i386_vbefill_direct16): Likewise.
20197 (grub_video_i386_vbefill_direct8): Likewise.
20198
81a06771 20199 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 20200 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
20201 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
20202 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
20203 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
20204 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 20205
0ea85a37 20206 * video/video.c (grub_video_get_blit_format): Updated to use new
20207 blit formats. Added handling for 16 bit color modes.
81a06771 20208
20209 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 20210 fillers.
20211 (common_blitter): Updated to use new blitters.
20212
20213 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
20214 Removed.
20215 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20216 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20217 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20218 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20219 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20220 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20221 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20222 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20223 (grub_video_i386_vbeblit_index_index): Likewise.
20224 (grub_video_i386_vbeblit_replace_directN): Added.
20225 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20226 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20227 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20228 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20229 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20230 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
20231 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
20232 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20233 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20234 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20235 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20236 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20237 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 20238
0ea85a37 20239 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
20240 (grub_video_i386_vbefill_R8G8B8): Likewise.
20241 (grub_video_i386_vbefill_index): Likewise.
20242 (grub_video_i386_vbefill_direct32): Added.
20243 (grub_video_i386_vbefill_direct24): Likewise.
20244 (grub_video_i386_vbefill_direct16): Likewise.
20245 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 20246
0ea85a37 20247 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
20248 types.
81a06771 20249
0ea85a37 20250 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
20251 types.
81a06771 20252
0ea85a37 20253 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
20254 blitter types.
81a06771 20255
0ea85a37 20256 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
20257 types.
20258
e8a83df6 202592008-09-06 Felix Zielcke <fzielcke@z-51.de>
20260
20261 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
20262 RAID level 1.
20263
6bcd8ee5 202642008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 20265
6bcd8ee5 20266 * fs/iso9660.c (grub_iso9660_date): New structure.
20267 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
20268 (grub_iso9660_uuid): New function.
c375ae58 20269
59261157 202702008-09-05 Bean <bean123ch@gmail.com>
20271
20272 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
20273
20274 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
20275 insensitive bit for names in Win32 and Win32 & DOS namespace.
20276
20277 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
20278
20279 * include/grub/types.h (LONG_MAX): Likewise.
20280
58b6645a 202812008-09-04 Felix Zielcke <fzielcke@z-51.de>
20282
4ee55921 20283 * util/getroot.c: Include <config.h>.
20284 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
20285 add support for /dev/md/N devices and handle LVM double dash escaping.
20286
202872008-09-04 Felix Zielcke <fzielcke@z-51.de>
20288
20289 * config.guess: Update to latest version from config git.
20290 * config.sub: Likewise.
58b6645a 20291
9124f65d 202922008-09-03 Robert Millan <rmh@aybabtu.com>
20293
20294 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
20295 `disk->total_sectors'.
20296
81a06771 202972008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 20298
20299 * include/grub/normal.h: Fixed incorrect comment for
20300 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
20301
81a06771 203022008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 20303
20304 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
20305 values with defines.
20306
20307 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
20308 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
20309 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
20310 (GRUB_VBE_MODEATTR_COLOR): Likewise.
20311 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
20312 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
20313 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
20314 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
20315 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
20316 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
20317 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
20318 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
20319 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
20320 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
20321 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
20322 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
20323 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
20324 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
20325 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
20326
93d5cbf8 203272008-08-31 Robert Millan <rmh@aybabtu.com>
20328
20329 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
20330 declaration.
20331 (grub_multiboot): Fix a few warnings.
20332
21751d50 203332008-08-31 Robert Millan <rmh@aybabtu.com>
20334
20335 * loader/i386/pc/multiboot.c: Update comment not to say that
20336 boot_device support is unimplemented.
20337
e27a75c5 203382008-08-31 Robert Millan <rmh@aybabtu.com>
20339
20340 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
20341 or memory map support are unimplemented.
20342
81a06771 203432008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 20344
20345 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
20346
81a06771 203472008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 20348
20349 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
20350 total video memory in 'vbeinfo' output; show color format details for
20351 each video mode.
20352
7c5d8d95 203532008-08-30 Pavel Roskin <proski@gnu.org>
20354
20355 * util/genmoddep.c: Remove for real this time.
20356 * DISTLIST: Remove util/genmoddep.c.
20357
4cebd25a 203582008-08-30 Robert Millan <rmh@aybabtu.com>
20359
20360 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
20361 as required by Multiboot spec (it was already 4-byte aligned, but
20362 only by chance).
20363
b497a269 203642008-08-29 Pavel Roskin <proski@gnu.org>
20365
e3925185 20366 * kern/powerpc/ieee1275/crt0.S: Rename to ...
20367 * kern/powerpc/ieee1275/startup.S: ... this.
20368 * conf/powerpc-ieee1275.rmk: Adjust for the above.
20369 * DISTLIST: Likewise.
20370
b497a269 20371 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
20372 grub/cpu/kernel.h. Add start label for consistency with other
20373 platforms. Add grub_prefix immediately after start. Add jump
20374 to the code after grub_prefix.
20375 * include/grub/powerpc/kernel.h: Provide valid values for
20376 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
20377
6e5a42fe 203782008-08-29 Bean <bean123ch@gmail.com>
20379
20380 * configure.ac: Change host_os to cygwin for mingw.
20381 (asprintf): New check for function.
20382
20383 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
20384 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
20385
20386 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 20387 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 20388 sync, sleep and grub_util_get_disk_size for mingw.
20389
20390 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
20391 to get size in mingw.
20392 (open_device): Use flag O_BINARY if it's defined.
20393 (find_root_device): Add dummy code for mingw.
20394
20395 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
20396 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
20397 (get_scsi_disk_name): Return 0 for mingw.
20398
20399 * util/hostfs.c: #include <grub/util/misc.h>.
20400 (grub_hostfs_open): Use "rb" flag to open file, use
20401 grub_util_get_disk_size to get disk size for mingw.
20402
20403 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
20404 (asprintf): New function if HAVE_ASPRINTF is not set.
20405 (sync): New function for mingw.
20406 (sleep): Likewise.
20407 (grub_util_get_disk_size): Likewise.
20408
ab3f2673 204092008-08-28 Pavel Roskin <proski@gnu.org>
20410
20411 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20412 kern/time.c.
20413
1c282483 204142008-08-28 Robert Millan <rmh@aybabtu.com>
20415
20416 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
20417
678e849c 204182008-08-28 Robert Millan <rmh@aybabtu.com>
20419
20420 Change find_grub_drive() syntax so it doesn't prevent it from
20421 detecting NULL names as errors.
20422
20423 * util/biosdisk.c (find_grub_drive): Move free slot search code
20424 from here ...
20425 (find_free_slot): ... to here.
20426 (read_device_map): Use find_free_slot() to search for free slots.
20427
965c75ca 204282008-08-27 Marco Gerards <marco@gnu.org>
20429
20430 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
20431 (scsi_mod_SOURCES): New variable.
20432 (scsi_mod_CFLAGS): Likewise
20433 (scsi_mod_LDFLAGS): Likewise.
20434
20435 * disk/scsi.c: New file.
20436
20437 * include/grub/scsi.h: Likewise.
20438
20439 * include/grub/scsicmd.h: Likewise.
20440
20441 * disk/ata.c: Include <grub/scsi.h>.
20442 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
20443 instead.
20444 (grub_ata_iterate): Skip ATAPI devices.
20445 (grub_ata_open): Only handle ATAPI devices.
20446 (struct grub_atapi_read): Removed.
20447 (grub_atapi_readsector): Likewise.
20448 (grub_ata_read): No longer handle ATAPI devices.
20449 (grub_ata_write): Likewise.
20450 (grub_atapi_iterate): New function.
20451 (grub_atapi_read): Likewise.
20452 (grub_atapi_write): Likewise.
20453 (grub_atapi_open): Likewise.
20454 (grub_atapi_close): Likewise.
20455 (grub_atapi_dev): New variable.
20456 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
20457 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
20458
20459 * include/grub/disk.h (enum grub_disk_dev_id): Add
20460 `GRUB_DISK_DEVICE_SCSI_ID'.
20461
c07ae501 204622008-08-26 Robert Millan <rmh@aybabtu.com>
20463
20464 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
20465 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
20466 descriptive.
20467
5ed20adc 204682008-08-23 Bean <bean123ch@gmail.com>
20469
20470 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
20471 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20472 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
20473 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
20474 dm_nv.mod.
20475 (raid5rec_mod_SOURCES): New macro.
20476 (raid5rec_mod_CFLAGS): Likewise.
20477 (raid5rec_mod_LDFLAGS): Likewise.
20478 (raid6rec_mod_SOURCES): Likewise.
20479 (raid6rec_mod_CFLAGS): Likewise.
20480 (raid6rec_mod_LDFLAGS): Likewise.
20481 (mdraid_mod_SOURCES): Likewise.
20482 (mdraid_mod_CFLAGS): Likewise.
20483 (mdraid_mod_LDFLAGS): Likewise.
20484 (dm_nv_mod_SOURCES): Likewise.
20485 (dm_nv_mod_CFLAGS): Likewise.
20486 (dm_nv_mod_LDFLAGS): Likewise.
20487
20488 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
20489 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20490 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20491
20492 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
20493 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20494
20495 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20496
20497 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20498
20499 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20500
20501 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20502
20503 * disk/raid5_recover.c: New file.
20504
20505 * disk/raid6_recover.c: Likewise.
20506
20507 * disk/mdraid_linux.c: Likewise.
20508
20509 * disk/dmraid_nvidia.c: Likewise.
20510
20511 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
20512 ULONG_MAX.
20513
20514 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
20515 calculate the size of raid device.
20516 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
20517 different layout of raid5.
20518 (grub_raid_scan_device): Remove code specific to mdraid.
20519 (grub_raid_list): New variable.
20520 (free_array): New function.
20521 (grub_raid_register): Likewise.
20522 (grub_raid_unregister): Likewise.
20523 (grub_raid_rescan): Likewise.
20524 (GRUB_MOD_INIT): Don't iterate device here.
20525 (GRUB_MOD_FINI): Use free_array to release resource.
20526
20527 * include/grub/raid.h: Remove macro and structure specific to mdraid.
20528 (grub_raid5_recover_func_t): New function variable type.
20529 (grub_raid6_recover_func_t): Likewise.
20530 (grub_raid5_recover_func): New variable.
20531 (grub_raid6_recover_func): Likewise.
20532 (grub_raid_register): New function.
20533 (grub_raid_unregister): Likewise.
20534 (grub_raid_rescan): Likewise.
20535 (grub_raid_block_xor): Likewise.
20536
20537 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
20538 (CMD_CRC): New macro.
20539 (part): Removed.
20540 (read_file): Handle device as well as file.
20541 (cmd_crc): New function.
20542 (fstest): Handle multiple disks.
20543 (options): Remove part, raw and long, add root and diskcount.
20544 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 20545 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 20546 add handling for the new options, support multiple disks.
20547
20548 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
20549
29c18915 205502008-08-23 Bean <bean123ch@gmail.com>
20551
20552 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
20553
20554 * genfslist.sh: Ignore kernel.mod.
20555
20556 * genpartmaplist.sh: Likewise.
20557
8415f261 205582008-08-23 Robert Millan <rmh@aybabtu.com>
20559
20560 * util/getroot.c (find_root_device): Skip anything that starts with
20561 a dot, not just directories. This avoids things like /dev/.tmp.md0.
20562
d5a7dc5b 205632008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 20564
d5a7dc5b 20565 * util/update-grub.in (GRUB_GFXMODE): Export variable.
20566 * util/grub.d/00_header.in: Allow the administrator to change default
20567 gfxmode via ${GRUB_GFXMODE}.
20568
380cfbb4 205692008-08-21 Felix Zielcke <fzielcke@z-51.de>
20570
20571 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
20572
c9baafe7 205732008-08-21 Robert Millan <rmh@aybabtu.com>
20574
20575 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
20576 loader.
20577 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
20578 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
20579
e290bef2 205802008-08-20 Carles Pina i Estany <carles@pina.cat>
20581
20582 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
20583 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
20584
f9dbfc96 205852008-08-19 Robert Millan <rmh@aybabtu.com>
20586
20587 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
20588 (struct grub_virtual_screen): Remove `cursor_color'.
20589 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
20590 initialization.
20591 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
20592
dd6bd6ab 205932008-08-18 Robert Millan <rmh@aybabtu.com>
20594
20595 Unify (identical) linux_normal.c files.
20596 * loader/i386/efi/linux_normal.c: Move from here ...
20597 * loader/linux_normal.c: ... to here. Update all users.
20598 * loader/i386/pc/linux_normal.c: Delete. Update all users.
20599 * loader/i386/ieee1275/linux_normal.c: Likewise.
20600
7f42f83e 206012008-08-18 Robert Millan <rmh@aybabtu.com>
20602
20603 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
20604 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
20605 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
20606 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
20607 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
20608 New macros.
20609 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
20610 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
20611 (GRUB_LINUX_CL_END_OFFSET): ... to here.
20612 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
20613 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
20614 (GRUB_EFI_CL_END_OFFSET): Rename to ...
20615 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
20616 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
20617 Initialize `params->video_cursor_x' and `params->video_cursor_y'
20618 portably using grub_getxy().
20619 Replace `-EFI' with `-bzImage' in boot message.
20620
38487ddb 206212008-08-17 Robert Millan <rmh@aybabtu.com>
20622
20623 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
20624
deceb3ec 206252008-08-17 Robert Millan <rmh@aybabtu.com>
20626
20627 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
20628
20629 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
20630 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
20631 (grub_machine_mmap_iterate): New function declaration.
20632 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
20633 structure.
20634 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
20635 macros.
20636
20637 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
20638 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
20639 Move e820 parsing from here ...
20640 * kern/i386/pc/mmap.c: New file.
20641 (grub_machine_mmap_iterate): ... to here.
20642
20643 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
20644 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
20645 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
20646 (grub_available_iterate): Redeclare to return `void', and redeclare
20647 its hook to use grub_uint64_t as addr and size parameters, and rename
20648 to ...
20649 (grub_machine_mmap_iterate): ... this. Update all users.
20650
20651 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
20652 to make it more readable. Rename to ...
20653 (grub_machine_mmap_iterate): ... this.
20654
20655 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
20656 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
20657 (grub_multiboot): Allocate an extra region after the payload, and fill
20658 it with a Multiboot memory map. Adjust a.out loader to calculate size
20659 with the extra space.
20660 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
20661 with the extra space.
20662
f8aa0f43 206632008-08-17 Carles Pina i Estany <carles@pina.cat>
20664
9807deb9 20665 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 20666
605f5bb6 206672008-08-17 Felix Zielcke <fzielcke@z-51.de>
20668
20669 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
20670 mdate-sh to the list `find' searches for.
20671 * DISTLIST: Regenerated.
20672
210db6c6 206732008-08-16 Felix Zielcke <fzielcke@z-51.de>
20674
20675 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
20676 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 20677 genmoddep.awk, gensymlist.sh.in.
20678 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 20679 * DISTLIST: Regenerated.
48cdbfd4 20680 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 20681
1082b929 206822008-08-16 Robert Millan <rmh@aybabtu.com>
20683
20684 * disk/raid.c (grub_raid_init): Handle/report errors set by
20685 grub_device_iterate().
20686 * disk/lvm.c (grub_lvm_init): Likewise.
20687
42ce5170 206882008-08-15 Bean <bean123ch@gmail.com>
20689
20690 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20691 and datehook.mod.
20692 (datetime_mod_SOURCES): New macro.
20693 (datetime_mod_CFLAGS): Likewise.
20694 (datetime_mod_LDFLAGS): Likewise.
20695 (date_mod_SOURCES): Likewise.
20696 (date_mod_CFLAGS): Likewise.
20697 (date_mod_LDFLAGS): Likewise.
20698 (datehook_mod_SOURCES): Likewise.
20699 (datehook_mod_CFLAGS): Likewise.
20700 (datehook_mod_LDFLAGS): Likewise.
20701
20702 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20703 and datehook.mod.
20704 (datetime_mod_SOURCES): New macro.
20705 (datetime_mod_CFLAGS): Likewise.
20706 (datetime_mod_LDFLAGS): Likewise.
20707 (date_mod_SOURCES): Likewise.
20708 (date_mod_CFLAGS): Likewise.
20709 (date_mod_LDFLAGS): Likewise.
20710 (datehook_mod_SOURCES): Likewise.
20711 (datehook_mod_CFLAGS): Likewise.
20712 (datehook_mod_LDFLAGS): Likewise.
20713
20714 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20715 and datehook.mod.
20716 (datetime_mod_SOURCES): New macro.
20717 (datetime_mod_CFLAGS): Likewise.
20718 (datetime_mod_LDFLAGS): Likewise.
20719 (date_mod_SOURCES): Likewise.
20720 (date_mod_CFLAGS): Likewise.
20721 (date_mod_LDFLAGS): Likewise.
20722 (datehook_mod_SOURCES): Likewise.
20723 (datehook_mod_CFLAGS): Likewise.
20724 (datehook_mod_LDFLAGS): Likewise.
20725
20726 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20727 and datehook.mod.
20728 (datetime_mod_SOURCES): New macro.
20729 (datetime_mod_CFLAGS): Likewise.
20730 (datetime_mod_LDFLAGS): Likewise.
20731 (date_mod_SOURCES): Likewise.
20732 (date_mod_CFLAGS): Likewise.
20733 (date_mod_LDFLAGS): Likewise.
20734 (datehook_mod_SOURCES): Likewise.
20735 (datehook_mod_CFLAGS): Likewise.
20736 (datehook_mod_LDFLAGS): Likewise.
20737
20738 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20739 and datehook.mod.
20740 (datetime_mod_SOURCES): New macro.
20741 (datetime_mod_CFLAGS): Likewise.
20742 (datetime_mod_LDFLAGS): Likewise.
20743 (date_mod_SOURCES): Likewise.
20744 (date_mod_CFLAGS): Likewise.
20745 (date_mod_LDFLAGS): Likewise.
20746 (datehook_mod_SOURCES): Likewise.
20747 (datehook_mod_CFLAGS): Likewise.
20748 (datehook_mod_LDFLAGS): Likewise.
20749
20750 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
20751
20752 * commands/date.c: New file.
20753
20754 * hook/datehook.c: Likewise.
20755
20756 * include/grub/lib/datetime.h: Likewise.
20757
20758 * include/grub/i386/cmos.h: Likewise.
20759
20760 * lib/datetime.c: Likewise.
20761
20762 * lib/i386/datetime.c: Likewise.
20763
20764 * lib/efi/datetime.c: Likewise.
20765
0e9242da 207662008-08-14 Robert Millan <rmh@aybabtu.com>
20767
20768 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
20769 (grub_mkelfimage_SOURCES): New variable.
20770 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
20771
20772 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
20773 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
20774 * conf/powerpc-ieee1275.rmk: Likewise.
20775 * conf/i386-ieee1275.rmk: Likewise.
20776
20777 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
20778 * kern/i386/coreboot/init.c: Likewise.
20779
20780 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
20781 with `<grub/cpu/kernel.h>'.
20782 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
20783 to ...
20784 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
20785 * kern/i386/coreboot/startup.S: Likewise.
20786
20787 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
20788 (GRUB_MOD_GAP): Remove.
20789 * include/grub/powerpc/kernel.h: New file.
20790 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
20791 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20792 * include/grub/i386/kernel.h: New file.
20793 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
20794 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
20795 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20796
20797 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
20798 `grub-mkelfimage'.
20799 Use --directory when invoking grub_mkimage.
20800
20801 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
20802 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
20803 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
20804 and GRUB_KERNEL_CPU_PREFIX.
20805
b86408f8 208062008-08-14 Felix Zielcke <fzielcke@z-51.de>
20807
d5e619ca 20808 * include/grub/err.h (grub_err_printf): New function prototype.
20809 * util/misc.c (grub_err_printf): New function.
20810 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
20811 grub_printf.
20812 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 20813
7161f0e0 208142008-08-13 Robert Millan <rmh@aybabtu.com>
20815
20816 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
20817
a1967522 208182008-08-13 Robert Millan <rmh@aybabtu.com>
20819
20820 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
20821 boot entry.
20822
371458b5 208232008-08-12 Robert Millan <rmh@aybabtu.com>
20824
20825 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
20826 of the relocation code from here ...
20827 (grub_multiboot): ... to here.
20828 (forward_relocator, backward_relocator): Move from here ...
20829 * kern/i386/loader.S (grub_multiboot_forward_relocator)
20830 (grub_multiboot_backward_relocator): ... to here.
20831 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
20832 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
20833 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
20834 (grub_multiboot_forward_relocator_end)
20835 (grub_multiboot_backward_relocator)
20836 (grub_multiboot_backward_relocator_end): New variables.
20837
05f9452b 208382008-08-12 Bean <bean123ch@gmail.com>
20839
20840 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
20841
20024ab0 208422008-08-11 Robert Millan <rmh@aybabtu.com>
20843
20844 * kern/i386/linuxbios/startup.S: Move from here ...
20845 * kern/i386/coreboot/startup.S: ... to here.
20846
20847 * kern/i386/linuxbios/init.c: Move from here ...
20848 * kern/i386/coreboot/init.c: ... to here.
20849
20850 * kern/i386/linuxbios/table.c: Move from here ...
20851 * kern/i386/coreboot/mmap.c: ... to here.
20852
20853 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
20854
e352e9cd 208552008-08-11 Robert Millan <rmh@aybabtu.com>
20856
20857 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
20858 errors. Leave it to the upper layer to handle them.
20859
2d05bc6a 208602008-08-09 Christian Franke <franke@computer.org>
20861
20862 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
20863 * conf/common.rmk: Install `grub-pe2elf' only if requested.
20864 Install `grub.d/10_windows' only on Cygwin.
20865 * configure.ac: Add subst of `target_os'.
20866 Check `target_os' also before setting TARGET_OBJ2ELF.
20867 Add `--enable-grub-pe2elf'.
20868
042bd419 208692008-08-08 Robert Millan <rmh@aybabtu.com>
20870
20871 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20872 (grub_last_time): Change type to grub_uint64_t.
20873 (grub_disk_open): Migrate code from to using grub_get_time_ms().
20874 (grub_disk_close): Likewise.
20875
20876 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20877 (run_menu): Migrate code from to using grub_get_time_ms().
20878
20879 * util/misc.c (grub_get_time_ms): New function.
20880
7f280db5 208812008-08-08 Marco Gerards <marco@gnu.org>
20882
20883 * disk/ata.c (grub_ata_regget): Change return type to
20884 `grub_uint8_t'.
20885 (grub_ata_regget2): Likewise.
20886 (grub_ata_wait_status): New function.
20887 (grub_ata_wait_busy): Removed function, updated all users to use
20888 `grub_ata_wait_status'.
20889 (grub_ata_wait_drq): Likewise.
20890 (grub_ata_cmd): New function.
20891 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
20892 error handling.
20893 (grub_ata_pio_write): Add error handling.
20894 (grub_atapi_identify): Likewise.
20895 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
20896 handling.
20897 (grub_ata_identify): Use `grub_ata_cmd' and improve error
20898 handling. Actually use the detected registers. Reorder the
20899 detection logic such that it is easier to read.
20900 (grub_ata_pciinit): Do not assign the same ID to each controller.
20901 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
20902 handling.
20903 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
20904
20905 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
20906
1fbc5e66 209072008-08-08 Marco Gerards <marco@gnu.org>
20908
20909 * NEWS: Update.
20910
819ce6c0 209112008-08-07 Bean <bean123ch@gmail.com>
20912
20913 * include/grub/x86_64/pci.h: New file.
20914
5c41d44d 209152008-08-07 Christian Franke <franke@computer.org>
20916
20917 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
20918 (TIMER2_GATE): Likewise.
20919 (grub_pit_wait): Add enable/disable of the timer2 gate
20920 bit of port 0x61. This fixes a possible infinite loop.
20921
5ebc275d 209222008-08-07 Bean <bean123ch@gmail.com>
20923
20924 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
20925 kern/i386/tsc.c and kern/i386/pit.c.
20926
20927 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
20928 x86_64 platform.
20929
20930 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
20931 <grub/i386/tsc.h>.
20932
20933 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
20934
e383b3d0 209352008-08-07 Bean <bean123ch@gmail.com>
20936
20937 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
20938
20939 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
20940
20941 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
20942 multiple inclusion. Add #include <grub/types.h>.
20943
1cbb58ac 209442008-08-06 Christian Franke <franke@computer.org>
20945
20946 * conf/common.rmk: Build and install `10_windows'.
20947 * util/grub.d/10_windows.in: New script.
20948
337f5a1e 209492008-08-06 Pavel Roskin <proski@gnu.org>
20950
20951 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
20952
057bc4ac 209532008-08-06 Robert Millan <rmh@aybabtu.com>
20954
20955 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
20956 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
20957
2b99f123 209582008-08-06 Bean <bean123ch@gmail.com>
20959
20960 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
20961 (grub_pxefs_fs_int): Remove dummy definition.
20962 (grub_pxefs_open): Use data->block_size to store the current block
20963 size setting.
20964 (grub_pxefs_read): Use block size stored in data->block_size. As the
20965 value of grub_pxe_blksize can be changed after the file is opened.
20966
9f0234cb 209672008-08-06 Bean <bean123ch@gmail.com>
20968
20969 * fs/i386/pc/pxe.c (curr_file): new variable.
20970 (grub_pxefs_open): Simply the handling of pxe file system. Don't
20971 require the dummy internal file system anymore.
20972 (grub_pxefs_read): Removed.
20973 (grub_pxefs_close): Likewise.
20974 (grub_pxefs_fs_int): Likewise.
20975 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
20976 connection when we switch file.
20977 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
20978
a55d42e0 209792008-08-06 Robert Millan <rmh@aybabtu.com>
20980
20981 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
20982 `halt.mod'.
20983 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
20984 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
20985
20986 * kern/i386/halt.c: New file.
20987 * kern/i386/reboot.c: Likewise.
20988 * include/grub/i386/reboot.h: Likewise.
20989 * include/grub/i386/halt.h: Likewise.
20990
20991 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
20992 Include `<grub/cpu/halt.h>'.
20993 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
20994 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
20995
20996 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
20997 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
20998 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
20999 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
21000 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
21001 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
21002 from here ...
21003 * include/grub/i386/at_keyboard.h: ... to here.
21004
24371d26 210052008-08-05 Robert Millan <rmh@aybabtu.com>
21006
21007 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
21008 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
21009 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
21010 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21011 `kern/generic/millisleep.c'.
21012
21013 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
21014 instead of grub_get_rtc().
21015 (grub_tsc_init): Initialize `tsc_boot_time'.
21016
21017 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
21018 (grub_machine_init): Use grub_tsc_init() rather than
21019 installing an RTC-based handler via grub_install_get_time_ms().
21020
21021 * kern/i386/pit.c: New file.
21022 * include/grub/i386/pit.h: Likewise.
21023
9e7007b3 210242008-08-05 Bean <bean123ch@gmail.com>
21025
21026 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
21027
21028 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
21029 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
21030 (pxe_mod_SOURCES): New macro.
21031 (pxe_mod_CFLAGS): Likewise.
21032 (pxe_mod_LDFLAGS): Likewise.
21033 (pxecmd_mod_SOURCES): Likewise.
21034 (pxecmd_mod_CFLAGS): Likewise.
21035 (pxecmd_mod_LDFLAGS): Likewise.
21036
21037 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
21038 (grub_pxe_call): Likewise.
21039
21040 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
21041
21042 * commands/i386/pc/pxecmd.c: New file.
21043
9f0234cb 21044 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 21045
21046 * include/grub/i386/pc/pxe.h: Likewise.
21047
6977d49f 210482008-08-05 Bean <bean123ch@gmail.com>
21049
21050 * util/console.c (grub_console_cur_color): New variable.
21051 (grub_console_standard_color): Likewise.
21052 (grub_console_normal_color): Likewise.
21053 (grub_console_highlight_color): Likewise.
21054 (color_map): Likewise.
21055 (use_color): Likewise.
21056 (NUM_COLORS): New macro.
21057 (grub_ncurses_setcolorstate): Handle color properly.
21058 (grub_ncurses_setcolor): Don't change color here, just remember the
21059 settings, color will be set in grub_ncurses_setcolorstate.
21060 (grub_ncurses_getcolor): New function.
21061 (grub_ncurses_init): Initialize color pairs.
21062 (grub_ncurses_term): New member grub_ncurses_getcolor.
21063
9c2ff3ee 210642008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 21065
9c2ff3ee 21066 High resolution timer support. Implemented for x86 CPUs using TSC.
21067 Extracted generic grub_millisleep() so it's linked in only as needed.
21068 This requires a Pentium compatible CPU; if the RDTSC instruction is
21069 not supported, then it falls back on the generic grub_get_time_ms()
21070 implementation that uses the machine's RTC.
21071
21072 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
21073 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21074 `kern/generic/millisleep.c'.
21075
21076 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
21077 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
21078
21079 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
21080 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
21081
21082 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21083
21084 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21085 `kern/generic/millisleep.c'.
21086
21087 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21088
21089 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
21090
21091 * kern/generic/rtc_get_time_ms.c: New file.
21092
21093 * kern/generic/millisleep.c: New file.
337f5a1e 21094
9c2ff3ee 21095 * kern/misc.c: Don't include
21096 <kern/time.h> anymore.
21097 (grub_millisleep_generic): Removed.
21098
21099 * commands/sleep.c (grub_interruptible_millisleep): Uses
21100 grub_get_time_ms() instead of grub_get_rtc().
21101
21102 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
21103 function.
21104 (grub_cpu_is_cpuid_supported): New inline function.
21105 (grub_cpu_is_tsc_supported): New inline function.
21106 (grub_tsc_init): New function prototype.
21107 (grub_tsc_get_time_ms): New function prototype.
21108
21109 * kern/i386/tsc.c (grub_get_time_ms): New file.
21110
21111 * include/grub/time.h: Include <grub/types.h.
21112 (grub_millisleep_generic): Removed.
21113 (grub_get_time_ms): New prototype.
21114 (grub_install_get_time_ms): New prototype.
21115 (grub_rtc_get_time_ms): New prototype.
21116
21117 * kern/time.c (grub_get_time_ms): New function.
21118 (grub_install_get_time_ms): New function.
21119
21120 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
21121 <grub/time.h> anymore.
21122 (grub_millisleep): Removed.
21123 (grub_machine_init): Call grub_tsc_init.
21124
21125 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
21126 get_time_ms() implementation.
21127
21128 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
21129 (ieee1275_get_time_ms): New function.
21130 (grub_machine_init): Install get_time_ms() implementation.
21131
21132 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
21133 (grub_machine_init): Call grub_tsc_init().
21134 (grub_millisleep): Removed.
bf06a93f 21135
9c2ff3ee 21136 * kern/ieee1275/init.c (grub_millisleep): Removed.
21137 (grub_machine_init): Install ieee1275_get_time_ms()
21138 implementation.
21139 (ieee1275_get_time_ms): New function.
21140 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
21141 real work.
21142
9ec92aaf 211432008-08-05 Marco Gerards <marco@gnu.org>
21144
21145 * disk/ata.c: Include <grub/pci.h>.
21146 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
21147 (grub_ata_initialize): Rewritten.
21148 (grub_ata_device_initialize): New function.
21149
8d23f507 211502008-08-04 Pavel Roskin <proski@gnu.org>
21151
21152 * kern/main.c: Include grub/mm.h.
21153
5e15ee3d 211542008-08-04 Robert Millan <rmh@aybabtu.com>
21155
21156 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
21157 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
21158 corruption problem).
21159
a9053f8f 211602008-08-04 Robert Millan <rmh@aybabtu.com>
21161
21162 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
21163 warnings introduced in my last commit.
21164
dd19c7d7 211652008-08-03 Robert Millan <rmh@aybabtu.com>
21166
21167 Make PCI available on all i386 architectures.
21168
21169 * include/grub/i386/pc/pci.h: Move from here ...
21170 * include/grub/i386/pci.h: ... to here.
21171
21172 * include/grub/i386/pc/pci.h: Remove.
21173 * include/grub/i386/efi/pci.h: Remove.
21174 * include/grub/x86_64/efi/pci.h: Remove.
21175
21176 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
21177 `<grub/cpu/pci.h>'.
21178
21179 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
21180 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
21181 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
21182
21183 * conf/i386-ieee1275.rmk: Likewise.
21184
e14a6184 211852008-08-03 Robert Millan <rmh@aybabtu.com>
21186
21187 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
21188 (grub_console_setcursor): Make it possible to set cursor off.
21189
52768e37 211902008-08-03 Robert Millan <rmh@aybabtu.com>
21191
21192 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
21193 of modules instead of assuming which platform provides what.
21194 * util/update-grub.in: Likewise.
21195
2d52f57f 211962008-08-03 Robert Millan <rmh@aybabtu.com>
21197
21198 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
21199 instead of `grub_install_dos_part' to determine whether a drive needs
21200 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 21201 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 21202
2a5cd121 212032008-08-02 Robert Millan <rmh@aybabtu.com>
21204
21205 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
21206
93808428 212072008-08-02 Robert Millan <rmh@aybabtu.com>
21208
21209 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
21210 of informational grub_dprintf() calls.
21211
3bd0a12a 212122008-08-02 Robert Millan <rmh@aybabtu.com>
21213
21214 * disk/memdisk.c (memdisk_size): Don't initialize.
21215 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
21216
21217 * include/grub/i386/pc/kernel.h
21218 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
21219 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
21220 (grub_memdisk_image_size, grub_arch_memdisk_addr)
21221 (grub_arch_memdisk_size): Remove.
21222
21223 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
21224 field (was only used to transfer a constant). Add `type' field to
21225 support multiple module types.
21226 (grub_module_iterate): New function.
21227
21228 * kern/device.c (grub_device_open): Do not hide error messages
21229 when grub_disk_open() fails. Use grub_print_error() instead.
21230
21231 * kern/i386/pc/init.c (grub_arch_modules_addr)
21232 (grub_arch_memdisk_size): Remove functions.
21233 (grub_arch_modules_addr): Return the module address in high memory
21234 (now that it isn't copied anymore).
21235
21236 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
21237 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
21238 decompression routine (grub_total_module_size already includes that
21239 now). Don't copy modules back to low memory.
21240
21241 * kern/main.c: Include `<grub/mm.h>'.
21242 (grub_load_modules): Split out (and use) ...
21243 (grub_module_iterate): ... this function, which iterates through
21244 module objects and runs a hook.
21245 Comment out grub_mm_init_region() call, as it would cause non-ELF
21246 modules to be overwritten.
21247
21248 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
21249 the memdisk image in its own region, make it part of the module list.
21250 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
21251 (main): Parse --memdisk|-m option, and pass user-provided path as
21252 parameter to generate_image().
21253 (add_segments): Pass `memdisk_path' down to load_modules().
21254 (load_modules): Embed memdisk image in module section when requested.
21255 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
21256 `header.type' instead of `header.offset'.
21257
21258 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
21259 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
21260 (memdisk_mod_LDFLAGS): New variables.
21261 * conf/i386-coreboot.rmk: Likewise.
21262 * conf/i386-ieee1275.rmk: Likewise.
21263
a927cc73 212642008-08-02 Robert Millan <rmh@aybabtu.com>
21265
21266 * loader/i386/pc/multiboot.c (playground, forward_relocator)
21267 (backward_relocator): New variables. Used to allocate and relocate
21268 the payload, respectively.
21269 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 21270 address, install the appropriate relocator code in each bound of
a927cc73 21271 the payload, and set the entry point such that
21272 grub_multiboot_real_boot() will jump to one of them.
21273
21274 * kern/i386/loader.S (grub_multiboot_payload_size)
21275 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21276 (grub_multiboot_payload_entry_offset): New variables.
21277 (grub_multiboot_real_boot): Set cpu context to what the relocator
21278 expects, and jump to the relocator instead of the payload.
21279
21280 * include/grub/i386/loader.h (grub_multiboot_payload_size)
21281 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21282 (grub_multiboot_payload_entry_offset): Export.
21283
b15d8a0c 212842008-08-01 Bean <bean123ch@gmail.com>
21285
21286 * normal/menu_entry.c (editor_getline): Don't return the original
21287 string as result, as it will be released by lexer once it has done
21288 using it.
21289
cdfb3d22 212902008-08-01 Robert Millan <rmh@aybabtu.com>
21291
21292 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
21293 within menuentries, not before them.
21294 util/grub.d/10_hurd.in: Likewise.
21295
9175e93d 212962008-08-01 Bean <bean123ch@gmail.com>
21297
21298 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
21299 (bufio_mod_SOURCES): New macro.
21300 (bufio_mod_CFLAGS): Likewise.
21301 (bufio_mod_LDFLAGS): Likewise.
21302
21303 * include/grub/bufio.h: New file.
21304
21305 * io/bufio.c: Likewise.
21306
21307 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
21308 (grub_video_reader_png): Use grub_buffile_open to open file.
21309
21310 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
21311 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
21312
21313 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
21314 (grub_video_reader_tga): Use grub_buffile_open to open file.
21315
21316 * font/manager.c: Include <grub/bufio.h>.
21317 (add_font): Use grub_buffile_open to open file.
21318
3d8383e7 213192008-07-31 Robert Millan <rmh@aybabtu.com>
21320
21321 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
21322 ELF segments, use a macro for arbitrarily accessing any of them instead
21323 of preparing a pointer that allows access to one at a time.
21324 (grub_multiboot_load_elf64): Likewise.
21325
16e641b6 213262008-07-31 Bean <bean123ch@gmail.com>
21327
21328 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
21329 GRUB_KERNEL_MACHINE_DATA_END.
21330
59198b72 213312008-07-30 Robert Millan <rmh@aybabtu.com>
21332
21333 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
21334 Increase from 0x50 to 0x60.
21335 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
21336 use UUIDs to identify the root drive for them. If that's not
21337 possible, abort.
21338 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
21339 check, for cross-disk installs.
21340
ae88bca3 213412008-07-30 Robert Millan <rmh@aybabtu.com>
21342
21343 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
21344 is non-empty, use it to set the `prefix' environment variable instead
21345 of the usual approach.
21346 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
21347 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
21348 environment variable instead of dummy make_install_device().
21349
21350 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
21351 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 21352 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 21353
21354 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
21355 New variable reference.
21356 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
21357 New macro. Defines offset of `grub_prefix' within startup.S (relative
21358 to `start').
21359 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
21360 section within startup.S (relative to `start').
21361 * include/grub/i386/coreboot/kernel.h: Likewise.
21362
21363 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
21364 Overwrite grub_prefix with its contents, at the beginning of the
21365 first segment.
21366 (main): Understand -p|--prefix.
21367
14f41dd1 213682008-07-30 Robert Millan <rmh@aybabtu.com>
21369
21370 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
21371
4ca049a3 213722008-07-30 Robert Millan <rmh@aybabtu.com>
21373
21374 * term/i386/pc/vga_text.c (grub_console_cls): Use
21375 grub_console_gotoxy() to go back to beginning of the screen.
21376 Found by Patrick Georgi <patrick.georgi@coresystems.de>
21377
2921d337 213782008-07-29 Christian Franke <franke@computer.org>
21379
21380 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
21381 Add conversion of emulated mount points on Cygwin.
21382
b609876d 213832008-07-29 Christian Franke <franke@computer.org>
21384
21385 * util/update-grub.in: Add a check for admin
21386 group on Cygwin.
21387 Remove old `grub.cfg.new' before creation.
21388 Add `-f' to `mv' to handle the different filesystem
21389 semantics of Windows.
21390
e93e4679 213912008-07-29 Bean <bean123ch@gmail.com>
21392
21393 * normal/main.c (get_line): Fix buffer overflow bug.
21394
41694fd0 213952008-07-28 Robert Millan <rmh@aybabtu.com>
21396
21397 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
21398 (struct grub_apple_header): New struct. Describes the layout of
21399 the partmap header.
21400 (apple_partition_map_iterate): Check the header magic as well as the
21401 partition magic (which was already being checked).
21402
cfd0b4e6 214032008-07-28 Pavel Roskin <proski@gnu.org>
21404
21405 * genmk.rb: Add a warning to the beginning of the output that
21406 it's a generated file and should not be edited.
21407
93cce016 214082008-07-28 Robert Millan <rmh@aybabtu.com>
21409
21410 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21411 with the same number are found, just use issue a warning with
21412 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 21413
cd1df915 214142008-07-27 Robert Millan <rmh@aybabtu.com>
21415
21416 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
21417 information.
21418
b70a8427 214192008-07-27 Bean <bean123ch@gmail.com>
21420
21421 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
21422 (grub_fat_find_dir): Ignore case when comparing filename.
21423
8f5e379f 214242008-07-27 Bean <bean123ch@gmail.com>
21425
21426 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
21427 smallino, as it's more descriptive, and i8count can be confused with
21428 the other field count.
21429 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
21430 inode type.
21431
a85cd5a0 214322008-07-27 Bean <bean123ch@gmail.com>
21433
21434 * commands/crc.c: New file.
21435
21436 * lib/crc.c: Likewise.
21437
21438 * include/grub/lib/crc.h: Likewise.
21439
21440 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
21441
21442 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
21443 (hexdump): Move this function to ...
21444
21445 * lib/hexdump.c: ... here.
21446
21447 * include/grub/hexdump.h: Renamed to ...
21448
21449 * include/grub/lib/hexdump.h: ... this.
21450
21451 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
21452
21453 * util/grub-editenv.c: Likewise.
21454
21455 * include/envblk.h: Renamed to ...
21456
21457 * include/lib/envblk.h: ... this.
21458
21459 * util/envblk.c: Renamed to ...
21460
21461 * lib/envblk.c: ... this.
21462
21463 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
21464 lib/hexdump.c.
21465 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
21466 (pkglib_MODULES): Add crc.mod.
21467 (hexdump_mod_SOURCES): Add lib/hexdump.c.
21468 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
21469 (crc_mod_SOURCES): New macro.
21470 (crc_mod_CFLAGS): Likewise.
21471 (crc_mod_LDFLAGS): Likewise.
21472
21473 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
21474
21475 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21476
21477 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21478
21479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21480
21481 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21482
c298def0 214832008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 21484
21485 * commands/help.c: Include <grub/term.h>.
21486 (TERM_WIDTH): Removed. Updated all users.
21487
cc349fb3 214882008-07-27 Pavel Roskin <proski@gnu.org>
21489
21490 * util/getroot.c (find_root_device): Rephrase a comment to avoid
21491 spurious warnings about a comment within a comment.
21492
9051607e 214932008-07-25 Robert Millan <rmh@aybabtu.com>
21494
21495 * util/getroot.c (find_root_device): Skip devices that match
21496 /dev/dm-[0-9]. This lets the real device be found for any type of
21497 abstraction (LVM, EVMS, RAID..).
21498 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
21499 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
21500 device is found first, find_root_device() will now skip it.
21501
01453bfc 215022008-07-24 Pavel Roskin <proski@gnu.org>
21503
21504 * include/grub/types.h: Use __builtin_bswap32() and
21505 __builtin_bswap64() with gcc 4.3 and newer.
21506
6af9849f 215072008-07-24 Christian Franke <franke@computer.org>
21508
3a0fa256 21509 * util/i386/pc/grub-install.in: If `--debug' is specified,
21510 pass `--verbose' to grub-setup.
21511 Abort script if make_system_path_relative_to_its_root() fails.
21512
7810e747 215132008-07-24 Bean <bean123ch@gmail.com>
21514
21515 * configure.ac: Fixed a bug caused by the previous cygwin patch,
21516 variable `target_platform' should be `platform'.
21517
42290e17 215182008-07-24 Bean <bean123ch@gmail.com>
21519
51cc5193 21520 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 21521 (grub_png_init_fixed_block): New function.
21522 (grub_png_decode_image_data): Handle fixed huffman code compression.
21523
2a8a80e4 215242008-07-24 Bean <bean123ch@gmail.com>
21525
21526 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
21527 (grub_pe2elf_SOURCES): New macro.
21528 (CLEANFILES): Add grub-pe2elf.
21529
21530 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
21531 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
21532 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
21533 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
21534 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
21535 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
21536 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
21537 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
21538 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
21539 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
21540 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
21541 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
21542 (GRUB_PE32_DT_FUNCTION): Likewise.
21543 (GRUB_PE32_REL_I386_DIR32): Likewise.
21544 (GRUB_PE32_REL_I386_REL32): Likewise.
21545 (grub_pe32_symbol): New structure.
21546 (grub_pe32_reloc): Likewise.
21547
21548 * util/grub-pe2elf.c: New file.
21549
21550 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
21551 start symbol in non pc platform.
21552
21553 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
21554
21555 The following patches are from Christian Franke.
21556
21557 * include/grub/dl.h: Remove .previous, gas supports this only
21558 for ELF format.
21559
21560 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
21561 Remove .type, gas supports this only for ELF format.
21562
21563 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
21564 nullbytes in symbol table. This fixes an infinite loop if table is
21565 zero filled.
21566
21567 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
21568 TARGET_IMG_LDFLAGS and EXEEXT.
21569
21570 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
21571 TARGET_IMG_LDFLAGS_AC.
21572 (grub_CHECK_STACK_ARG_PROBE): New function.
21573
21574 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
21575
21576 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
21577
21578 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
21579 to set TARGET_IMG_LD* accordingly.
21580 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
21581 Add call to grub_CHECK_STACK_ARG_PROBE.
21582 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
21583
21584 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
21585
21586 * genmk.rb: Add EXEEXT to CLEANFILES.
21587
12ccdb75 215882008-07-23 Robert Millan <rmh@aybabtu.com>
21589
21590 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
21591 define the codes for arrows and lines used for the menu).
21592 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
21593 as well.
21594
21595 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
21596 fonts, because the latter are too slow.
21597
18eeaf04 215982008-07-21 Bean <bean123ch@gmail.com>
21599
21600 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
21601 a20. Run keyboard test last, as it will cause macbook to halt.
21602
b095e2ad 216032008-07-18 Pavel Roskin <proski@gnu.org>
21604
21605 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
21606 load foreign architecture modules correctly anyway. Keep
21607 support for loading host architecture modules, whether we
21608 compile them or not.
21609
737feb35 216102008-07-17 Pavel Roskin <proski@gnu.org>
21611
3f4ce737 21612 * configure.ac: Use -m32 or -m64 regardless of whether we had to
21613 change target_cpu. The compiler default can mismatch target_cpu
21614 in any case.
21615
4ad2d049 21616 * disk/efi/efidisk.c: Fix format warnings on x86_64.
21617 * kern/efi/efi.c: Likewise.
21618
f6130a12 21619 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
21620 target compiler is functional.
21621 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
21622 are set up.
21623
58393a2d 21624 * configure.ac: Default to efi platform for x86_64-apple. Allow
21625 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
21626 adjustments from the rest, only do them if target is not
21627 explicitly given. Merge other adjustments with the final sanity
21628 check. Remove an extraneous check for supported CPU. Be
21629 specific which CPU and which platform is not supported.
21630
737feb35 21631 * configure.ac: Default to pc platform for x86_64.
21632
546f966a 216332008-07-17 Robert Millan <rmh@aybabtu.com>
21634
21635 Partial LinuxBIOS -> Coreboot rename.
21636
21637 * conf/i386-linuxbios.rmk: Renamed to ...
21638 * conf/i386-coreboot.rmk: ... this.
21639 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
21640 * configure.ac: Accept "coreboot" as input platform (but maintain
21641 compatibility with "linuxbios").
21642 * include/grub/i386/linuxbios: Renamed to ...
21643 * include/grub/i386/coreboot: ... this.
21644
20011694 216452008-07-17 Bean <bean123ch@gmail.com>
21646
21647 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 21648 (appleldr_mod_SOURCE): New variable.
20011694 21649 (appleldr_mod_CFLAGS): Likewise.
21650 (appleldr_mod_LDFLAGS): Likewise.
21651 (pci_mod_SOURCES): Likewise.
21652 (pci_mod_CFLAGS): Likewise.
21653 (pci_mod_LDFLAGS): Likewise.
21654 (lspci_mod_SOURCES): Likewise.
21655 (lspci_mod_CFLAGS): Likewise.
21656 (lspci_mod_LDFLAGS): Likewise.
21657
21658 * conf/x86_64-efi.rmk: New file.
21659
21660 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
21661 macro.
21662 (grub_efidisk_write): Likewise.
21663
21664 * include/efi/api.h (efi_call_0): New macro.
21665 (efi_call_1): Likewise.
21666 (efi_call_2): Likewise.
21667 (efi_call_3): Likewise.
21668 (efi_call_4): Likewise.
21669 (efi_call_5): Likewise.
21670 (efi_call_6): Likewise.
21671
21672 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
21673 grub_rescue_cmd_chainloader.
21674
21675 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
21676 (grub_pe32_optional_header): Change some fields based on i386 or
21677 x86_64 platform.
21678 (GRUB_PE32_PE32_MAGIC): Likewise.
21679
21680 * include/grub/efi/uga_draw.h: New file.
21681
21682 * include/grub/elf.h (STN_ABS): New constant.
21683 (R_X86_64_NONE): Relocation constant for x86_64.
21684 (R_X86_64_64): Likewise.
21685 (R_X86_64_PC32): Likewise.
21686 (R_X86_64_GOT32): Likewise.
21687 (R_X86_64_PLT32): Likewise.
21688 (R_X86_64_COPY): Likewise.
21689 (R_X86_64_GLOB_DAT): Likewise.
21690 (R_X86_64_JUMP_SLOT): Likewise.
21691 (R_X86_64_RELATIVE): Likewise.
21692 (R_X86_64_GOTPCREL): Likewise.
21693 (R_X86_64_32): Likewise.
21694 (R_X86_64_32S): Likewise.
21695 (R_X86_64_16): Likewise.
21696 (R_X86_64_PC16): Likewise.
21697 (R_X86_64_8): Likewise.
21698 (R_X86_64_PC8): Likewise.
21699
21700 * include/grub/i386/efi/pci.h: New file.
21701
21702 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
21703 Change it value based on platform.
21704 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
21705 (GRUB_E820_RAM): Likewise.
21706 (GRUB_E820_RESERVED): Likewise.
21707 (GRUB_E820_ACPI): Likewise.
21708 (GRUB_E820_NVS): Likewise.
21709 (GRUB_E820_EXEC_CODE): Likewise.
21710 (GRUB_E820_MAX_ENTRY): Likewise.
21711 (grub_e820_mmap): New structure.
21712 (linux_kernel_header): Change the efi field according to different
21713 kernel version, also field from linux_kernel_header.
21714
21715 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
21716
21717 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
21718 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
21719 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
21720 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
21721 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
21722 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
21723 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
21724 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
21725 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
21726 (GRUB_PCI_ADDR_IO_MASK): Likewise.
21727
21728 * include/grub/x86_64/efi/kernel.h: New file.
21729
21730 * include/grub/x86_64/efi/loader.h: Likewise.
21731
21732 * include/grub/x86_64/efi/machine.h: Likewise.
21733
21734 * include/grub/x86_64/efi/pci.h: Likewise.
21735
21736 * include/grub/x86_64/efi/time.h: Likewise.
21737
21738 * include/grub/x86_64/linux.h: Likewise.
21739
21740 * include/grub/x86_64/setjmp.h: Likewise.
21741
21742 * include/grub/x86_64/time.h: Likewise.
21743
21744 * include/grub/x86_64/types.h: Likewise.
21745
21746 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
21747 GRUB_TARGET_SIZEOF_VOID_P.
21748
21749 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
21750 (grub_efi_locate_handle): Likewise.
21751 (grub_efi_open_protocol): Likewise.
21752 (grub_efi_set_text_mode): Likewise.
21753 (grub_efi_stall): Likewise.
21754 (grub_exit): Likewise.
21755 (grub_reboot): Likewise.
21756 (grub_halt): Likewise.
21757 (grub_efi_exit_boot_services): Likewise.
21758 (grub_get_rtc): Likewise.
21759
21760 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
21761 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
21762 (grub_efi_allocate_pages): Wrap efi calls.
21763 (grub_efi_free_pages): Wrap efi calls.
21764 (grub_efi_get_memory_map): Wrap efi calls.
21765
21766 * kern/x86_64/dl.c: New file.
21767
21768 * kern/x86_64/efi/callwrap.S: Likewise.
21769
21770 * kern/x86_64/efi/startup.S: Likewise.
21771
21772 * loader/efi/appleloader.c: Likewise.
21773
21774 * loader/efi/chainloader.c (cmdline): New variable.
21775 (grub_chainloader_unload): Wrap efi calls.
21776 (grub_chainloader_boot): Likewise.
21777 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
21778 command line.
21779
21780 * loader/efi/chainloader_normal.c (chainloader_command):
21781 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
21782 command line.
21783
21784 * loader/i386/efi/linux.c (allocate_pages): Change allocation
21785 method.
21786 (grub_e820_add_region): New function.
21787 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
21788 booting.
21789 (grub_find_video_card): New function.
21790 (grub_linux_setup_video): New function.
21791 (grub_rescue_cmd_linux): Probe for video information.
21792
21793 * normal/x86_64/setjmp.S: New file.
21794
21795 * term/efi/console.c (map_char): New function.
21796 (grub_console_putchar): Map unicode char.
21797 (grub_console_checkkey): Wrap efi calls.
21798 (grub_console_getkey): Likewise.
21799 (grub_console_getwh): Likewise.
21800 (grub_console_gotoxy): Likewise.
21801 (grub_console_cls): Likewise.
21802 (grub_console_setcolorstate): Likewise.
21803 (grub_console_setcursor): Likewise.
21804
21805 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
21806
59652a20 218072008-07-16 Pavel Roskin <proski@gnu.org>
21808
ef294055 21809 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
21810 format strings.
21811
59652a20 21812 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
21813 pointer, not an integer. This fixes a warning and prevents
21814 precision loss on 64-bit systems.
21815 (relocate_addresses): Remove unneeded cast.
21816
afc3b5d7 218172008-07-15 Pavel Roskin <proski@gnu.org>
21818
506b2b3e 21819 * kern/i386/ieee1275/init.c: Include grub/cache.h.
21820
62ead89c 21821 * term/ieee1275/ofconsole.c: Disable code unused on i386.
21822
c4cd51d7 21823 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
21824 Fix comparison between signed and unsigned.
21825
0d3d8f28 21826 * include/grub/i386/ieee1275/console.h: Declare
21827 grub_console_init() and grub_console_fini().
21828
8804b286 21829 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
21830 It's empty and unused.
21831
ee01cf35 21832 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
21833 beginning to avoid warnings with some compilers.
21834
afc3b5d7 21835 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
21836 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
21837
e4e8eaa5 218382008-07-14 Pavel Roskin <proski@gnu.org>
21839
407aceb4 21840 * kern/env.c (grub_register_variable_hook): Don't copy empty
21841 string, it leaks memory. Pass "" to grub_env_set(), it should
21842 handle constant strings.
21843
e4e8eaa5 21844 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
21845 * commands/cmp.c (grub_cmd_cmp): Likewise.
21846 * kern/dl.c (grub_dl_flush_cache): Likewise.
21847 (grub_dl_load_core): Likewise.
21848 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
21849 (grub_elf64_load_phdrs): Likewise.
21850
d4e2dad3 218512008-07-13 Pavel Roskin <proski@gnu.org>
21852
21853 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
21854 between signed and unsigned.
21855 (LzmaEnc_Finish): Fix warning about an unused parameter.
21856
aa24b516 218572008-07-13 Bean <bean123ch@gmail.com>
21858
21859 * Makefile.in (enable_lzo): New rule.
21860
21861 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
21862
21863 * configure.ac (ENABLE_LZO): New option --enable-lzo.
21864
21865 * boot/i386/pc/lnxboot.S: #include <config.h>.
21866
21867 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 21868 its value according to the compression algorithm used, lzo or lzma.
aa24b516 21869
21870 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
21871 compression algorithm according to configure macro.
21872
21873 * kern/i386/pc/startup.S (codestart): Likewise.
21874
21875 * kern/i386/pc/lzma_decode.S: New file.
21876
21877 * include/grub/lib/LzFind.h: Likewise.
21878
21879 * include/grub/lib/LzHash.h: Likewise.
21880
21881 * include/grub/lib/LzmaDec.h: Likewise.
21882
21883 * include/grub/lib/LzmaEnc.h: Likewise.
21884
21885 * include/grub/lib/LzmaTypes.h: Likewise.
21886
21887 * lib/LzFind.c: Likewise.
21888
21889 * lib/LzmaDec.c: Likewise.
21890
21891 * lib/LzmaEnc.c: Likewise.
21892
4ae821ac 218932008-07-13 Bean <bean123ch@gmail.com>
21894
21895 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
21896 (grub_ext4_extent_header): New structure.
21897 (grub_ext4_extent): Likewise.
21898 (grub_ext4_extent_idx): Likewise.
21899 (grub_ext4_find_leaf): New function.
21900 (grub_ext2_read_block): Handle extents.
21901
9a745147 219022008-07-12 Robert Millan <rmh@aybabtu.com>
21903
21904 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
21905
d49a4cf6 219062008-07-11 Robert Millan <rmh@aybabtu.com>
21907
21908 * util/grub.d/40_custom.in: New file. Example on how to add custom
21909 entries to /etc/grub.d.
21910 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
21911 40_custom (implicitly, by merging all the grub.d rules).
21912
947414b4 219132008-07-11 Pavel Roskin <proski@gnu.org>
21914
0059cf6f 21915 * commands/read.c (grub_getline): Fix invalid memory access.
21916 Don't add newline to the variable value.
21917
947414b4 21918 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
21919 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
21920 (serial_hw_get_port): Check validity of the port number.
21921 (grub_cmd_serial): Check return value of serial_hw_get_port().
21922
62a02d00 219232008-07-07 Pavel Roskin <proski@gnu.org>
21924
21925 * boot/i386/pc/diskboot.S (notification_string): Replace
21926 "Loading kernel" with just "loading". This is shorter, less
21927 confusing and saves a few bytes for possible future changes.
21928
3e5581b0 219292008-07-05 Pavel Roskin <proski@gnu.org>
21930
ea387a48 21931 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
21932 size for ATAPI devices, they are undefined. Output sector
21933 number in decimal form.
21934
3e5581b0 21935 * disk/ata.c: Use named constants for status bits.
21936
fdecb8fd 219372008-07-04 Pavel Roskin <proski@gnu.org>
21938
bcd35b90 21939 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
21940 grub_addr_t before casting it to the void pointer to fix a
21941 warning. Non-addressable regions are discarded earlier.
21942 (grub_arch_modules_addr): Cast _end to grub_addr_t.
21943 * kern/i386/linuxbios/table.c: Include grub/misc.h.
21944 (check_signature): Don't shadow table_header.
21945 (grub_linuxbios_table_iterate): Cast numeric constants to
21946 grub_linuxbios_table_header_t.
21947 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
21948 grub_stop().
21949
af58ab3d 21950 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
21951 prevent warnings.
21952
1759aa57 21953 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
21954 pointer, which can cause warnings. Support 64-bit addresses.
21955
fdecb8fd 21956 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
21957 of sizeof(long). This fixes PowerPC image generation on x86_64.
21958
8516d2a8 219592008-07-04 Robert Millan <rmh@aybabtu.com>
21960
21961 This fixes a performance issue when pc & gpt partmap iterators
21962 didn't abort iteration even after our hook found what it was
fe987087 21963 looking for (often causing expensive probes of non-existent drives).
8516d2a8 21964
21965 Some callers relied on previous buggy behaviour, since they would
34c44600 21966 raise an error when their own hooks caused early abortion of its
8516d2a8 21967 iteration.
21968
21969 * kern/device.c (grub_device_open): Improve error message.
21970 * disk/lvm.c (grub_lvm_open): Likewise.
21971 * disk/raid.c (grub_raid_open): Likewise.
21972
21973 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
21974 when hook requests it, independently of grub_errno.
21975 (pc_partition_map_probe): Do not fail when find_func() caused
21976 early abortion of pc_partition_map_iterate().
21977
21978 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
21979 when hook requests it, independently of grub_errno.
21980 (gpt_partition_map_probe): Do not fail when find_func() caused
21981 early abortion of gpt_partition_map_iterate().
21982
21983 * kern/partition.c (grub_partition_iterate): Abort parent iteration
21984 when hook requests it, independently of grub_errno. Do not fail when
21985 part_map_iterate_hook() caused early abortion of p->iterate().
21986
21987 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
21988 when grub_partition_iterate() returned with non-zero.
21989
277d0de9 219902008-07-03 Pavel Roskin <proski@gnu.org>
21991
21992 * disk/ata.c (grub_ata_pio_write): Check status before writing,
21993 like we do in grub_ata_pio_read().
21994 (grub_ata_readwrite): Always write individual sectors. Fix the
21995 sector count for the remainder.
21996 (grub_ata_write): Enable writing to ATA devices. Correctly
21997 report error for ATAPI devices.
21998
d4c9b428 219992008-07-02 Pavel Roskin <proski@gnu.org>
22000
e43fc690 22001 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
22002 warning.
22003
f707af42 22004 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
22005 for every read sector, we already increment it for the whole
22006 batch. This fixes reading more than 256 sectors at once.
22007
11e16b15 22008 * util/grub-editenv.c (cmd_info): Cast argument to long
22009 explicitly. ptrdiff_t reduces to int on i386.
22010
cbabfdd4 22011 * util/grub-editenv.c (main): Be specific which parameter is
22012 missing.
22013
b8fbce0a 22014 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
22015 (memdisk): Make memdisk_orig_addr a pointer.
22016
c9c8e606 22017 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
22018 for file offsets, use grub_off_t instead. Fix printf format
22019 warnings.
22020
ca62e598 22021 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
22022 there. Real unexpected warnings should not drown in the noise
22023 about known problems.
22024
ce8d1766 22025 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
22026 grub_disk_addr_t for memory addresses.
22027
00c7a56a 22028 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
22029 explicitly to fix a warning.
22030
08d3ef09 22031 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
22032
cb71ba20 22033 * Makefile.in (MODULE_LDFLAGS): New variable.
22034 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
22035 the linker accepts --build-id=none.
22036 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
22037 MODULE_LDFLAGS.
22038 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
22039
d4c9b428 22040 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
22041 those in Linux XFS code. Provide a way to access 64-bit parent
22042 inode.
22043 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
22044 the end of struct grub_xfs_dir_header.
22045
d4156eee 220462008-07-02 Bean <bean123ch@gmail.com>
22047
22048 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
22049 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22050 and GRUB_IEEE1275_FLAG_NO_ANSI.
22051
22052 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
22053 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22054 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
22055
22056 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
22057 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
22058
22059 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
22060 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
22061
22062 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
22063 esc sequence on non ANSI terminal.
22064 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
22065
22066 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
22067 beginning of file.
22068
2270f77b 220692008-07-02 Bean <bean123ch@gmail.com>
22070
22071 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
22072 (grub_editenv_SOURCES): New variable.
22073 (pkglib_MODULES): Add loadenv.mod.
22074 (loadenv_mod_SOURCES): New variable.
22075 (loadenv_mod_CFLAGS): Likewise.
22076 (loadenv_mod_LDFLAGS): Likewise.
22077
22078 * include/grub/envblk.h: New file.
22079
22080 * util/envblk.c: New file.
22081
22082 * util/grub-editenv.c: New file.
22083
22084 * commands/loadenv.c: New file.
22085
0e9e51ec 220862008-07-01 Pavel Roskin <proski@gnu.org>
22087
d89b7634 22088 * include/multiboot2.h (struct multiboot_tag_module): Use char,
22089 not unsigned char. This fixes warnings and is consistent with
22090 other tags.
22091
bf1835b1 22092 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
22093
8222a04b 22094 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
22095
6a42d99d 22096 * term/tparm.c (analyze): Always set *popcount.
22097
10b159d1 22098 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
22099 cast to fix a warning.
22100
b8789f6c 22101 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
22102 cast to suppress a warning.
22103
29d7e38a 22104 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
22105 grub_fshelp_read_file() expects.
22106
f341f669 22107 * fs/fat.c: Fix UUID calculation on big-endian systems. We
22108 write uuid as a 32-bit value in CPU byte order, so declare and
22109 use it as such.
22110
0e9e51ec 22111 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
22112 long if the format specifier expects it.
22113 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
22114 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22115 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
22116 long to fix a warning.
22117 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
22118 grub_dprintf() arguments to fix warnings.
22119
3aefa857 221202008-06-30 Pavel Roskin <proski@gnu.org>
22121
56c7668b 22122 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
22123 install_bsd_part immediately before core.img is embedded or
22124 modified on disk. This fixes core.img verification if core.img
22125 cannot be embedded.
22126
3aefa857 22127 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
22128 core_path to calculate the blocklist.
22129 Patch from Javier Martín <lordhabbit@gmail.com>
22130
5444088d 221312008-06-29 Robert Millan <rmh@aybabtu.com>
22132
22133 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
22134 block to disk block.
22135 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
22136 Patch from Niels Böhm <bitbucket@arcor.de>
22137
674835c8 221382008-06-29 Robert Millan <rmh@aybabtu.com>
22139
22140 * util/update-grub_lib.in (font_path): Search for fonts in
22141 /boot/grub first, which is more likely to be readable (we aren't
22142 deciding where fonts live, just looking for them).
22143
f527dbc8 221442008-06-26 Pavel Roskin <proski@gnu.org>
22145
6c2d8df6 22146 * util/biosdisk.c (read_device_map): Don't leave dead map
22147 entries for devices failing stat() check.
22148
f527dbc8 22149 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
22150 core_path_dev for the core.img path on the target device.
22151
aebe3d13 221522008-06-26 Robert Millan <rmh@aybabtu.com>
22153
22154 * disk/fs_uuid.c: New file.
22155 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
22156 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
22157 (fs_uuid_mod_LDFLAGS): New variables.
22158 * include/grub/disk.h (grub_disk_dev_id): Add
22159 `GRUB_DISK_DEVICE_UUID_ID'.
22160 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
22161 implement iterate().
22162
37aaf354 221632008-06-26 Robert Millan <rmh@aybabtu.com>
22164
22165 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
22166 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
22167 Linux image includes no initrd.
22168
25ff262a 221692008-06-21 Javier Martín <lordhabbit@gmail.com>
22170
22171 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
22172 call to resolve the core image location that effectively appended the
22173 name twice.
22174
76a2bd44 221752008-06-21 Robert Millan <rmh@aybabtu.com>
22176
22177 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
22178 call from here ...
22179
22180 * util/grub.d/10_hurd.in: ... to here ...
22181 * util/grub.d/10_linux.in: ... and here.
22182
650e1c79 221832008-06-19 Robert Millan <rmh@aybabtu.com>
22184
fe987087 22185 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 22186 after it has been set by grub_machine_set_prefix().
22187
6ce63911 221882008-06-19 Robert Millan <rmh@aybabtu.com>
22189
22190 * commands/search.c (search_label, search_fs_uuid, search_file): Print
22191 search result when not saving to variable, not the other way around.
22192 When saving to variable, abort iteration as soon as a match is found.
22193
73940cec 221942008-06-19 Robert Millan <rmh@aybabtu.com>
22195
22196 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
22197 check for partition that provides /boot/grub. Its logic is flawed,
22198 as it prevents prepare_grub_to_access_device() from being called
22199 multiple times.
22200
3c62a39d 222012008-06-19 Robert Millan <rmh@aybabtu.com>
22202
22203 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
22204 "insmod" command directly when abstraction modules are needed,
fe987087 22205 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 22206 since it had already been processed).
22207
47395a42 222082008-06-19 Pavel Roskin <proski@gnu.org>
22209
22210 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
22211 changed. This is needed in case GRUB_LIBDIR changes.
22212 * conf/i386-ieee1275.rmk: Likewise.
22213 * conf/i386-linuxbios.rmk: Likewise.
22214 * conf/i386-pc.rmk: Likewise.
22215 * conf/powerpc-ieee1275.rmk: Likewise.
22216
a145ac2d 222172008-06-18 Pavel Roskin <proski@gnu.org>
22218
22219 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
22220 kernel_elf_symlist.c to symlist.c for consistency with other
22221 architectures. Update all users.
22222 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22223
7847c51e 222242008-06-18 Robert Millan <rmh@aybabtu.com>
22225
22226 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
22227 it in prefix.
22228
22229 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
22230 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
22231 a RAID device, run setup() for all members independently on whether
22232 LVM abstraction is being used.
22233 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
22234 If grub-mkimage has set `*install_dos_part == -2', don't override this
22235 value.
22236 Perform *install_dos_part adjustments independently on whether
22237 we're embedding or not.
22238 Clarify error message when image is too big for embedding.
22239 Remove duplicate *install_dos_part stanza.
22240
b23e5644 222412008-06-17 Robert Millan <rmh@aybabtu.com>
22242
22243 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
22244 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
22245 variables.
22246 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
22247 values in grub_ofconsole_normal_color and
22248 grub_ofconsole_highlight_color (they're not directly related to
22249 background and foreground).
22250 (grub_ofconsole_setcolorstate): Extract background and foreground
22251 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
22252
0aac2f79 222532008-06-17 Robert Millan <rmh@aybabtu.com>
22254
22255 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
22256 /boot/grub for the check in last commit, not /boot (they could be
22257 different partitions).
22258
3cca7ef3 222592008-06-16 Robert Millan <rmh@aybabtu.com>
22260
22261 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
22262 asked to setup access for the same partition that provides /boot,
22263 don't bother using UUIDs since our root already has the value we
22264 want.
22265
347396d8 222662008-06-16 Robert Millan <rmh@aybabtu.com>
22267
22268 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
22269 I2O devices.
22270 Patch from Sven Mueller <sven@debian.org>.
22271
991477f8 222722008-06-16 Robert Millan <rmh@aybabtu.com>
22273
22274 * util/update-grub.in: Check for $EUID instead of $UID.
22275 Reported by Vincent Zweije.
22276
d31a32a1 222772008-06-16 Bean <bean123ch@gmail.com>
22278
fe987087 22279 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 22280 (grub_ext2_read_block): Likewise.
22281 (grub_ext2_read_inode): Likewise.
22282 (grub_ext2_mount): Likewise.
22283 (grub_ext2_close): Likewise.
22284 (grub_ext3_get_journal): Removed.
22285
fe987087 22286 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 22287 (grub_reiserfs_read_symlink): Likewise.
22288 (grub_reiserfs_mount): Likewise.
22289 (grub_reiserfs_open): Likewise.
22290 (grub_reiserfs_read): Likewise.
22291 (grub_reiserfs_close): Likewise.
22292 (grub_reiserfs_get_journal): Removed.
22293
22294 * fs/fshelp.c (grub_fshelp_read): Removed.
22295 (grub_fshelp_map_block): Likewise.
22296
22297 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
22298 (grub_fshelp_journal): Likewise.
22299 (grub_fshelp_read): Likewise.
22300 (grub_fshelp_map_block): Likewise.
22301
3540a760 223022008-06-16 Pavel Roskin <proski@gnu.org>
22303
22304 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
22305 floating point anymore.
22306 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
22307
95614c84 223082008-06-15 Pavel Roskin <proski@gnu.org>
22309
22310 * commands/ls.c (grub_ls_list_files): Use integer calculations
22311 for human readable format, avoid floating point use.
22312 * kern/misc.c (grub_ftoa): Remove.
22313 (grub_vsprintf): Remove floating point support.
22314
50465dd6 223152008-06-15 Robert Millan <rmh@aybabtu.com>
22316
fe6b695a 22317 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 22318 devices.
22319 Reported by Max Vozeler.
22320
a9207284 223212008-06-15 Robert Millan <rmh@aybabtu.com>
22322
22323 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
22324 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
22325 skipped later.
22326 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
22327 the beginning of the prefix.
22328
22329 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
22330 It is assumed that if we have a memdisk, grub-mkimage has set
22331 grub_prefix to include the "(memdisk)" drive in it.
22332
a7cbd45a 223332008-06-15 Robert Millan <rmh@aybabtu.com>
22334
22335 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
22336 Initialize keyboard controller after registering the terminal, so that
22337 grub_printf() can be called from grub_keyboard_controller_init().
22338
21cf716a 223392008-06-15 Robert Millan <rmh@aybabtu.com>
22340
22341 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
22342 extent-btree which is written as big endian on disk.
22343 Reported by Alain Greppin <al@chilibi.org>.
22344
23a64d8e 223452008-06-14 Robert Millan <rmh@aybabtu.com>
22346
22347 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
22348 * util/i386/pc/grub-install.in (modules): Likewise.
22349
d687651c 223502008-06-13 Pavel Roskin <proski@gnu.org>
22351
22352 * commands/ls.c (grub_ls_list_files): Fix format warnings.
22353
dfe9ddd4 223542008-06-13 Bean <bean123ch@gmail.com>
22355
22356 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
22357
22358 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
22359
22360 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
22361 to indicate sparse block.
22362
16ae7781 223632008-06-12 Pavel Roskin <proski@gnu.org>
22364
e6d1a308 22365 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
22366 number, grub_fshelp_read() does it for us.
22367
16ae7781 22368 * fs/fshelp.c (grub_fshelp_read): New function. Implement
22369 linear disk read with journal translation.
22370 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
22371 * include/grub/fshelp.h: Declare grub_fshelp_read().
22372
40fd3a2b 223732008-06-09 Pavel Roskin <proski@gnu.org>
22374
22375 * fs/minix.c (grub_minix_mount): Handle error reading
22376 superblock.
22377
f5679726 223782008-06-08 Robert Millan <rmh@aybabtu.com>
22379
22380 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
22381 don't append the RAID prefix afterwards.
22382 Reported by Clint Adams.
22383
ce525529 223842008-06-08 Robert Millan <rmh@aybabtu.com>
22385
22386 Based on description from Pavel:
22387 * kern/disk.c (grub_disk_check_range): Rename to ...
22388 (grub_disk_adjust_range): ... this. Add a comment explaining the
22389 tasks performed by this function.
22390
ad4936a0 223912008-06-08 Robert Millan <rmh@aybabtu.com>
22392
22393 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
22394 `num_serial' (for consistency with other variables).
22395 (struct grub_ntfs_data): Add `uuid' member.
22396 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
22397 (grub_ntfs_uuid): New function.
22398 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
22399
dc20b0f9 224002008-06-07 Pavel Roskin <proski@gnu.org>
22401
22402 * util/biosdisk.c (open_device): Revert last change to the
22403 function, it broke installation. The sector needs to be
22404 different dependent on which device is opened.
22405
c5e3cfba 224062008-06-06 Robert Millan <rmh@aybabtu.com>
22407
22408 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
22409 rest of GRUB, and breakage doesn't happen if its value were modified.
22410
22411 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22412 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
22413 a constant (same value).
22414 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
22415 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
22416
26a1f8c4 224172008-06-06 Robert Millan <rmh@aybabtu.com>
22418
22419 * util/biosdisk.c (open_device): Do not modify sector offset when
22420 accessing a partition. kern/disk.c already handles this for us.
22421
25d6b327 224222008-06-06 Robert Millan <rmh@aybabtu.com>
22423
22424 * util/grub-emu.c (grub_machine_init): Move code in this function from
22425 here ...
22426 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
22427 segfault in case grub_printf() is called).
22428
22429 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
22430 grub_probe. Update all users not to explicitly add it again.
22431 (grub_device): New variable; contains corresponding device for grubdir.
22432 (fs_module, partmap_module, devabstraction_module): Pass
22433 `--device ${grub_device}' to grub_probe to avoid traversing /dev
22434 every time.
22435
9ece62fb 224362008-06-05 Robert Millan <rmh@aybabtu.com>
22437
22438 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
22439 is found, print it (same layout as with labels).
22440
1ad36d37 224412008-06-04 Robert Millan <rmh@aybabtu.com>
22442
22443 * util/biosdisk.c (get_drive): Rename to ...
22444 (find_grub_drive): ... this. Update all users.
22445
22446 (get_os_disk): Rename to ...
22447 (convert_system_partition_to_system_disk): ... this. Update all users.
22448
22449 (find_drive): Rename to ...
22450 (find_system_device): ... this. Update all users.
22451
e6a30859 224522008-06-04 Robert Millan <rmh@aybabtu.com>
22453
22454 * util/biosdisk.c (get_os_disk): Handle IDA devices.
22455 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22456 (make_device_map): Likewise.
22457
00c108a4 224582008-06-01 Robert Millan <rmh@aybabtu.com>
22459
22460 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
22461 before dereferencing it.
22462
22463 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
22464 union with fat12/fat16-specific ones. Add some new fields, including
22465 `num_serial' for both versions.
22466 (struct grub_fat_data): Add `uuid' member.
22467 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
22468 names. Initialize `data->uuid' using `num_serial'.
22469 (grub_fat_uuid): New function.
22470 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
22471
22472 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
22473 (grub_reiserfs_uuid): New function.
22474 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
22475 member.
22476
22477 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
22478 (grub_xfs_uuid): New function.
22479 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
22480
1385c5bb 224812008-06-01 Robert Millan <rmh@aybabtu.com>
22482
22483 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
22484 code that is backward compatible with pre-uuid search command.
22485
c682dfd7 224862008-05-31 Robert Millan <rmh@aybabtu.com>
22487
22488 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
22489 floppies after everything else, to ensure floppy drive isn't accessed
22490 unnecessarily (patch from Bean).
22491
b7db5d47 224922008-05-31 Robert Millan <rmh@aybabtu.com>
22493
22494 * commands/search.c (search_label, search_fs_uuid, search_file): Do
22495 not print device names when we were asked to set a variable.
22496
6e037aa9 224972008-05-31 Robert Millan <rmh@aybabtu.com>
22498
22499 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
22500 using "cursor-on" and "cursor-off" commands (understood at least by
22501 the Open Firmware flavour on OLPC).
22502
41305bc8 225032008-05-31 Michael Gorven <michael@gorven.za.net>
22504
22505 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
22506 on and off sequences.
22507
69ba137e 225082008-05-31 Robert Millan <rmh@aybabtu.com>
22509
22510 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
22511 * util/update-grub.in: Likewise.
22512
520ae21b 225132008-05-30 Pavel Roskin <proski@gnu.org>
22514
22515 * util/biosdisk.c (linux_find_partition): Simplify logic and
22516 make the code more universal. Keep special processing for
22517 devfs, but use a simple rule for all other devices. If the
22518 device ends with a number, append 'p' and the partition number.
22519 Otherwise, append only the partition number.
22520
5786569b 225212008-05-30 Robert Millan <rmh@aybabtu.com>
22522
22523 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
22524 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
22525 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
22526 the `root' parameter to Linux.
22527
51500452 225282008-05-30 Robert Millan <rmh@aybabtu.com>
22529
22530 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
22531 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
22532 --fs_uuid with --fs-uuid.
22533 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
22534 all filesystems support them).
22535
811d3878 225362008-05-30 Robert Millan <rmh@aybabtu.com>
22537
22538 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 22539 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 22540
cab63c95 225412008-05-30 Robert Millan <rmh@aybabtu.com>
22542
22543 * util/grub.d/00_header.in: Remove obsolete comment referencing
22544 convert_system_path_to_grub_path().
22545 * util/update-grub.in: Likewise.
22546 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
22547 (convert_system_path_to_grub_path): Add a warning message explaining
22548 that this function is deprecated. Rely on is_path_readable_by_grub()
22549 for the readability checks.
22550 (font_path): Use is_path_readable_by_grub() for the readability
22551 check rather than convert_system_path_to_grub_path().
22552
972e2f7a 225532008-05-30 Robert Millan <rmh@aybabtu.com>
22554
22555 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
22556 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
22557 converting it first.
22558 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
22559 grub.cfg for access to font file, and afterwards call it again to set
22560 the root device.
22561
62191274 225622008-05-30 Robert Millan <rmh@aybabtu.com>
22563
22564 * commands/search.c (options): Add --fs_uuid option.
22565 (search_fs_uuid): New function.
22566 (grub_cmd_search): Fix --set argument passing.
22567 Use search_fs_uuid() when requested via --fs_uuid.
22568 (grub_search_init): Update help message.
22569 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
22570 and redeclare it as an array of 16-bit words.
22571 (grub_ext2_uuid): New function.
22572 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
22573 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
22574 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
22575 (GRUB_DEVICE_BOOT_UUID): New variables.
22576 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
22577 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
22578 whenever possible.
22579 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
22580 just assume `root' variable has the right value.
22581 * util/grub.d/10_linux.in: Likewise.
22582 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
22583 via PRINT_FS_UUID.
22584 (main): Recognise `-t fs_uuid' argument.
22585
01b73ec8 225862008-05-30 Robert Millan <rmh@aybabtu.com>
22587
22588 * util/biosdisk.c (map): Redefine structure to hold information
22589 about GRUB drive name.
fe6b695a 22590 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 22591 drive names.
22592 (call_hook): Remove.
22593 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
22594 member. Assume drive has partitions.
22595 (grub_util_biosdisk_open): Access device names via `.device' struct
22596 member.
22597 (open_device): Likewise.
22598 (find_drive): Likewise.
22599 (read_device_map): Adjust map[] usage to match the new struct
22600 definition. Don't check for duplicates (still possible, but not cheap
22601 anymore).
22602 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
22603 (make_device_name): Remove assumption of BIOS-like drive names.
22604
22f16596 226052008-05-30 Pavel Roskin <proski@gnu.org>
22606
22607 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
22608 compiling execute.c doesn't need grub_script.tab.h anymore.
22609 (normal/command.c_DEPENDENCIES): Likewise.
22610 (normal/function.c_DEPENDENCIES): Likewise.
22611 * conf/i386-ieee1275.rmk: Likewise.
22612 * conf/i386-linuxbios.rmk: Likewise.
22613 * conf/i386-pc.rmk: Likewise.
22614 * conf/powerpc-ieee1275.rmk: Likewise.
22615 * conf/sparc64-ieee1275.rmk: Likewise.
22616
528ad8f2 226172008-05-29 Pavel Roskin <proski@gnu.org>
22618
d1dff95d 22619 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
22620 when scanning metadata for volume group name.
22621
528ad8f2 22622 * include/grub/script.h: Don't include grub_script.tab.h. It's
22623 a generated file, which may only be included from the files with
22624 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
22625 use union YYSTYPE, as the later allows forward declaration.
22626 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
22627
47248e08 226282008-05-29 Robert Millan <rmh@aybabtu.com>
22629
22630 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
22631 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
22632 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
22633 (grub_console_checkkey): Add grub_dprintf() call to report unknown
22634 scan codes.
22635
ee632529 226362008-05-29 Robert Millan <rmh@aybabtu.com>
22637
22638 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
22639 control key combinations.
22640
eee96e08 226412008-05-29 Robert Millan <rmh@aybabtu.com>
22642
22643 * util/powerpc/ieee1275/grub-install.in: Move from here ...
22644 * util/ieee1275/grub-install.in: ... to here.
22645 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
22646 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
22647 (grub_install_SOURCES): Likewise.
22648
da9a6a94 226492008-05-29 Robert Millan <rmh@aybabtu.com>
22650
22651 * fs/affs.c: Update copyright year.
22652 * fs/ext2.c: Likewise.
22653 * fs/fshelp.c: Likewise.
22654 * fs/hfsplus.c: Likewise.
22655 * fs/ntfs.c: Likewise.
22656 * fs/xfs.c: Likewise.
22657 * include/grub/fshelp.h: Likewise.
22658 * util/grub-mkdevicemap.c: Likewise.
22659
12e65f3a 226602008-05-28 Robert Millan <rmh@aybabtu.com>
22661
22662 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
22663 might need to be fatfs to support some firmware implementations
22664 (e.g. OFW or EFI).
22665
23023641 226662008-05-28 Robert Millan <rmh@aybabtu.com>
22667
22668 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
22669 devices.
22670 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22671 (make_device_map): Likewise.
22672
887d2619 226732008-05-20 Bean <bean123ch@gmail.com>
22674
22675 * fs/fshelp.c (grub_fshelp_map_block): New function.
22676 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
22677 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
22678
22679 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
22680 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
22681 (grub_fshelp_journal): New structure.
22682 (grub_fshelp_map_block): New function prototype.
22683 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
22684 (grub_fshelp_map_block): Likewise.
22685
22686 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
22687 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
22688 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
22689 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
22690 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
22691 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
22692 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
22693 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
22694 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
22695 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
22696 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
22697 (grub_ext2_sblock): New members for journal support.
22698 (grub_ext3_journal_header): New structure.
22699 (grub_ext3_journal_revoke_header): Likewise.
22700 (grub_ext3_journal_block_tag): Likewise.
22701 (grub_ext3_journal_sblock): Likewise.
22702 (grub_fshelp_node): New members logfile and journal.
22703 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
22704 grub_fshelp_map_block to get real block number.
22705 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
22706 number.
22707 (grub_ext2_read_inode): Likewise.
22708 (grub_ext3_get_journal): New function.
22709 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
22710 (grub_ext2_close): Release memory used by journal.
22711
22712 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
22713 (REISERFS_MAGIC_DESC_BLOCK): New macro.
22714 (grub_reiserfs_transaction_header): Renamed to
22715 grub_reiserfs_description_block, replace field data with real_blocks.
22716 (grub_reiserfs_commit_block): New structure.
22717 (grub_reiserfs_data): New member journal.
22718 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
22719 number.
22720 (grub_reiserfs_read_symlink): Likewise.
22721 (grub_reiserfs_iterate_dir): Likewise.
22722 (grub_reiserfs_open): Likewise.
22723 (grub_reiserfs_read): Likewise.
22724 (grub_reiserfs_get_journal): New function.
22725 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
22726 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
22727 using grub_reiserfs_get_journal.
22728 (grub_reiserfs_close): Release memory used by journal.
22729
22730 * fs/affs.c (grub_affs_read_block): Change block type to
22731 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
22732
22733 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
22734
22735 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
22736
22737 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
22738
22739 * fs/udf.c (grub_udf_read_block): Change block type to
22740 grub_disk_addr_t. Use type cast to avoid warning.
22741
22742 * fs/xfs.c (grub_xfs_read_block): Likewise.
22743
b7c6bed5 227442008-05-16 Christian Franke <franke@computer.org>
22745
22746 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
22747 to ensure that break with ESC will always work.
22748 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
22749 Remove ESC from keyboard queue.
22750
eedf167f 227512008-05-16 Christian Franke <franke@computer.org>
22752
22753 * util/biosdisk.c: [__CYGWIN__] Add includes.
22754 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
22755 (get_os_disk): Move variable declarations to OS specific
22756 parts to avoid warning.
22757 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
22758 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
22759 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
22760 Cygwin.
22761 * util/getroot.c: [__CYGWIN__] Add includes.
22762 (strip_extra_slashes): Fix "/" case.
22763 [__CYGWIN__] (get_win32_path): New function.
22764 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
22765 [__CYGWIN__] (find_root_device): Disable.
22766 [__CYGWIN__] (get_bootsec_serial): New function.
22767 [__CYGWIN__] (find_cygwin_root_device): Likewise.
22768 [__linux__] (grub_guess_root_device): Add early returns to simplify
22769 structure.
22770 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
22771 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
22772 check for Linux only.
22773
a079699e 227742008-05-15 Bean <bean123ch@gmail.com>
22775
22776 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
22777 keyboard hang problem in apple's intel mac.
22778
1cf4059a 227792008-05-09 Robert Millan <rmh@aybabtu.com>
22780
22781 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
22782 devices.
22783 * util/grub-mkdevicemap.c (get_virtio_disk_name)
22784 (make_device_map): Likewise.
22785 Reported by Aurelien Jarno <aurel32@debian.org>
22786
ed759390 227872008-05-07 Ian Campbell <ijc@hellion.org.uk>
22788
22789 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
22790 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
22791 (make_device_map): Output entries for xvd type disks.
22792
b56c4eaa 227932008-05-07 Robert Millan <rmh@aybabtu.com>
22794
22795 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
22796 devices.
22797 * util/grub-mkdevicemap.c (get_cciss_disk_name)
22798 (make_device_map): Likewise.
22799 Reported by Roland Dreier <rdreier@cisco.com>
22800
7f8866ed 228012008-05-07 Robert Millan <rmh@aybabtu.com>
22802
22803 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
22804 grub_strstr() call. Correct a few mistakes in failure path handling.
22805
b0346e0f 228062008-05-06 Robert Millan <rmh@aybabtu.com>
22807
22808 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22809 Do not print a trailing slash (therefore, the root directory is an
22810 empty string).
22811 (convert_system_path_to_grub_path): Do not remove trailing slash
22812 from make_system_path_relative_to_its_root() output.
22813
22814 * util/i386/pc/grub-install.in: Add trailing slash to output from
22815 make_system_path_relative_to_its_root().
22816
6cf12cbd 228172008-05-06 Robert Millan <rmh@aybabtu.com>
22818
22819 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
22820 ensures that output lines aren't intermangled with those sent to
22821 stderr (via grub_util_info()).
22822 * util/grub-probe.c (grub_refresh): Likewise.
22823 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
22824
0fbb3117 228252008-05-05 Christian Franke <franke@computer.org>
22826
22827 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
22828 Add Cygwin device names.
22829 (get_ide_disk_name) [__CYGWIN__]: Likewise.
22830 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
22831 (check_device): Return error instead of success on empty name.
22832 (make_device_map): Move label inside linux specific code to
22833 prevent compiler warning.
22834
8124cdb7 228352008-04-30 Robert Millan <rmh@aybabtu.com>
22836
22837 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
22838 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
22839 first boot option.
22840 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
22841
094c01d0 228422008-04-29 Robert Millan <rmh@aybabtu.com>
22843
22844 * docs/grub.cfg: New file (example GRUB configuration).
22845
f4b1fc02 228462008-04-26 Robert Millan <rmh@aybabtu.com>
22847
329ce2a5 22848 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
22849 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
22850 and `disk/ieee1275/nand.c'.
f4b1fc02 22851
25f16ec1 228522008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 22853
25f16ec1 22854 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
22855 i386-linuxbios.
22856
22857 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
22858 change the buffer size to 4096 for cdrom device.
22859
22860 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
22861 and nand.mod.
22862 (_linux_mod_SOURCES): New variable.
22863 (_linux_mod_CFLAGS): Likewise.
22864 (_linux_mod_LDFLAGS): Likewise.
22865 (linux_mod_SOURCES): Likewise.
22866 (linux_mod_CFLAGS): Likewise.
22867 (linux_mod_LDFLAGS): Likewise.
22868 (nand_mod_SOURCES): Likewise.
22869 (nand_mod_CFLAGS): Likewise.
22870 (nand_mod_LDFLAGS): Likewise.
22871
22872 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
22873 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
22874 type property. (nand device in olpc don't have this property)
22875
22876 * include/grub/disk.h (grub_disk_dev_id): New macro
22877 GRUB_DISK_DEVICE_NAND_ID.
22878
22879 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
22880 function prototype.
22881 (grub_rescue_cmd_initrd): Likewise.
22882
22883 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
22884 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
22885 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 22886
25f16ec1 22887 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
22888 GRUB_MACHINE_IEEE1275 is defined.
22889
22890 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
22891 Use NESTED_FUNC_ATTR attribute on the hook parameter.
22892
22893 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
22894 on nested function heap_init.
22895 (grub_upper_mem): New variable for i386-ieee1275.
22896 (grub_get_extended_memory): New function for i386-ieee1275.
22897 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
22898
22899 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
22900 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
22901 property.
f19dbdb7 22902
25f16ec1 22903 * loader/i386/ieee1275/linux.c: New file.
22904
22905 * loader/i386/ieee1275/linux_normal.c: New file.
22906
22907 * disk/ieee1275/nand.c: New file.
22908
e89d61e9 229092008-04-18 Thomas Schwinge <tschwinge@gnu.org>
22910
22911 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
22912 value.
22913 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
22914
602566f6 229152008-04-18 Robert Millan <rmh@aybabtu.com>
22916
22917 Restructures early code path on ieee1275 to unify grub_main() as
22918 the first C function that is executed in every platform.
22919
22920 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
22921 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
22922 cmain().
22923 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
22924 * kern/ieee1275/cmain.c (cmain): Rename to ...
22925 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
22926 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
22927 at the beginning.
22928
57490c2b 229292008-04-18 Robert Millan <rmh@aybabtu.com>
22930
22931 * util/update-grub.in: Fix syntax error when setting
22932 `GRUB_PRELOAD_MODULES'.
22933 Reported by Stephane Chazelas <stephane@artesyncp.com>
22934
1977517d 229352008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
22936
22937 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
22938 section into account, newer toolchains generate unique build ids
22939 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 22940 we want build ids to be preserved
1977517d 22941 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
22942 far from other sections don't cause the raw binary images grow
22943 size
22944
bfb1f1a2 229452008-04-15 Robert Millan <rmh@aybabtu.com>
22946
22947 * disk/lvm.c: Update copyright year.
22948 * kern/misc.c: Likewise.
22949
01979850 229502008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22951
22952 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 22953 there is no memory left for physical volume name.
01979850 22954
0a1150e2 229552008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22956
22957 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
22958 volume name mapping to support bigger than 9 character names properly.
22959
82ead3fe 229602008-04-13 Robert Millan <rmh@aybabtu.com>
22961
22962 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
22963 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
22964
e54a72f5 229652008-04-13 Christian Franke <franke@computer.org>
22966
22967 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
22968 to create a floppy emulation boot CD when non emulation mode
22969 does not work.
22970 Enable Joliet CD filesystem extension.
22971
9fe86034 229722008-04-13 Robert Millan <rmh@aybabtu.com>
22973
22974 * kern/misc.c (grub_strncat): Fix off-by-one error.
22975 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
22976
22977 * kern/env.c (grub_env_context_close): Clear current context, not
22978 previous one.
22979 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
22980
22981 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
22982
7ceeee39 229832008-04-13 Robert Millan <rmh@aybabtu.com>
22984
22985 Improve robustness when handling LVM.
22986
22987 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 22988 (and leave `*p' unmodified).
7ceeee39 22989 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
22990 through it.
22991 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
22992 iterating through it.
22993 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
22994 through it.
fe6b695a 22995 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 22996 when due) on each grub_lvm_getvalue() or grub_strstr() call.
22997 Don't assume `vg->pvs != NULL' when iterating through it.
22998
58cd3d85 229992008-04-13 Robert Millan <rmh@aybabtu.com>
23000
23001 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
23002 * genmk.rb (partmap): New variable.
23003 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
23004 (#{partmap}): New target rule.
23005 * genpartmaplist.sh: New file.
23006 * Makefile.in (pkglib_DATA): Add partmap.lst.
23007 (partmap.lst): New target rule.
23008 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
23009 modules (including all partition maps), instead of preloading them.
23010
78b51059 230112007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
23012
23013 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
23014 `linux-boot-prober' (if installed) to detect other operating
23015 systems which are installed on the computer and add them to
23016 the boot menu.
23017 * conf/common.rmk: Build and install 30_os-prober.
23018
a91627b4 230192008-04-12 Robert Millan <rmh@aybabtu.com>
23020
23021 * kern/powerpc/ieee1275/init.c: Move from here ...
23022 * kern/ieee1275/init.c: ... to here. Update all users.
23023
23024 * kern/powerpc/ieee1275/cmain.c: Move from here ...
23025 * kern/ieee1275/cmain.c: ... to here. Update all users.
23026
23027 * kern/powerpc/ieee1275/openfw.c: Move from here ...
23028 * kern/ieee1275/openfw.c: ... to here. Update all users.
23029
23030 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
23031 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
23032
322562ea 230332008-04-10 Pavel Roskin <proski@gnu.org>
23034
23035 * configure.ac: Always use "_cv_" in cache variables for
23036 compatibility with Autoconf 2.62.
23037
a02a73c5 230382008-04-07 Robert Millan <rmh@aybabtu.com>
23039
23040 Revert grub/machine/init.h addition by Pavel (since it breaks on
23041 i386-ieee1275 and others):
23042 * util/i386/pc/misc.c: Remove grub/machine/init.h.
23043 * util/powerpc/ieee1275/misc.c: Likewise.
23044
25c024b1 230452008-04-07 Robert Millan <rmh@aybabtu.com>
23046
23047 * util/grub-probe.c (probe): Improve error message.
23048
3cbd2f98 230492008-04-07 Robert Millan <rmh@aybabtu.com>
23050
23051 * util/biosdisk.c (read_device_map): Skip devices that don't exist
23052 (this prevents the presence of a bogus entry from ruining the whole
23053 thing).
23054
87a297bf 230552008-04-06 Pavel Roskin <proski@gnu.org>
23056
36747a62 23057 * util/biosdisk.c: Include grub/util/biosdisk.h.
23058 * util/grub-fstest.c (execute_command): Make static.
23059 * util/grub-mkdevicemap.c (check_device): Likewise.
23060 * util/i386/pc/misc.c: Include grub/machine/init.h.
23061 * util/powerpc/ieee1275/misc.c: Likewise.
23062 * util/lvm.c: Include grub/util/lvm.h.
23063 * util/misc.c: Include grub/kernel.h, grub/misc.h and
23064 grub/cache.h.
23065 * util/raid.c: Include grub/util/raid.h.
23066 (grub_util_getdiskname): Make static.
23067
87a297bf 23068 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
23069 grub_hostfs_fini(), as they are called from grub_init_all() and
23070 grub_fini_all() respectively. This fixes an infinite loop in
23071 grub-fstest due to double registration of hostfs.
23072 Reported by Christian Franke <Christian.Franke@t-online.de>
23073
f6ce7629 230742008-04-05 Pavel Roskin <proski@gnu.org>
23075
23076 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
23077 all 8 functions. Otherwise, probe function 0 only.
23078
070e49e4 230792008-04-04 Pavel Roskin <proski@gnu.org>
23080
8b088a4c 23081 * commands/lspci.c (grub_lspci_iter): Print the bus number
23082 correctly.
23083
4f657021 23084 * commands/lspci.c (grub_pci_classes): Fix typos.
23085 (grub_lspci_iter): Don't print func twice. Print vendor ID
23086 before device ID, as it's normally done.
23087
070e49e4 23088 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23089 Fix signedness warnings.
23090 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
23091 Likewise.
23092 * util/ieee1275/get_disk_name.c: Include config.h so that
23093 _GNU_SOURCE is defined and getline() is declared. Mark an
23094 unused argument as such. Fix a signedness warning.
23095
ba7328dc 230962008-04-02 Pavel Roskin <proski@gnu.org>
23097
26887f22 23098 * genkernsyms.sh.in: Use more robust assignments for CC and
23099 srcdir. Quote srcdir.
23100 * gensymlist.sh.in: Likewise. Assert at the compile time that
23101 the symbol table is not empty.
23102
ba7328dc 23103 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
23104 * fs/cpio.c (grub_cpio_read): Likewise.
23105
0f582c6b 231062008-04-01 Pavel Roskin <proski@gnu.org>
23107
4b6e1995 23108 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
23109 * disk/host.c (grub_host_open): Likewise.
23110 * disk/loopback.c (grub_loopback_open): Likewise.
23111 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
23112 disk->id as in disk/host.c, not a multi-character constant.
23113
828a2768 23114 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
23115 later is obsolete, potentially dangerous and sets a bad example.
23116 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
23117 * util/misc.c (grub_util_get_image_size): Likewise.
23118
2bb4fb47 23119 * disk/loopback.c (options): Improve help for "--partitions".
23120
0f582c6b 23121 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
23122 options to align them with the short options, e.g. "echo -e".
23123
a33224e0 231242008-03-31 Bean <bean123ch@gmail.com>
23125
23126 * video/reader/png.c (grub_png_data): New member is_16bit and
23127 image_data.
23128 (grub_png_decode_image_header): Detect 16 bit png image.
23129 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
23130 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
23131 (grub_video_reader_png): Release memory occupied by image_data.
23132
23133 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
23134 4096 bytes.
23135 (grub_nfs_mount): Skip the test for sector per cluster.
23136
23137 * include/grub/ntfs.h (MAX_SPC): Removed.
23138
86cb4f54 231392008-03-31 Bean <bean123ch@gmail.com>
23140
23141 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
23142 (grub_probe_SOURCES): Add fs/afs.c.
23143 (grub_fstest_SOURCES): Likewise.
23144 (afs_mod_SOURCES): New variable.
23145 (afs_mod_CFLAGS): Likewise.
23146 (afs_mod_LDFLAGS): Likewise.
23147
23148 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
23149 (grub_emu_SOURCES): Likewise.
23150
23151 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23152
23153 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23154
23155 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23156
23157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23158
23159 * fs/afs.c: New file.
23160
17c74c21 231612008-03-30 Pavel Roskin <proski@gnu.org>
23162
4cb68e89 23163 * disk/host.c: Include grub/misc.h to fix a warning.
23164 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
23165 warnings about implicit declarations.
23166
8790bb04 23167 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
23168 variable.
23169 * include/grub/i386/loader.h: Change declaration of
23170 grub_linux_boot() to match what grub_loader_set() expects.
23171 * util/getroot.c (grub_guess_root_device): Return const char* to
23172 fix a warning.
23173 * util/grub-probe.c (probe): Fix a warning about uninitialized
23174 abstraction_name variable.
23175 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
23176 second argument as unused to fix a warning.
23177
9a3f3296 23178 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
23179 missing grub_error() call.
23180
0ecef90d 23181 * util/update-grub_lib.in: Define datarootdir, since Autoconf
23182 2.60 and newer uses it to define datadir.
23183
0bf6d401 23184 * commands/sleep.c: Fix warning about implicit declaration.
23185 * disk/memdisk.c: Likewise.
23186 * loader/aout.c: Likewise.
23187 * loader/i386/bsd_normal.c: Likewise.
23188 * util/grub-probe.c: Likewise.
23189
7cdacf97 23190 * commands/i386/cpuid.c (has_longmode): Make static.
23191 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
23192 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
23193
17c74c21 23194 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
23195 GDT. This is more robust, as %ds can change.
23196 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
23197 calling real_to_prot().
23198 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
23199
80a3e68b 232002008-03-28 Pavel Roskin <proski@gnu.org>
23201
23202 * kern/i386/pc/startup.S: Assert that uncompressed functions
23203 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
23204 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
23205 code, as they push parts of the code (error handlers) beyond
23206 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
23207 code as correctness and size.
23208
77bcd272 232092008-03-28 Pavel Roskin <proski@gnu.org>
23210
23211 * kern/i386/pc/startup.S
23212 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
23213 data block address to the real mode, keep offset minimal. This
23214 works around a bug in AWARD BIOS on old Athlon systems, which
23215 makes CD detection hang.
23216
c5dfd43b 232172008-03-26 Pavel Roskin <proski@gnu.org>
23218
23219 * normal/color.c (grub_parse_color_name_pair): Make `name' a
23220 const.
23221 * include/grub/normal.h: Add grub_parse_color_name_pair()
23222 declaration.
23223
bf962df2 232242008-03-24 Bean <bean123ch@gmail.com>
23225
23226 * disk/i386/pc/biosdisk.c (cd_start): Removed.
23227 (cd_count): Removed.
23228 (cd_drive): New variable.
23229 (grub_biosdisk_get_drive): Don't check for (cdN) device.
23230 (grub_biosdisk_call_hook): Likewise.
23231 (grub_biosdisk_iterate): Change cdrom detection method.
23232 (grub_biosdisk_open): Replace cd_start with cd_drive.
23233 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
23234 detect cdrom device.
23235
23236 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
23237 Removed.
23238 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
23239 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
23240 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
23241 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
23242 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
23243 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
23244 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
23245 (grub_biosdisk_cdrp): New structure.
23246 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
23247
23248 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
23249
23250 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
23251 device.
23252
23253 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
23254 New function.
23255
68e7fc7a 232562008-03-20 Robert Millan <rmh@aybabtu.com>
23257
23258 Remove 2 TiB limit in ata.mod.
23259 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
23260 (grub_ata_dumpinfo): Print sector count with 0x%llx.
23261 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
23262 grub_uint64_t instead of grub_uint32_t.
23263
38ad2cf5 232642008-03-05 Bean <bean123ch@gmail.com>
23265
23266 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
23267 (grub_multiboot): Set boot device.
23268
23269 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
23270
2b89344e 232712008-03-02 Bean <bean123ch@gmail.com>
23272
23273 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
23274 symlink_buffer.
23275
87a95d1f 232762008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
23277
23278 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
23279 texinfo.tex.
23280
23281 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
23282 modified.
23283
23284 * docs/fdl.texi: New file.
f19dbdb7 23285
87a95d1f 23286 * docs/mdate-sh: New file. Copied from gnulib.
23287 * docs/texinfo.tex: Likewise.
23288
23289 * config.guess: Updated from gnulib.
23290 * install-sh: Likewise.
23291
7dc15d8e 232922008-02-28 Robert Millan <rmh@aybabtu.com>
23293
23294 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
23295 (aout_mod_SOURCES): New variable.
23296 (aout_mod_CFLAGS): Likewise.
23297 (aout_mod_LDFLAGS): Likewise.
23298
23299 * conf/i386-ieee1275.rmk: Likewise.
23300
b00ab696 233012008-02-28 Robert Millan <rmh@aybabtu.com>
23302
23303 * util/update-grub.in: Reorganise terminal validity check. Accept
23304 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
23305 Based on suggestion by Franklin PIAT.
23306
79ca2d78 233072008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
23308
23309 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
23310 function.
23311 * util/getroot.c (grub_util_check_block_device): New function that
23312 returns the given argument if it is a block device and returns NULL else.
23313 * util/grub-probe.c (argument_is_device): New variable.
23314 (probe): Promote device_name from a variable to an argument. Receive
23315 device_name from grub_util_check_block_device() if path is NULL and from
23316 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 23317 (options): Introduce new parameter '-d, --device'.
79ca2d78 23318 (main): Add description of the new parameter to the help screen.
23319 Rename path variable to argument. Set argument_is_device if the '-d'
23320 option is given. Pass argument to probe() depending on
23321 argument_is_device.
23322
0d16e571 233232008-02-24 Bean <bean123ch@gmail.com>
23324
23325 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
23326 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
23327 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
23328 (GRUB_ISO9660_VOLDESC_PART): Likewise.
23329 (GRUB_ISO9660_VOLDESC_END): Likewise.
23330 (grub_iso9660_primary_voldesc): New member escape.
23331 (grub_iso9660_data): New member joliet.
23332 (grub_iso9660_convert_string): New function.
23333 (grub_iso9660_mount): Detect joliet extension.
23334 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
23335 (grub_iso9660_iso9660_label): Likewise.
23336
23337 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
23338 (grub_setup_SOURCES): Add fs/udf.c.
23339 (grub_fstest_SOURCES): Likewise.
23340 (udf_mod_SOURCES): New variable.
23341 (udf_mod_CFLAGS): Likewise.
23342 (udf_mod_LDFLAGS): Likewise.
23343
23344 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
23345 (grub_emu_SOURCES): Likewise.
23346
23347 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23348
23349 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23350
23351 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23352
23353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23354
23355 * fs/udf.c: New file.
23356
8a594a17 233572008-02-24 Robert Millan <rmh@aybabtu.com>
23358
23359 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
23360 (normal/lexer.c_DEPENDENCIES): New variables.
23361 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23362 (normal/lexer.c_DEPENDENCIES): Likewise.
23363 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
23364 (normal/lexer.c_DEPENDENCIES): Likewise.
23365 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
23366 (normal/lexer.c_DEPENDENCIES): Likewise.
23367 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23368 (normal/lexer.c_DEPENDENCIES): Likewise.
23369 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23370 (normal/lexer.c_DEPENDENCIES): Likewise.
23371
2dc33c03 233722008-02-23 Robert Millan <rmh@aybabtu.com>
23373
23374 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
23375 since they were intended to be in hex. This didn't break previously
23376 because of a bug in gpt_partition_map_iterate() (see below).
23377
23378 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
23379 when checking the validity of GPT header.
23380 Remove `partno', since it always provides the same information as `i'.
23381
f6f4cfb0 233822008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
23383
23384 * include/grub/efi/time.h: Fix a wrong comment.
23385
79ff665f 233862008-02-19 Pavel Roskin <proski@gnu.org>
23387
23388 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
23389 message.
23390
d38e24c2 233912008-02-19 Bean <bean123ch@gmail.com>
23392
23393 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
23394 (aout_mod_SOURCES): New variable.
23395 (aout_mod_CFLAGS): Likewise.
23396 (aout_mod_LDFLAGS): Likewise.
23397 (_bsd_mod_SOURCES): New variable.
23398 (_bsd_mod_CFLAGS): Likewise.
23399 (_bsd_mod_LDFLAGS): Likewise.
23400 (bsd_mod_SOURCES): New variable.
23401 (bsd_mod_CFLAGS): Likewise.
23402 (bsd_mod_LDFLAGS): Likewise.
23403
23404 * include/grub/aout.h: New file.
23405
23406 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
23407
23408 * include/grub/i386/bsd.h: New file.
23409
23410 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
23411 to make it public.
23412
23413 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
23414 function is called, so that it's possible to change it inside the hook.
23415 (grub_elf64_load): Likewise.
23416 (grub_elf_file): Don't close the file if elf header is not found.
23417 (grub_elf_close): Close the file if grub_elf_file fails (The new
23418 grub_elf_file won't close it).
23419 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
23420 (grub_elf64_size): Likewise.
23421
23422 * kern/i386/loader.S (grub_unix_real_boot): New function.
23423
23424 * loader/aout.c: New file.
23425
23426 * loader/i386/bsd.c: New file.
23427
23428 * loader/i386/bsd_normal.c: New file.
23429
23430 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
23431
23432 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 23433 can test other formats.
d38e24c2 23434
b93bdb0f 234352008-02-19 Robert Millan <rmh@aybabtu.com>
23436
23437 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
23438 (grub_gpt_partition_type_empty): Redefine with macro from
23439 `<grub/gpt_partition.h>'.
23440 (gpt_partition_map_iterate): Adjust partition type comparison.
23441
23442 Export `entry' as partmap-specific `part.data' struct.
23443 (grub_gpt_header, grub_gpt_partentry): Move from here ...
23444
23445 * include/grub/gpt_partition.h (grub_gpt_header)
23446 (grub_gpt_partentry): ... to here (new file).
23447
23448 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
23449
23450 (grub_gpt_partition_type_bios_boot): New const variable, defined
23451 with macro from `<grub/gpt_partition.h>'.
23452
23453 (setup): Replace `first_start' with `embed_region', which keeps
23454 track of the embed region (and is partmap-agnostic).
23455
23456 Replace find_first_partition_start() with find_usable_region(),
23457 which finds a usable region for embedding using partmap-specific
23458 knowledge (supports PC/MSDOS and GPT).
23459
23460 Fix all assumptions that the embed region start at sector 1, using
23461 `embed_region.start' from now on. Similarly, use `embed_region.end'
23462 rather than `first_start' to calculate available size.
23463
23464 In grub_util_info() message, replace "into after the MBR" with an
23465 indication of the specific sector our embed region starts at.
23466
66cb40f6 234672008-02-19 Robert Millan <rmh@aybabtu.com>
23468
23469 * DISTLIST: Replace `commands/ieee1275/halt.c' and
23470 `commands/ieee1275/reboot.c' with `commands/halt.c' and
23471 `commands/reboot.c'.
23472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23473 (halt_mod_SOURCES): Likewise.
23474 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23475 (halt_mod_SOURCES): Likewise.
23476
b7202015 234772008-02-17 Christian Franke <franke@computer.org>
23478
23479 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
23480
32b0fc49 234812008-02-17 Robert Millan <rmh@aybabtu.com>
23482
23483 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23484 set `first_start' to 0 for non-PC/MSDOS partition maps.
23485
aca63502 234862008-02-16 Robert Millan <rmh@aybabtu.com>
23487
23488 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23489 do not assume partition map is PC/MSDOS before performing checks that
23490 are specific to that layout.
23491
0de8be86 234922008-02-13 Robert Millan <rmh@aybabtu.com>
23493
23494 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
23495 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
23496 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
23497
c3db8364 234982008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
23499
23500 * configure.ac: Only a cosmetic change on the handling of
23501 -fno-stack-protector.
23502
f714229e 235032008-02-12 Alexandre Boeglin <alex@boeglin.org>
23504
c3db8364 23505 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
23506 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
23507 reboot.c.
f714229e 23508 (grub_install_SOURCES): Add halt.mod and reboot.mod.
23509 (halt_mod_SOURCES): New variable.
23510 (halt_mod_CFLAGS): Likewise.
23511 (halt_mod_LDFLAGS): Likewise.
23512 (reboot_mod_SOURCES): Likewise.
23513 (reboot_mod_CFLAGS): Likewise.
23514 (reboot_mod_LDFLAGS): Likewise.
23515
c3db8364 23516 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
23517 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
23518 reboot.c.
f714229e 23519 (halt_mod_SOURCES): Likewise.
23520 (reboot_mod_SOURCES): Likewise.
23521
c3db8364 23522 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
23523 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 23524 (reboot_mod_SOURCES): Likewise.
23525
23526 * commands/i386/pc/reboot.c: merge this file ...
23527
23528 * commands/ieee1275/reboot.c: ... and this file ...
23529
23530 * commands/reboot.c: ... to this file.
c3db8364 23531 Add some precompiler directive to include the correct header for
23532 each machine.
f714229e 23533
23534 * commands/ieee1275/halt.c: move this file ...
23535
23536 * commands/halt.c: ... to here.
c3db8364 23537 Add some precompiler directive to include the correct header for
23538 each machine.
f714229e 23539
23540 * include/grub/efi/efi.h (grub_reboot): New function declaration.
23541 (grub_halt): Likewise.
23542
23543 * kern/efi/efi.c (grub_reboot): New function.
23544 (grub_halt): Likewise.
23545
c74493e0 235462008-02-12 Robert Millan <rmh@aybabtu.com>
23547
23548 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
23549 /dev (like it is done for /dev/mapper). This doesn't provide support
23550 for EVMS, but at least it is now easy to identify the problem when it
23551 arises.
23552
d0db4b04 235532008-02-11 Robert Millan <rmh@aybabtu.com>
23554
23555 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
23556 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
23557 comparing it with -1, not 0.
23558
bf748642 235592008-02-10 Robert Millan <rmh@aybabtu.com>
23560
23561 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
23562 `disk/lvm.c'.
23563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23564 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23565
23566 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
23567 `disk/lvm.c' to the end of the list.
23568 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23569 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23570
b5db202a 235712008-02-10 Robert Millan <rmh@aybabtu.com>
23572
23573 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
23574 grub_print_error() instead. This will let user know why we're entering
23575 rescue mode.
23576 Based on suggestions from Sam Morris.
23577
83abee31 235782008-02-10 Alexandre Boeglin <alex@boeglin.org>
23579
23580 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
23581 on remaining N args, instead of "--" arg N times.
23582
78d5a08b 235832008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
23584
23585 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
23586 (fill_with_default_glyph): Changed to use unknown_glyph for fill
23587 pattern for unknown glyphs.
23588
68807e5f 235892008-02-09 Robert Millan <rmh@aybabtu.com>
23590
23591 * configure.ac: Probe for `help2man'.
23592 * Makefile.in (builddir): New variable.
23593 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
23594 or otherwise add a few flags/options to it.
23595 (install-local): For every executable utility or script that is
23596 installed, invoke $(HELP2MAN) to install a manpage based on --help
23597 output.
23598
23599 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
23600 that it doesn't prevent --help from working in build tree.
23601
23602 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
23603 with `bug-grub@gnu.org'.
23604 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
23605 * util/update-grub.in (usage): New function.
23606 Implement proper argument check, with support for --help and --version
23607 (as well as existing -y).
23608
236092008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 23610
23611 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
23612 avoid overwriting previous output.
23613 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
23614
c1962162 236152008-02-09 Robert Millan <rmh@aybabtu.com>
23616
23617 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
23618 drawing the menu.
23619
3dac2e3f 236202008-02-09 Robert Millan <rmh@aybabtu.com>
23621
23622 * commands/sleep.c: New file.
23623 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
23624 (sleep_mod_SOURCES): New variable.
23625 (sleep_mod_CFLAGS): Likewise.
23626 (sleep_mod_LDFLAGS): Likewise.
23627
7a634e08 236282008-02-09 Robert Millan <rmh@aybabtu.com>
23629
23630 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
23631 situations in which we can deduce the RAID size and the superblock
23632 doesn't match it.
23633
b92f0c18 236342008-02-09 Robert Millan <rmh@aybabtu.com>
23635
23636 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
23637 and return a grub_diskmemberlist_t composed of LVM physical volumes.
23638 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
23639
23640 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
23641 and return a grub_diskmemberlist_t composed of physical array members.
23642 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
23643
23644 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
23645 prototype.
23646 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
23647 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
23648 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
23649
23650 * util/grub-probe.c (probe): Move partmap probing code from here ...
23651 (probe_partmap): ... to here.
23652 (probe): Use probe_partmap() once for the disk we're probing, and
23653 additionally, when such disk contains a memberlist() struct member,
23654 once for each disk that is contained in the structure returned by
23655 memberlist().
23656
91a4bf68 236572008-02-09 Robert Millan <rmh@aybabtu.com>
23658
23659 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
23660 environment variable to 'all' in order to obtain debug output from
23661 non-util/ code.
23662 * util/i386/pc/grub-setup.c (main): Likewise.
23663
a96f9caa 236642008-02-08 Robert Millan <rmh@aybabtu.com>
23665
23666 * disk/raid.c (grub_raid_scan_device): Check for
23667 `array->device[sb.this_disk.number]' rather than for
23668 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 23669 guaranteed to be accessible.
a96f9caa 23670
b37a9222 236712008-02-08 Robert Millan <rmh@aybabtu.com>
23672
23673 * disk/raid.c: Update copyright.
23674 * fs/cpio.c: Likewise.
23675 * include/grub/raid.h: Likewise.
23676 * loader/i386/pc/multiboot.c: Likewise.
23677 * util/hostfs.c: Likewise.
23678
5626aee1 236792008-02-08 Robert Millan <rmh@aybabtu.com>
23680
23681 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
23682 to a grub_disk_t array.
23683 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
23684 `device[x]'.
23685 (grub_raid_scan_device): Replace `device[x].name' accesses with
23686 `device[x]->name'. Simplify initialization of `array->device[x]'.
23687
554f0187 236882008-02-08 Robert Millan <rmh@aybabtu.com>
23689
23690 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
23691 grub_dprintf() calls.
23692 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
23693 error message.
23694
1ec8425d 236952008-02-07 Christian Franke <franke@computer.org>
23696
23697 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
23698 instead of fseek and ftell to support large files.
23699 (grub_hostfs_read): Likewise.
23700
f2156fda 237012008-02-07 Robert Millan <rmh@aybabtu.com>
23702
23703 Patch from Jeroen Dekkers.
23704 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 23705 failure, since successfully reading all array members might not be
f2156fda 23706 required.
23707
9216e0e7 237082008-02-06 Robert Millan <rmh@aybabtu.com>
23709
23710 * util/grub-probe.c (probe): Simplify partmap probing (with the
23711 assumption that the first word up to the underscore equals to
23712 the module name).
23713
b0dfd29a 237142008-02-06 Christian Franke <franke@computer.org>
23715
23716 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
23717 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
23718 last block of a cpio or tar stream.
23719 Check for "TRAILER!!!" instead of any empty data
23720 block to detect last block of a cpio stream.
23721 (grub_cpio_dir): Fix constness of variable np.
23722 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
23723 cpio or tar trailer is detected. This fixes a crash
23724 on open of a non existing file.
23725
c32865bf 237262008-02-05 Bean <bean123ch@gmail.com>
23727
23728 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
23729 address of entry.
23730 (grub_multiboot_load_elf64): Likewise.
23731 (grub_multiboot): Initialize mbi structure.
23732
23733 * util/grub-fstest.c: Don't include unused header file script.h.
23734
fe6b695a 23735 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 23736 of file.
23737 (grub_fstest_SOURCES): Likewise.
23738
409480b7 237392008-02-05 Robert Millan <rmh@aybabtu.com>
23740
23741 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
23742 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
23743 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
23744 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
23745
23746 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
23747 (translation_table): Replace hardcoded values with macros
23748 provided by `<grub/term.h>'.
23749
23750 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
23751 (keyboard_map): Correct/add a few values, with macros provided
23752 by `<grub/term.h>'.
23753 (keyboard_map_shift): Zero values that don't differ from their
23754 `keyboard_map' equivalents.
23755 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
23756 Discard the second scan code that is always sent by Caps lock.
23757 Only use `keyboard_map_shift' when it provides a non-zero value,
23758 otherwise fallback to `keyboard_map'.
23759
99fadbaa 237602008-02-04 Bean <bean123ch@gmail.com>
23761
23762 * Makefile.in (enable_grub_fstest): New variable.
23763
23764 * conf/common.rmk (grub_fstest_init.lst): New rule.
23765 (grub_fstest_init.h): Likewise.
23766 (grub_fstest_init.c): Likewise.
23767 (util/grub-fstest.c_DEPENDENCIES): New variable.
23768 (grub_fstest_SOURCES): Likewise.
23769
23770 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
23771
23772 * util/grub-fstest.c: New file.
23773
bf567c50 237742008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23775
23776 Make grub-setup handle a separate root device.
f19dbdb7 23777
bf567c50 23778 * util/i386/pc/grub-setup.c (setup): Always open the root device,
23779 so that the root device can be compared with the destination
23780 device.
23781 When embedding the core image, if the root and destination devices
23782 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
23783 0xFF.
23784 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 23785
9be6b98b 237862008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23787
23788 Add support for having a grub directory in a different drive. This
23789 is still only the data handling part.
f19dbdb7 23790
9be6b98b 23791 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
23792 (codestart): Save %dh in GRUB_ROOT_DRIVE.
23793 (grub_root_drive): New variable.
23794
23795 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
23796 instead of GRUB_BOOT_DRIVE to construct a device name. Set
23797 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
23798 as it was.
23799
23800 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
23801
23802 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
23803 macro.
23804 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
23805
23806 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
23807 is bogus, because PXE booting does not specify any drive
23808 correctly.
23809
23810 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
23811 am not sure if this is really correct.
23812
23813 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
23814 is always identical to the boot drive when booting from a CD.
23815
23816 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
23817 longer.
23818 (root_drive): New variable.
23819 (real_start): Unconditionally set %dh to ROOT_DRIVE.
23820 (setup_sectors): Push %dx right after popping it, because %dh will
23821 be modified later.
23822 (copy_buffer): Restore %dx.
23823
e0ca0677 238242008-02-03 Robert Millan <rmh@aybabtu.com>
23825
23826 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
23827 use `cdboot.img' for cdrom images.
23828
3b3f6629 238292008-02-03 Robert Millan <rmh@aybabtu.com>
23830
23831 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
23832 only setup gfxterm when `font' command has succeeded.
23833
d42b3672 238342008-02-03 Robert Millan <rmh@aybabtu.com>
23835
23836 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
23837 (grub_rescue_cmd_multiboot_loader)
23838 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
23839
fa370ea6 238402008-02-03 Pavel Roskin <proski@gnu.org>
23841
e0c5dacb 23842 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 23843 %edx and %esi from stack only after grub_gate_a20() is called.
23844 grub_gate_a20() clobbers %edx.
23845
f2a76e1d 238462008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23847
23848 * configure.ac (AC_INIT): Bumped to 1.96.
23849
23850 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
23851 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
23852 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
23853 video/readers/png.c.
23854
90fd32d1 238552008-02-03 Bean <bean123ch@gmail.com>
9be665dd 23856
23857 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
23858 (cdboot_img_SOURCES): New variable.
23859 (cdboot_img_ASFLAGS): New variable.
23860 (cdboot_img_LDFLAGS): New variable.
23861
23862 * boot/i386/pc/cdboot.S: New file.
23863
23864 * disk/i386/pc/biosdisk.c (cd_start): New variable.
23865 (cd_count): Likewise.
23866 (grub_biosdisk_get_drive): Add support for cd device.
23867 (grub_biosdisk_call_hook): Likewise.
23868 (grub_biosdisk_iterate): Likewise.
23869 (grub_biosdisk_open): Likewise.
23870 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
23871 (grub_biosdisk_rw): Support reading from cd device.
23872 (GRUB_MOD_INIT): Iterate cd devices.
23873
23874 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
23875 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
23876 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
23877
23878 * kern/i386/pc/init.c (make_install_device): Check for cd device.
23879
4020aa53 238802008-02-02 Robert Millan <rmh@aybabtu.com>
23881
23882 * commands/read.c: New file.
23883 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
23884 (read_mod_SOURCES): New variable.
23885 (read_mod_CFLAGS): Likewise.
23886 (read_mod_LDFLAGS): Likewise.
23887
e03a1132 238882008-02-02 Robert Millan <rmh@aybabtu.com>
23889
23890 * normal/main.c (grub_normal_execute): Check for `menu->size' when
23891 determining whether menu has to be displayed.
23892
58c69220 238932008-02-02 Marco Gerards <marco@gnu.org>
23894
23895 * bus/pci.c: New file.
23896
23897 * include/grub/pci.h: Likewise.
23898
23899 * include/grub/i386/pc/pci.h: Likewise.
23900
23901 * commands/lspci.c: Likewise.
23902
23903 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
23904 `lspci.mod'.
23905 (pci_mod_SOURCES): New variable.
23906 (pci_mod_CFLAGS): Likewise.
23907 (pci_mod_LDFLAGS): Likewise.
23908 (lspci_mod_SOURCES): Likewise.
23909 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 23910 (lspci_mod_LDFLAGS): Likewise.
58c69220 23911
c004e1b4 239122008-02-02 Bean <bean123ch@gmail.com>
23913
23914 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
23915 (grub_ufs_get_file_block): Fix indirect block calculation problem.
23916
23917 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
23918 (grub_xfs_btree_node): New structure.
23919 (grub_xfs_btree_root): New structure.
23920 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
23921 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
23922 (GRUB_XFS_EXTENT_BLOCK): Likewise.
23923 (GRUB_XFS_EXTENT_SIZE): Likewise.
23924 (grub_xfs_read_block): Support btree format type.
23925 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
23926 Use directory block as basic unit.
23927
23928 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
23929
23930 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
23931 __attribute__ ((__regparm__ (1))).
23932
f95562bf 239332008-02-01 Robert Millan <rmh@aybabtu.com>
23934
23935 Correct a mistake in previous commit.
23936
23937 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
23938 top.
23939 (normal/command.c_DEPENDENCIES): New variable.
23940
7d31f41f 239412008-02-01 Robert Millan <rmh@aybabtu.com>
23942
23943 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
23944 top.
23945 (normal/command.c_DEPENDENCIES): New variable.
23946 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
23947 * conf/i386-ieee1275.rmk: Likewise.
23948 * conf/i386-linuxbios.rmk: Likewise.
23949 * conf/i386-pc.rmk: Likewise.
23950 * conf/sparc64-ieee1275.rmk: Likewise.
23951 * conf/powerpc-ieee1275.rmk: Likewise.
23952 (grub_emu_SOURCES): Add `fs/fshelp.c'.
23953
23954 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
23955
60b6be74 239562008-02-01 Robert Millan <rmh@aybabtu.com>
23957
23958 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
23959 call at beginning of function.
23960
078522ab 239612008-01-31 Pavel Roskin <proski@gnu.org>
23962
23963 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 23964 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
23965 (grub_mkrescue_SOURCES): Likewise.
078522ab 23966 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
23967
ccaa8a5f 239682008-01-30 Robert Millan <rmh@aybabtu.com>
23969
23970 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
23971 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
23972 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
23973 (grub_probe_SOURCES): ... to here.
23974
23975 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
23976 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
23977 * conf/i386-ieee1275.rmk: Likewise.
23978 * conf/i386-linuxbios.rmk: Likewise.
23979 * conf/powerpc-ieee1275.rmk: Likewise.
23980
ae5a9cd7 239812008-01-30 Tristan Gingold <gingold@free.fr>
23982
23983 * kern/rescue.c: Silently accept empty lines.
23984
70bc2ef2 239852008-01-29 Bean <bean123ch@gmail.com>
23986
23987 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
23988 (real_code_2): Code cleanup and change comment style.
23989 (move_memory): Avoid using 32-bit address mode.
23990
6a4d50ea 239912008-01-29 Bean <bean123ch@gmail.com>
23992
23993 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
23994 (png_mod_SOURCES): New variable.
23995 (png_mod_CFLAGS): Likewise.
23996 (png_mod_LDFLAGS): Likewise.
23997
23998 * video/readers/png.c: New file.
23999
11cc30ac 240002008-01-28 Robert Millan <rmh@aybabtu.com>
24001
24002 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
24003 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
24004 `ifndef GRUB_MOD_GAP' hack.
24005 * util/elf/grub-mkimage.c (add_segments): Likewise.
24006
3abc589f 240072008-01-27 Robert Millan <rmh@aybabtu.com>
24008
24009 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
24010 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 24011 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 24012
e1907778 240132008-01-27 Robert Millan <rmh@aybabtu.com>
24014
24015 Get grub-emu to build again (including parallel builds).
24016
24017 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
24018 Split into ...
24019 (util/grub-emu.c_DEPENDENCIES): ... this, ...
24020 (normal/execute.c_DEPENDENCIES): ... this, ...
24021 (grub-emu_DEPENDENCIES): ... and this.
24022
24023 * conf/i386-efi.rmk: Likewise.
24024 * conf/i386-linuxbios.rmk: Likewise.
24025 * conf/i386-ieee1275.rmk: Likewise.
24026 * conf/powerpc-ieee1275.rmk: Likewise.
24027 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
24028
2216b101 240292008-01-27 Robert Millan <rmh@aybabtu.com>
24030
24031 * NEWS: Add a few items.
24032
f75172d9 240332008-01-27 Robert Millan <rmh@aybabtu.com>
24034
24035 Fix parallel builds with grub-emu. Based on earlier commit for
24036 grub-probe and grub-setup.
24037
24038 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24039 (util/grub-emu.c_DEPENDENCIES): ... this.
24040 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24041 (util/grub-emu.c_DEPENDENCIES): ... this.
24042 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24043 (util/grub-emu.c_DEPENDENCIES): ... this.
24044 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24045 (util/grub-emu.c_DEPENDENCIES): ... this.
24046 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24047 (util/grub-emu.c_DEPENDENCIES): ... this.
24048
3f51de77 240492008-01-27 Pavel Roskin <proski@gnu.org>
24050
24051 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
24052 to create a gap between _end and the modules added to the image
24053 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
24054 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
24055 * util/elf/grub-mkimage.c (add_segments): Likewise.
24056
2033f53e 240572008-01-26 Pavel Roskin <proski@gnu.org>
24058
24059 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
24060 just return an error.
24061
22da1f6f 240622008-01-26 Bean <bean123ch@gmail.com>
24063
24064 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
24065 (grub_reiserfs_get_item): Save offset of the next item.
24066 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
24067
2a9525e6 240682008-01-25 Robert Millan <rmh@aybabtu.com>
24069
24070 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
24071 make all filesystem sources appear together (possibly fixing omissions
24072 while at it).
24073 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24074 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24075 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24077
24078 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
24079 add `kern/file.c'.
24080 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
24081 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24082 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
24083 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24084
24085 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
24086 (probe): Add a sanity check to make sure of our ability to read
24087 requested files when probing for filesystem type.
24088
24089 * genmk.rb: Update copyright year (2007).
24090
24091 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
24092 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
24093 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
24094 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
24095 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
24096 : Remove function prototypes.
24097
b95f71b5 240982008-01-25 Robert Millan <rmh@aybabtu.com>
24099
24100 Revert my previous commits (based on wrong assumption of how grub_errno
24101 works).
24102
fe6b695a 24103 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 24104 * kern/file.c (grub_file_open): Likewise.
24105
d08bbb49 241062008-01-24 Pavel Roskin <proski@gnu.org>
24107
24108 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
24109 that hang if GRUB tries to setup colors.
24110 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
24111 colors for firmwares that don't support it.
24112 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
24113 Recognize Open Hack'Ware, set flags to work around its
24114 limitations.
24115
605e36ed 241162008-01-24 Robert Millan <rmh@aybabtu.com>
24117
24118 * kern/file.c (grub_file_open): Do not account previous failures of
24119 unrelated functions when grub_errno is checked for.
24120 Reported by Oleg Strikov.
24121
bac332a1 241222008-01-24 Bean <bean123ch@gmail.com>
24123
24124 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
24125 (grub_ufs_sblock): New member volume name.
24126 (grub_ufs_find_file): Fix string copy bug.
24127 (grub_ufs_label): Implement this function properly.
24128
24129 * fs/hfs.c (grub_hfs_cnid_type): New enum.
24130 (grub_hfs_iterate_records): Use the correct file number for extents
24131 and catalog file. Fix problem in next index calculation.
24132 (grub_hfs_find_node): Replace recursive function call with loop.
24133 (grub_hfs_iterate_dir): Replace recursive function call with loop.
24134
15c80c09 241352008-01-23 Robert Millan <rmh@aybabtu.com>
24136
24137 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
24138 `<grub/symbol.h>' and `<grub/multiboot.h>'.
24139 (grub_multiboot2_real_boot): New function prototype.
24140
24141 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
24142 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
24143
24144 * kern/i386/ieee1275/init.c (grub_os_area_addr)
24145 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
24146
305338fd 241472008-01-23 Robert Millan <rmh@aybabtu.com>
24148
24149 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
24150 #ifdef'ed out grub_printf().
24151
3ea52685 241522008-01-23 Robert Millan <rmh@aybabtu.com>
24153
24154 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
24155 grub_dprintf calls, since they make "debug=all" mode unusable.
24156 (grub_console_checkkey): Likewise.
24157
5882ae4b 241582008-01-23 Robert Millan <rmh@aybabtu.com>
24159
24160 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24161 `term/i386/pc/at_keyboard.c'.
24162 (pkglib_MODULES): Add `serial.mod'.
24163 (serial_mod_SOURCES): New variable.
24164 (serial_mod_CFLAGS): Likewise.
24165 (serial_mod_LDFLAGS): Likewise.
24166
24167 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
24168 `<grub/powerpc/ieee1275/console.h>'.
24169 (grub_keyboard_controller_init): New function prototype.
24170 (grub_console_checkkey): Likewise.
24171 (grub_console_getkey): Likewise.
24172
24173 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
24174 keyboard on i386.
24175
24176 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
24177 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
24178
06ab5303 241792008-01-23 Robert Millan <rmh@aybabtu.com>
24180
24181 * kern/i386/pc/init.c (make_install_device): When memdisk image is
24182 present, "(memdisk)/boot/grub" becomes the default prefix.
24183
24184 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
24185 a memdisk tarball with all the modules. Add --overlay=DIR option that
24186 allows users to overlay additional files into the image.
24187
dbb475a4 241882008-01-23 Robert Millan <rmh@aybabtu.com>
24189
24190 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
24191 and `machine/memory.h'.
24192 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
24193 (_multiboot_mod_SOURCES): New variable.
24194 (_multiboot_mod_CFLAGS): Likewise.
24195 (_multiboot_mod_LDFLAGS): Likewise.
24196 (multiboot_mod_SOURCES): Likewise.
24197 (multiboot_mod_CFLAGS): Likewise.
24198 (multiboot_mod_LDFLAGS): Likewise.
24199
24200 * include/grub/i386/ieee1275/loader.h: New file.
24201
24202 * include/grub/i386/ieee1275/machine.h: Likewise.
24203
24204 * include/grub/i386/ieee1275/memory.h: Likewise.
24205
24206 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
24207 variable declaration.
24208 (grub_os_area_size): Likewise.
24209
24210 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
24211 (grub_lower_mem, grub_upper_mem): New variables.
24212 (grub_stop_floppy): New function (just to make
24213 grub_multiboot2_real_boot() happy).
24214
24215 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
24216 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
24217 (grub_stop): New function.
24218 Include `"../realmode.S"' and `"../loader.S"'.
24219
24220 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
24221 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
24222
24223 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
24224 rely on grub_multiboot2_real_boot() for final boot.
24225
25638629 242262008-01-22 Robert Millan <rmh@aybabtu.com>
24227
24228 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
24229 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
24230 device that doesn't look like an SD card.
24231 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
24232 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
24233 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
24234 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
24235 found.
24236
9dad816d 242372008-01-22 Robert Millan <rmh@aybabtu.com>
24238
24239 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
24240 avoid claiming over our own code.
24241
34842f2d 242422008-01-22 Bean <bean123ch@gmail.com>
24243
24244 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
24245 (jpeg_mod_SOURCES): New variable.
24246 (jpeg_mod_CFLAGS): Likewise.
24247 (jpeg_mod_LDFLAGS): Likewise.
24248
24249 * video/readers/jpeg.c : New file.
24250
44023a28 242512008-01-22 Bean <bean123ch@gmail.com>
24252
24253 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
24254 there are no more items.
24255
bc2d8ac6 242562008-01-21 Robert Millan <rmh@aybabtu.com>
24257
24258 * kern/mm.c (grub_mm_init_region): Improve debug message.
24259
261bd4bc 242602008-01-21 Robert Millan <rmh@aybabtu.com>
24261
24262 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
24263 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
24264 address.
24265 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
24266 a C macro.
24267 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
24268 Indicates start of upper memory.
24269 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
24270 (generate_image): Abort when image size is big enough to corrupt
24271 upper memory.
24272
24273 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
24274 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
24275 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24276 instead of hardcoding 0xA0000.
24277 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
24278 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24279 instead of hardcoding 0xA0000.
24280
f970b55e 242812008-01-21 Robert Millan <rmh@aybabtu.com>
24282
24283 * disk/memdisk.c (memdisk_size): New variable.
24284 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
24285 `memdisk_size'.
24286 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
24287 image to dynamic memory.
24288 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
24289 `memdisk_size'. Free memdisk block.
24290
1a8b0526 242912008-01-21 Robert Millan <rmh@aybabtu.com>
24292
24293 Fix detection of very small filesystems (like tar).
24294
24295 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
24296 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
24297 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
24298 a problem with this disk).
24299
6e9b4aab 243002008-01-21 Robert Millan <rmh@aybabtu.com>
24301
24302 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
24303 on grub_biosdisk_rw_standard() error.
24304
0d8837b2 243052008-01-21 Robert Millan <rmh@aybabtu.com>
24306
24307 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
24308 recent changes.
24309 * kern/elf.c: Likewise.
24310 * kern/ieee1275/ieee1275.c: Likewise.
24311 * kern/powerpc/ieee1275/openfw.c: Likewise.
24312 * term/ieee1275/ofconsole.c: Likewise.
24313
ffd36e34 243142008-01-21 Robert Millan <rmh@aybabtu.com>
24315
24316 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
24317
3f0093d0 24318 * include/grub/kernel.h (grub_arch_memdisk_addr)
24319 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 24320
3f0093d0 24321 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
24322 (grub_arch_memdisk_size): ... to here.
ffd36e34 24323
6c391b21 243242008-01-21 Robert Millan <rmh@aybabtu.com>
24325
24326 Mostly based on bugfix from Bean.
24327
24328 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
24329 attribute with hook() parameter.
24330 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
24331 declaration.
24332 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
24333 attribute with hook() parameter.
24334 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
24335 declaration.
24336
55a581dc 243372008-01-21 Robert Millan <rmh@aybabtu.com>
24338
24339 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
24340 (pkglib_MODULES): Add `memdisk.mod'.
24341 (memdisk_mod_SOURCES): New variable.
24342 (memdisk_mod_CFLAGS): Likewise.
24343 (memdisk_mod_LDFLAGS): Likewise.
24344
24345 * disk/memdisk.c: New file.
24346
24347 * include/grub/disk.h (grub_disk_dev_id): Add
24348 `GRUB_DISK_DEVICE_MEMDISK_ID'.
24349
24350 * include/grub/i386/pc/kernel.h
24351 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
24352 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
24353 (grub_kernel_image_size): New variable declaration.
24354 (grub_total_module_size): Likewise.
24355 (grub_memdisk_image_size): Likewise.
24356
24357 * include/grub/i386/pc/memory.h
24358 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
24359
24360 * include/grub/kernel.h: Include `<grub/symbol.h>'.
24361 (grub_arch_memdisk_addr): New variable declaration.
24362 (grub_arch_memdisk_size): Likewise.
24363
24364 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
24365 (grub_arch_memdisk_size): Likewise.
24366
24367 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
24368 (codestart): Replace hardcoded `0x100000' with
24369 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
24370
24371 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
24372 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
24373 not NULL, append the contents of the file it refers to, at the end of
24374 the compressed kernel image. Initialize `grub_memdisk_image_size'
24375 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
24376 (options): Add "memdisk"|'m' option.
24377 (main): Parse --memdisk|-m option, and pass user-provided path as
24378 parameter to generate_image().
24379
3d7f54c9 243802008-01-20 Robert Millan <rmh@aybabtu.com>
24381
24382 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
24383 grub_dprintf() calls from here ...
24384 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
24385
0bf74728 243862008-01-20 Robert Millan <rmh@aybabtu.com>
24387
24388 Fix detection of "real mode" when /options/real-mode? doesn't exist.
24389
24390 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
24391 declaration.
24392 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
24393 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
24394 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 24395 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 24396 property).
24397 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
24398 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
24399
33bf70a7 244002008-01-19 Robert Millan <rmh@aybabtu.com>
24401
fe6b695a 24402 Get rid of confusing function (superseded by
33bf70a7 24403 `grub_ieee1275_get_integer_property')
24404 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
24405 prototype.
24406 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
24407 function.
24408 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
24409 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 24410 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 24411
e2da7d26 244122008-01-19 Robert Millan <rmh@aybabtu.com>
24413
24414 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
24415 command after "shut-down", since implementations differ on which
24416 the command for halt is.
24417
59f1fd8d 244182008-01-19 Robert Millan <rmh@aybabtu.com>
24419
24420 * include/grub/i386/linuxbios/console.h: Add header protection.
24421 (grub_keyboard_controller_init): New function prototype.
24422 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
24423 (KEYBOARD_COMMAND_READ): Likewise.
24424 (KEYBOARD_COMMAND_WRITE): Likewise.
24425 (KEYBOARD_SCANCODE_SET1): Likewise.
24426 (grub_keyboard_controller_write): New function.
24427 (grub_keyboard_controller_read): Likewise.
24428 (grub_keyboard_controller_init): Likewise.
24429
24430 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
24431 (grub_console_init): On coreboot/LinuxBIOS, call
24432 grub_keyboard_controller_init().
24433
5f5a7c15 244342008-01-19 Robert Millan <rmh@aybabtu.com>
24435
24436 PowerPC changes provided by Pavel Roskin.
24437
24438 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
24439 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
24440 don't rely on cmain() doing it.
24441 * kern/i386/ieee1275/startup.S (_start): Store %eax in
24442 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
24443
1210e168 244442008-01-16 Robert Millan <rmh@aybabtu.com>
24445
24446 * include/grub/i386/linuxbios/memory.h
24447 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
24448 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
24449 receive `table_header' as argument. Instead, probe for it in the
24450 known memory ranges where it can be present.
24451 (grub_available_iterate): Do not pass a fixed `table_header' address
24452 to grub_linuxbios_table_iterate().
24453
3d04eab8 244542008-01-15 Robert Millan <rmh@aybabtu.com>
24455
24456 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
24457 * conf/i386-ieee1275.rmk: New file.
24458 * include/grub/i386/ieee1275/console.h: Likewise.
24459 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
24460 * include/grub/i386/ieee1275/kernel.h: Likewise.
24461 * include/grub/i386/ieee1275/time.h: Likewise.
24462 * kern/i386/ieee1275/init.c: Likewise.
24463 * kern/i386/ieee1275/startup.S: Likewise.
24464
d1bc1b73 244652008-01-15 Robert Millan <rmh@aybabtu.com>
24466
24467 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
24468 when pointers are 32-bit (but still do set it to one when they are
24469 64-bit).
24470
66a65807 244712008-01-15 Robert Millan <rmh@aybabtu.com>
24472
24473 * include/grub/ieee1275/ieee1275.h
24474 (grub_ieee1275_get_integer_property): New function prototype.
24475
24476 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
24477 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 24478 grub_ieee1275_get_property() to handle endianness.
66a65807 24479
24480 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
24481 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 24482 where appropriate.
66a65807 24483 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
24484 (grub_map): Likewise.
24485 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
24486
a83ccafd 244872008-01-15 Bean <bean123ch@gmail.com>
24488
24489 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
24490 (grub_script_execute_cmdline): Reset grub_errno.
24491
24492 * normal/main.c (read_config_file): Reset grub_errno.
24493
24494 * normal/parse.y (script_init): New.
24495 (script): Move function and menuentry here.
24496 (delimiter): New.
24497 (command): Add delimiter at the end of command.
24498 (commands): Adjust to match the new command.
24499 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 24500 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 24501 (if): Use the new commands.
24502
24503 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
24504
df6ecfc6 245052008-01-15 Robert Millan <rmh@aybabtu.com>
24506
24507 * normal/menu.c (run_menu): Move timeout message from here ...
24508 (print_timeout): ... to here.
24509 (run_menu): Use print_timeout() once during initial draw to print
24510 the whole message, and again in every clock tick to update only
24511 the number of seconds.
24512
87ae25eb 245132008-01-15 Robert Millan <rmh@aybabtu.com>
24514
24515 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
24516 actual size of `available' from grub_ieee1275_get_property(), and
24517 restrict parsing to that bound.
24518
47bf09a4 245192008-01-15 Christian Franke <franke@computer.org>
24520
24521 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
24522 (argp_program_version): Remove variable.
24523 (argp_program_bug_address): Likewise.
24524 (options): Convert from struct argp_option to struct option.
24525 (struct arguments): Remove.
24526 (parse_opt): Remove.
24527 (usage): New function.
24528 (main): Replace struct args members by simple variables.
24529 Replace argp_parse() by getopt_long().
24530 Add switch to evaluate options.
24531 Add missing "(...)" around root_dev in prefix string.
24532
c86f1469 245332008-01-14 Robert Millan <rmh@aybabtu.com>
24534
24535 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
24536 for grub_ieee1275_exit(), in order to improve portability.
24537
e622c559 245382008-01-14 Robert Millan <rmh@aybabtu.com>
24539
24540 * util/grub.d/10_linux.in (prefix): Define.
24541 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
24542
44cb1ec8 245432008-01-13 Pavel Roskin <proski@gnu.org>
24544
24545 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
24546 grub_errno if no errors have been detected.
24547
1eb8c802 245482008-01-12 Robert Millan <rmh@aybabtu.com>
24549
24550 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
24551 (grub_util_get_dev_abstraction): New function prototype.
24552
24553 * util/getroot.c: Include `<grub/util/getroot.h>'
24554 (grub_util_get_grub_dev): Move detection of abstraction type to ...
24555 (grub_util_get_dev_abstraction): ... here (new function).
24556
24557 * util/grub-probe.c: Convert PRINT_* to an enum. Add
24558 `PRINT_ABSTRACTION'.
24559 (probe): Probe for abstraction type when requested.
24560 (main): Understand `--target=abstraction'.
24561
24562 * util/i386/efi/grub-install.in: Add abstraction module to core
24563 image when it is found to be necessary.
24564 * util/i386/pc/grub-install.in: Likewise.
24565 * util/powerpc/ieee1275/grub-install.in: Likewise.
24566
24567 * util/update-grub_lib.in (font_path): Return system path without
24568 converting to GRUB path.
24569 * util/update-grub.in: Convert system path returned by font_path()
24570 to a GRUB path. Use `grub-probe -t abstraction' to determine what
24571 abstraction module is needed for loading fonts (if any). Export
24572 that as `GRUB_PRELOAD_MODULES'.
24573 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
24574 insmod commands).
24575
52bd3de9 245762008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
24577
24578 Remove some unused code from reiserfs.
f19dbdb7 24579
52bd3de9 24580 * fs/reiserfs.c (struct grub_reiserfs_key)
24581 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
24582 (struct grub_reiserfs_node_body): Removed.
24583 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24584 Likewise.
24585 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24586 Likewise.
24587 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24588 Likewise.
24589 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24590 Likewise.
24591 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24592 Likewise.
24593 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
24594 Likewise.
24595 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24596 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24597 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24598
2f80039d 245992008-01-10 Robert Millan <rmh@aybabtu.com>
24600
24601 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
24602 Determines if a file is garbage left by packaging systems, etc.
24603 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
24604 for processing /etc/grub.d scripts.
24605 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
24606 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
24607 as a condition for processing Linux images.
24608
87888032 246092008-01-10 Pavel Roskin <proski@gnu.org>
24610
24611 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
24612 to compile reiserfs.c on PowerPC.
24613
7e54fced 246142008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 24615
24616 * kern/device.c (grub_device_iterate): Do not abort device iteration
24617 when one of the devices cannot be opened.
24618 * kern/disk.c (grub_disk_open): Do not account previous failures of
24619 unrelated functions when grub_errno is checked for.
24620
5aa541e6 246212008-01-08 Robert Millan <rmh@aybabtu.com>
24622
24623 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
24624 `! grub_linux_is_bzimage', change order of address comparison to make
24625 it more intuitive, and improve "too big zImage" error message.
24626
7076340d 246272008-01-08 Robert Millan <rmh@aybabtu.com>
24628
24629 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
24630 `$(update-grub_DATA)'.
24631 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
24632 targets.
24633
9ca70333 246342008-01-07 Robert Millan <rmh@aybabtu.com>
24635
24636 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
24637 which instruction is modified by grub-setup during installation
24638 (since it wasn't obvious by only looking at this file).
24639
38ccf575 246402008-01-07 Robert Millan <rmh@aybabtu.com>
24641
24642 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
24643 listing actual TODO items.
24644
f5db4291 246452008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24646
868967cf 24647 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
24648 correctly.
24649 (grub_reiserfs_get_key_offset): Likewise.
24650 (grub_reiserfs_set_key_offset): Likewise.
24651 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 24652 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 24653
24654 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
24655 better to remove the bitfield version completely.
f19dbdb7 24656
868967cf 246572008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24658
f5db4291 24659 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
24660 allocated from the heap, due to the fshelp implementation.
24661 (grub_reiserfs_dir): Free NODE, due to the same reason.
24662
492e6d9d 246632008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24664
24665 Mostly from Vincent Pelletier:
f19dbdb7 24666
492e6d9d 24667 * fs/reiserfs.c: New file.
f19dbdb7 24668
492e6d9d 24669 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
24670 (reiserfs_mod_SOURCES): New variable.
24671 (reiserfs_mod_CFLAGS): Likewise.
24672 (reiserfs_mod_LDFLAGS): Likewise.
24673
24674 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
24675 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
24676 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
24677 normal/color.c.
24678
9ce3e7c1 246792008-01-06 Robert Millan <rmh@aybabtu.com>
24680
24681 * normal/color.c: Remove `<grub/env.h>'.
24682
f3b58148 246832008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
24684
24685 * include/grub/normal.h: Include <grub/env.h>.
24686
7ac3bcfa 246872008-01-05 Robert Millan <rmh@aybabtu.com>
24688
24689 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
24690 usage example with `(hd0,1)'.
fb358190 24691 Reported by Samuel Thibault.
7ac3bcfa 24692
c8ee99d7 246932008-01-05 Robert Millan <rmh@aybabtu.com>
24694
24695 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
24696 (grub_linux_boot_zimage): Rename to ...
24697 (grub_linux_boot): ... this.
24698 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
24699 (grub_linux_boot_zimage): Conditionalize zImage copy.
24700
24701 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
24702 (grub_linux_boot_bzimage): Remove prototype.
24703 (grub_linux_boot_zimage): Rename to ...
24704 (grub_linux_boot): ... this.
24705
24706 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
24707 (grub_linux_boot): Remove function.
24708
0ece25b1 247092008-01-05 Robert Millan <rmh@aybabtu.com>
24710
24711 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
24712 (grub_env_write_color_highlight): Likewise.
24713 (grub_wait_after_message): Likewise.
24714
24715 * normal/color.c: New file.
24716
24717 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24718 (normal_mod_DEPENDENCIES): Likewise.
24719
24720 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24721 (normal_mod_DEPENDENCIES): Likewise.
24722
24723 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24724 (normal_mod_DEPENDENCIES): Likewise.
24725
24726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24727 (normal_mod_DEPENDENCIES): Likewise.
24728
24729 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
24730 for waiting after a message is printed.
24731 * normal/main.c (read_config_file): Likewise.
24732 (grub_normal_init): Register grub_env_write_color_normal() and
24733 grub_env_write_color_highlight() hooks. Mark `color_normal' and
24734 `color_highlight' variables as global.
24735
24736 * normal/menu.c (grub_wait_after_message): New function.
24737 (grub_color_menu_normal): New variable. Replaces ...
24738 (GRUB_COLOR_MENU_NORMAL): ... this macro.
24739 (grub_color_menu_highlight): New variable. Replaces ...
24740 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
24741 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
24742 `GRUB_TERM_COLOR_STANDARD'.
24743 (print_message): Use `grub_setcolorstate' to reload colors. Rename
24744 `normal_code' and `highlight_code' to `old_color_normal' and
24745 `old_color_highlight', respectively.
24746 (grub_menu_init_page): Update colors when drawing the menu, based on
24747 `menu_color_normal' and `menu_color_highlight' variables.
24748 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
24749 a message is printed.
24750
182dd4e5 247512008-01-05 Robert Millan <rmh@aybabtu.com>
24752
24753 * kern/env.c (grub_env_context_open): Propagate hooks for global
24754 variables to new context.
24755
24756 * kern/main.c (grub_set_root_dev): Export `root' variable.
24757
ddf8f6ad 247582008-01-05 Robert Millan <rmh@aybabtu.com>
24759
24760 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 24761 discs unconditionally, since udev and others have options to provide
ddf8f6ad 24762 them.
24763
d8b43d9b 247642008-01-05 Robert Millan <rmh@aybabtu.com>
24765
24766 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
24767
2bff2de3 247682008-01-04 Christian Franke <franke@computer.org>
24769
24770 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
24771 of eisa_mmap.
24772
97eab917 247732008-01-03 Pavel Roskin <proski@gnu.org>
24774
24775 * kern/i386/linuxbios/init.c: Put "void" to all function
24776 declarations with no arguments.
24777 * kern/powerpc/ieee1275/init.c: Likewise.
24778 * term/i386/pc/at_keyboard.c: Likewise.
24779 * term/i386/pc/vga_text.c: Likewise.
24780 * util/grub-mkdevicemap.c: Likewise.
24781
b9416d00 247822008-01-02 Robert Millan <rmh@aybabtu.com>
24783
24784 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
24785 message when loaded image is out of bounds.
24786 (grub_multiboot_load_elf64): Likewise.
24787
92695df9 247882008-01-02 Pavel Roskin <proski@gnu.org>
24789
24790 * util/grub.d/10_linux.in: Try version without ".old" when
24791 looking for initrd. It's better to use initrd from the newer
24792 kernel of the same version than no initrd at all.
24793
d98d9cad 247942008-01-01 Robert Millan <rmh@aybabtu.com>
24795
24796 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
24797
dbfdce36 247982008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
24799
f19dbdb7 24800 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 24801 grub_video_get_active_render_target.
24802 (grub_video_adapter): Added unmap_color and get_active_render_target.
24803
f19dbdb7 24804 * video/video.c: Added grub_video_unmap_color and
dbfdce36 24805 grub_video_get_active_render_target.
24806 (grub_video_get_info): Changed method to accept NULL pointer as an
24807 argument to allow detection of active video adapter.
24808
24809 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
24810 grub_video_vbe_unmap_color_int.
24811 Added grub_video_vbe_unmap_color and
24812 grub_video_vbe_get_active_render_target.
24813 (grub_video_vbe_adapter): Added unmap_color and
24814 get_active_render_target.
24815
f19dbdb7 24816 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 24817 with grub_video_vbe_unmap_color_int.
24818
24819 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
24820 (DEFAULT_NORMAL_COLOR): Likewise.
24821 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
24822 (DEFAULT_FG_COLOR): Removed.
24823 (DEFAULT_BG_COLOR): Likewise.
24824 (DEFAULT_CURSOR_COLOR): Changed value.
24825 (grub_virtual_screen): Added standard_color_setting,
24826 normal_color_setting, highlight_color_setting and term_color.
24827 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
24828 (bitmap_width): Added.
24829 (bitmap_height): Likewise.
24830 (bitmap): Likewise.
24831 (set_term_color): Likewise.
24832 (grub_virtual_screen_setup): Changed to use new terminal coloring
24833 settings.
24834 (grub_gfxterm_init): Added init for bitmap.
24835 (grub_gfxterm_fini): Added destroy for bitmap.
24836 (redraw_screen_rect): Updated to use background bitmap and new
24837 terminal coloring.
24838 (scroll_up): Added optimization for case when there is no bitmap.
24839 (grub_gfxterm_cls): Fixed to use correct background color.
24840 (grub_virtual_screen_setcolorstate): Changed to use new terminal
24841 coloring.
24842 (grub_virtual_screen_setcolor): Likewise.
24843 (grub_virtual_screen_getcolor): Added.
24844 (grub_gfxterm_background_image_cmd): Likewise.
24845 (grub_video_term): Added setcolor and getcolor.
24846 (MOD_INIT): Added registration of background_image command.
24847 (MOD_TERM): Added unregistration for background_image command.
24848
c3c20931 248492007-12-30 Pavel Roskin <proski@gnu.org>
24850
24851 * loader/multiboot_loader.c: Fix multiboot command
24852 unregistration. Fix all typos in the word "multiboot".
24853
df266716 248542007-12-29 Pavel Roskin <proski@gnu.org>
94239199 24855
24856 * util/grub.d/10_linux.in: Refactor search for initrd. Add
24857 support for initrd names used in Fedora.
24858
fc6e896c 248592007-12-26 Bean <bean123ch@gmail.com>
24860
24861 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
24862 (cpio_mod_SOURCES): New variable.
24863 (cpio_mod_CFLAGS): Likewise.
24864 (cpio_mod_LDFLAGS): Likewise.
24865
24866 * fs/cpio.c: New file.
24867
24868 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
24869
24870 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24871
24872 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24873
24874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24875
533110ad 248762007-12-25 Robert Millan <rmh@aybabtu.com>
24877
24878 * include/grub/term.h (struct grub_term): Add `getcolor' function.
24879 (grub_getcolor): New function.
24880
24881 * kern/term.c (grub_getcolor): New function.
24882 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
24883 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
24884 (print_entry): Set normal and highlight colors to
24885 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
24886 respectively, before printing and restore them to old
24887 values afterwards.
24888 (grub_menu_init_page): Likewise. Fill an additional colored space
24889 that would otherwise be left blank.
24890
24891 * term/efi/console.c (grub_console_getcolor): New function.
24892 (struct grub_console_term.getcolor): New variable.
24893 * term/i386/pc/console.c (grub_console_getcolor): New function.
24894 (struct grub_console_term.getcolor): New variable.
24895 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
24896 (struct grub_console_term.getcolor): New variable.
24897
24898 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
24899 (struct grub_console_term.setcolor): Remove variable.
24900 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
24901 (struct grub_console_term.setcolor): Remove variable.
24902 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
24903 (struct grub_console_term.setcolor): Remove variable.
24904 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
24905 (struct grub_console_term.setcolor): Remove variable.
24906
4931827f 249072007-12-25 Robert Millan <rmh@aybabtu.com>
24908
24909 * configure.ac: Search for possible unifont.hex locations, and
24910 define UNIFONT_HEX if found.
24911
24912 * Makefile.in (UNIFONT_HEX): Define variable.
24913 (DATA): Rename to ...
24914 (PKGLIB): ... this. Update all users.
24915 (PKGDATA): New variable.
24916 (pkgdata_IMAGES): Rename to ...
24917 (pkglib_IMAGES): ... this. Update all users.
24918 (pkgdata_MODULES): Rename to ...
24919 (pkglib_MODULES): ... this. Update all users.
24920 (pkgdata_PROGRAMS): Rename to ...
24921 (pkglib_PROGRAMS): ... this. Update all users.
24922 (pkgdata_DATA): Rename to ...
24923 (pkglib_DATA): ... this. Update all users.
24924 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
24925 (unicode.pff, ascii.pff): New rules.
24926 (all-local): Add `$(PKGDATA)' dependency.
24927 (install-local): Process `$(PKGDATA)'.
24928
24929 * util/update-grub_lib.in (font_path): Search for *.pff files in
24930 a few more locations, including `${pkgdata}'.
24931
57e57e31 249322007-12-23 Robert Millan <rmh@aybabtu.com>
24933
24934 Patch from Bean <bean123ch@gmail.com>:
24935 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
24936 `size'.
24937
4bc72aa9 249382007-12-21 Bean <bean123ch@gmail.com>
24939
24940 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
24941 (ntfscomp_mod_SOURCES): New variable.
24942 (ntfscomp_mod_CFLAGS): Likewise.
24943 (ntfscomp_mod_LDFLAGS): Likewise.
24944
24945 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
24946 (grub_probe_SOURCES): Likewise.
24947 (grub_emu_SOURCES): Likewise.
24948
24949 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24950 (grub_emu_SOURCES): Likewise.
24951
24952 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24953 (grub_emu_SOURCES): Likewise.
24954
24955 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24956 (grub_emu_SOURCES): Likewise.
24957
24958 * fs/ntfs.c (grub_ntfscomp_func): New variable.
24959 (read_run_list): Renamed to grub_ntfs_read_run_list.
24960 (decomp_nextvcn): Moved to ntfscomp.c.
24961 (decomp_getch): Likewise.
24962 (decomp_get16): Likewise.
24963 (decomp_block): Likewise.
24964 (read_block): Likewise.
24965 (read_data): Partially moved to ntfscomp.c.
24966 (fixup): Change unsigned to grub_uint16_t.
24967 (read_mft): Change unsigned long to grub_uint32_t.
24968 (read_attr): Likewise.
24969 (read_data): Likewise.
24970 (read_run_data): Likewise.
24971 (read_run_list): Likewise.
24972 (read_mft): Likewise.
24973
24974 * fs/ntfscomp.c: New file.
24975
24976 * include/grub/ntfs.h: New file.
24977
af680a87 249782007-12-16 Robert Millan <rmh@aybabtu.com>
24979
24980 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
24981 IDE disk check, since Linux is known to support 20 IDE disks.
24982 Reported by Colin Watson.
24983
84be7599 249842007-12-15 Bean <bean123ch@gmail.com>
24985
24986 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
24987 (lnxboot_img_SOURCES): New variable.
24988 (lnxboot_img_ASFLAGS): Likewise.
24989 (lnxboot_img_LDFLAGS): Likewise.
24990
24991 * boot/i386/pc/lnxboot.S: New file.
24992
6af9db01 249932007-11-24 Pavel Roskin <proski@gnu.org>
24994
24995 * configure.ac: Test if '--build-id=none' is supported by the
24996 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
24997 objcopy to generate incorrect binary files (binutils
24998 2.17.50.0.18-1 as shipped by Fedora 8).
24999 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
25000 linking, so that build ID doesn't break the test.
25001
7361cfe6 250022007-11-24 Pavel Roskin <proski@gnu.org>
25003
25004 * include/grub/i386/time.h: use "void" in the argument list
25005 of grub_cpu_idle().
25006 * include/grub/powerpc/time.h: Likewise.
25007 * include/grub/sparc64/time.h: Likewise.
25008
1593e10c 250092007-11-18 Christian Franke <franke@computer.org>
25010
25011 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
25012 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
25013 This fixes the problem that function keys did not work in grub-emu.
25014
3b8db1a8 250152007-11-18 Christian Franke <franke@computer.org>
25016
25017 * disk/host.c (grub_host_open): Remove attribute unused from
25018 name parameter. Add check for "host". This fixes the problem
25019 that grub-emu does not find partitions.
25020
2e29408d 250212007-11-18 Christian Franke <franke@computer.org>
25022
25023 * util/hostfs.c (is_dir): New function.
25024 (grub_hostfs_dir): Handle missing dirent.d_type case.
25025 (grub_hostfs_read): Add missing fseek().
25026 (grub_hostfs_label): Clear label pointer. This fixes a crash
25027 of grub-emu on "ls (host)".
25028
398cd047 250292007-11-18 Christian Franke <franke@computer.org>
25030
25031 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
25032 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
25033 to 64 bit boundary by default.
25034
c405c391 250352007-11-18 Bean <bean123ch@gmail.com>
25036
25037 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
25038 (hexdump_mod_SOURCES): New variable.
25039 (hexdump_mod_CFLAGS): Likewise.
25040 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 25041
c405c391 25042 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25043
25044 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25045
25046 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25047
25048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25049
25050 * include/grub/hexdump.h: New file.
25051
25052 * commands/hexdump.c: New file.
25053
5cced7fd 250542007-11-10 Robert Millan <rmh@aybabtu.com>
25055
25056 * commands/i386/pc/play.c (beep_off): Switch order of arguments
25057 in grub_outb() calls.
25058 (beep_on): Likewise.
25059
8b714eb0 250602007-11-10 Christian Franke <franke@computer.org>
25061
25062 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
25063 (grub_menu_run): Likewise.
25064
ce0f1839 250652007-11-10 Robert Millan <rmh@aybabtu.com>
25066
25067 * include/grub/i386/efi/machine.h: New file.
25068 * include/grub/i386/linuxbios/machine.h: Likewise.
25069 * include/grub/i386/pc/machine.h: Likewise.
25070 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25071 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25072
25073 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
25074 (serial_hw_io_addr): New variable.
25075 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
25076 instead of `(unsigned short *) 0x400'.
25077
270c237d 250782007-11-10 Bean <bean123ch@gmail.com>
25079
25080 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
25081
a87783bf 250822007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25083
25084 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
25085 (vga_mod_SOURCES): Added.
25086 (vga_mod_CFLAGS): Likewise.
25087 (vga_mod_LDFLAGS): Likewise.
25088
25089 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
25090 grub_outb() calls.
25091 (set_map_mask): Likewise.
25092 (set_read_map): Likewise.
25093 (set_read_address): Likewise.
25094 (vga_font): Removed variable.
25095 (get_vga_glyph): Removed function.
25096 (invalidate_char): Likewise.
25097 (write_char): Changed to use grub_font_get_glyph() for font
25098 information.
25099 (grub_vga_putchar): Likewise.
25100 (grub_vga_getcharwidth): Likewise.
25101
6433b448 251022007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25103
25104 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
25105 flags.
25106 (pxeboot_img_LDFLAGS): Likewise.
25107 (diskboot_img_LDFLAGS): Likewise.
25108 (kernel_img_LDFLAGS): Likewise.
25109
49178511 251102007-11-06 Robert Millan <rmh@aybabtu.com>
25111
25112 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
25113 in grub_outb() calls.
25114 (serial_hw_init): Likewise.
25115
53b052de 251162007-11-05 Robert Millan <rmh@aybabtu.com>
25117
25118 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
25119 spaces. Skip non-regular files.
25120
5ab33bba 251212007-11-05 Robert Millan <rmh@aybabtu.com>
25122
25123 * kern/disk.c (grub_disk_firmware_fini)
25124 (grub_disk_firmware_is_tainted): New variables.
25125
25126 * include/grub/disk.h (grub_disk_firmware_fini)
25127 (grub_disk_firmware_is_tainted): Likewise.
25128
25129 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
25130 (grub_disk_biosdisk_fini): ... to here.
25131 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
25132 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
25133 is set. Register grub_disk_biosdisk_fini() in
25134 `grub_disk_firmware_fini'.
25135
25136 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
25137 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
25138 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
25139 to finish existing firmware disk interface.
25140
25141 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
25142 (ata_mod_SOURCES): New variable.
25143 (ata_mod_CFLAGS): Likewise.
25144 (ata_mod_LDFLAGS): Likewise.
25145
0149ab7c 251462007-11-05 Robert Millan <rmh@aybabtu.com>
25147
25148 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
25149 (grub_ata_wait): Reimplement using grub_millisleep().
25150
25151 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
25152 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
25153
be7ac41e 251542007-11-03 Marco Gerards <marco@gnu.org>
25155
25156 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
25157 (CRTC_ADDR_PORT): New macro.
25158 (CRTC_DATA_PORT): Likewise.
25159 (CRTC_CURSOR): Likewise.
25160 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25161 (CRTC_CURSOR_ADDR_LOW): Likewise.
25162 (update_cursor): New function.
25163 (grub_console_real_putchar): Call `update_cursor'.
25164 (grub_console_gotoxy): Likewise.
25165 (grub_console_cls): Set the default color when clearing the
25166 screen.
25167 (grub_console_setcursor): Implemented.
25168
bb06ab2e 251692007-11-03 Marco Gerards <marco@gnu.org>
25170
25171 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
25172 become activate.
25173 (grub_ata_pio_write): Likewise.
25174
25175 (grub_atapi_identify): Wait after issuing an ATA command.
25176 (grub_atapi_packet): Likewise.
25177 (grub_ata_identify): Likewise.
25178 (grub_ata_readwrite): Likewise.
25179
cf8f780b 251802007-11-03 Marco Gerards <marco@gnu.org>
25181
25182 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
25183 (grub_ata_pio_write): Likewise.
25184 (grub_ata_readwrite): Use `grub_error', instead of
25185 returning `grub_errno'.
25186
ed649e54 251872007-11-03 Marco Gerards <marco@gnu.org>
25188
25189 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
25190 grub_ata_pio_write once for every single sector, instead of for
25191 multiple sectors.
25192
ca25d8f0 251932007-10-31 Robert Millan <rmh@aybabtu.com>
25194
25195 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
25196
25197 * conf/i386-linuxbios.rmk: New file.
25198
25199 * kern/i386/pc/hardware.c: Likewise.
25200 * term/i386/pc/at_keyboard.c: Likewise.
25201 * term/i386/pc/vga_text.c: Likewise.
25202
25203 * include/grub/i386/linuxbios/boot.h: Likewise.
25204 * include/grub/i386/linuxbios/console.h: Likewise.
25205 * include/grub/i386/linuxbios/init.h: Likewise.
25206 * include/grub/i386/linuxbios/kernel.h: Likewise.
25207 * include/grub/i386/linuxbios/loader.h: Likewise.
25208 * include/grub/i386/linuxbios/memory.h: Likewise.
25209 * include/grub/i386/linuxbios/serial.h: Likewise.
25210 * include/grub/i386/linuxbios/time.h: Likewise.
25211
25212 * kern/i386/linuxbios/init.c: Likewise.
25213 * kern/i386/linuxbios/startup.S: Likewise.
25214 * kern/i386/linuxbios/table.c: Likewise.
25215
e911ecc1 252162007-10-31 Marco Gerards <marco@gnu.org>
25217
25218 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
25219 (ata_mod_SOURCES): New variable.
25220 (ata_mod_CFLAGS): Likewise.
25221 (ata_mod_LDFLAGS): Likewise.
25222
25223 * disk/ata.c: New file.
25224
25225 * include/grub/disk.h (grub_disk_dev_id): Add
25226 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 25227
7f66d0e0 252282007-10-31 Robert Millan <rmh@aybabtu.com>
25229
25230 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
25231 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
25232
25233 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
25234 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
25235
25236 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
25237 `<grub/types.h>'.
25238
25239 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
25240
5cd7dd46 252412007-10-27 Robert Millan <rmh@aybabtu.com>
25242
3236ca65 25243 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 25244
2ebfc90f 252452007-10-22 Robert Millan <rmh@aybabtu.com>
25246
25247 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
25248 `"../realmode.S"'.
25249 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
25250
73fcb0f3 252512007-10-22 Robert Millan <rmh@aybabtu.com>
25252
25253 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
25254 (pkgdata_MODULES): Add `biosdisk.mod'.
25255 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
25256 variables.
25257
25258 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
25259 (grub_biosdisk_init): Replace with ...
25260 (GRUB_MOD_INIT(biosdisk)): ... this.
25261 (grub_biosdisk_fini): Replace with ...
25262 (GRUB_MOD_FINI(biosdisk)): ... this.
25263
25264 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
25265 (grub_machine_init): Remove call to grub_biosdisk_init().
25266 (grub_machine_fini): Remove call to grub_machine_fini().
25267
25268 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
25269
3381d274 252702007-10-22 Robert Millan <rmh@aybabtu.com>
25271
25272 * include/grub/time.h: New file.
25273 * include/grub/i386/time.h: Likewise.
25274 * include/grub/powerpc/time.h: Likewise.
25275 * include/grub/sparc64/time.h: Likewise.
25276
25277 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
25278 instances to ...
25279 (KERNEL_MACHINE_TIME_HEADER): ... this.
25280 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25281 instances to ...
25282 (KERNEL_MACHINE_TIME_HEADER): ... this.
25283 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25284 instances to ...
25285 (KERNEL_MACHINE_TIME_HEADER): ... this.
25286
25287 * kern/i386/efi/init.c: Include `<grub/time.h>'.
25288 (grub_millisleep): New function.
25289 * kern/i386/pc/init.c: Include `<grub/time.h>'.
25290 (grub_millisleep): New function.
25291 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
25292 Remove `grub/machine/time.h' include.
25293 (grub_millisleep): New function.
25294 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
25295 Remove `grub/machine/time.h' include.
25296 (grub_millisleep): New function.
25297
25298 * include/grub/misc.h (grub_div_roundup): New function.
25299
25300 * kern/misc.c: Include `<grub/time.h>'.
25301 (grub_millisleep_generic): New function.
25302
25303 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
25304 Add `time.h'.
25305 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
25306 Add `time.h'.
25307 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
25308 `machine/time.h'. Add `time.h'.
25309 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25310
a39a0312 253112007-10-21 Robert Millan <rmh@aybabtu.com>
25312
25313 * include/grub/misc.h (grub_max): New function.
25314
2aad70e2 253152007-10-21 Robert Millan <rmh@aybabtu.com>
25316
25317 * util/misc.c (grub_util_info): Call fflush() before returning.
25318
54b71c4b 253192007-10-20 Robert Millan <rmh@aybabtu.com>
25320
25321 * genmk.rb (Image): Copy `extra_flags' from here ...
25322 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
25323
25324 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
25325 to `argc' and `args' arguments.
25326
a979f513 253272007-10-17 Robert Millan <rmh@aybabtu.com>
25328
25329 * kern/i386/loader.S: New file.
25330
25331 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
25332 * kern/i386/loader.S (grub_linux_prot_size)... to here.
25333 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
25334 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
25335 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
25336 * kern/i386/loader.S (grub_linux_real_addr)... to here.
25337 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
25338 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
25339 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
25340 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
25341 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
25342 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
25343 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
25344 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
25345
25346 * kern/i386/realmode.S: New file.
25347
25348 * kern/i386/pc/startup.S (protstack): Moved from here ...
25349 * kern/i386/realmode.S (protstack)... to here.
25350 * kern/i386/pc/startup.S (gdt): Moved from here ...
25351 * kern/i386/realmode.S (gdt)... to here.
25352 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
25353 * kern/i386/realmode.S (prot_to_real)... to here.
25354
25355 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
25356 `kern/i386/realmode.S'.
25357
825fc8fd 253582007-10-17 Robert Millan <rmh@aybabtu.com>
25359
25360 * include/grub/i386/loader.h: New file.
25361
25362 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
25363 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25364 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25365 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25366 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
25367 * include/grub/i386/loader.h (grub_linux_prot_size)
25368 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25369 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25370 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25371 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
25372
25373 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
25374
e179b2f4 253752007-10-15 Robert Millan <rmh@aybabtu.com>
25376
25377 * normal/misc.c (grub_normal_print_device_info): Do not probe for
25378 filesystem when dev->disk is unset.
25379 Do probe for filesystem even when dev->disk->has_partitions is set.
25380 In case a filesystem is found, always report it.
25381 In case it isn't, if dev->disk->has_partitions is set, report that
25382 a partition table was found instead of reporting that no filesystem
25383 could be identified.
25384
5db82af6 253852007-10-12 Robert Millan <rmh@aybabtu.com>
25386
25387 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
25388 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
25389
68f6ac74 25390 * include/grub/types.h (grub_host_to_target16): New macro.
25391 (grub_host_to_target32): Likewise.
25392 (grub_host_to_target64): Likewise.
25393 (grub_target_to_host16): Likewise.
25394 (grub_target_to_host32): Likewise.
25395 (grub_target_to_host64): Likewise.
5db82af6 25396
25397 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25398 Renamed from to ...
25399 (GRUB_MOD_ALIGN): ...this. Update all users.
25400
68f6ac74 25401 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
25402 grub_host_to_target32.
25403 Replace grub_be_to_cpu32 with grub_target_to_host32.
25404 (load_modules): Likewise.
25405 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
25406 Replace grub_be_to_cpu32 with grub_target_to_host32.
25407 Replace grub_cpu_to_be16 with grub_host_to_target16.
25408 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 25409
3cf497cc 254102007-10-12 Robert Millan <rmh@aybabtu.com>
25411
25412 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
25413 * util/elf/grub-mkimage.c: ... here.
25414
25415 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
25416 `util/powerpc/ieee1275/grub-mkimage.c'.
25417
c8cc3692 254182007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 25419
c8cc3692 25420 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
25421 and make it easier to figure out.
25422 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
25423 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
25424 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
25425 leave us with less than HEAP_MIN_SIZE total heap.
25426 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 25427
5c58b791 254282007-10-03 Robert Millan <rmh@aybabtu.com>
25429
25430 * include/grub/i386/io.h: New file.
25431 * commands/i386/pc/play.c (inb): Removed.
25432 (outb): Removed.
25433 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25434 with grub_outb().
afcd2ef8 25435 * term/i386/pc/serial.c (inb): Removed.
25436 (outb): Removed.
25437 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25438 with grub_outb().
25439 * term/i386/pc/vga.c (inb): Removed.
25440 (outb): Removed.
25441 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25442 with grub_outb().
5c58b791 25443
1a477ed6 254442007-10-02 Robert Millan <rmh@aybabtu.com>
25445
25446 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
25447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25448 Reported by Marcin Kurek.
25449
6b5d80fa 254502007-09-07 Robert Millan <rmh@aybabtu.com>
25451
25452 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
25453 SmartFirmware version updates (as released by Sven Luther), and avoid
25454 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
25455 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
25456 known broken.
25457
5618afbf 254582007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25459
25460 From Hitoshi Ozeki:
25461 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
25462 when merging two regions.
25463
6139dcd9 254642007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25465
508e39ee 25466 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
25467 * normal/completion.c (grub_normal_do_completion): Likewise.
25468 Reported by Hitoshi Ozeki.
25469
254702007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25471
6139dcd9 25472 Do not use devices at boot in chainloading.
f19dbdb7 25473
6139dcd9 25474 * loader/i386/pc/chainloader.c (boot_drive): New variable.
25475 (boot_part_addr): Likewise.
25476 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
25477 with BOOT_DRIVE and BOOT_PART_ADDR.
25478 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
25479 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
25480
38da6516 254812007-08-29 Robert Millan <rmh@aybabtu.com>
25482
25483 Patch from Simon Peter <dn.tlp@gmx.net>:
25484 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
25485 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
25486 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
25487 util/i386/pc/grub-setup.c_DEPENDENCIES.
25488 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
25489 util/grub-probe.c_DEPENDENCIES.
25490 * conf/powerpc-ieee1275.rmk: Likewise.
25491
29d0928c 254922007-08-28 Robert Millan <rmh@aybabtu.com>
25493
25494 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
25495 to tell grub-mkdevicemap how to name devices.
25496 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
25497 feature).
25498
25499 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
25500 util/i386/get_disk_name.c.
25501 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
25502 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
25503 util/ieee1275/get_disk_name.c.
25504
25505 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
25506
25507 * DISTLIST: Add util/i386/get_disk_name.c and
25508 util/ieee1275/get_disk_name.c.
25509
25510 * util/grub-mkdevicemap.c: Replace device naming logic with
25511 grub_util_get_disk_name() calls.
25512
5a0d3cca 255132007-08-20 Robert Millan <rmh@aybabtu.com>
25514
25515 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
25516 (so that it works for both plural and singular quantities).
25517
8b72db2f 255182007-08-05 Robert Millan <rmh@aybabtu.com>
25519
25520 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
25521 so that [xz] isn't taken into account when determining order.
25522
352466bf 255232007-08-02 Marco Gerards <marco@gnu.org>
25524
25525 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
25526 `include/multiboot2.h', `include/grub/elfload.h',
25527 `include/multiboot.h', `include/grub/multiboot.h',
25528 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
25529 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
25530 `kern/elf.c', `loader/multiboot_loader.c',
25531 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
25532 `loader/i386/pc/multiboot2.c',
25533 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
25534 `util/i386/pc/grub-mkrescue.in'. Remove
25535 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
25536 `include/grub/i386/pc/util/biosdisk.h' and
25537 `include/grub/powerpc/ieee1275/multiboot.h'.
25538
8f096014 255392007-08-02 Bean <bean123ch@gmail.com>
25540
25541 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
25542 (ntfs_mod_SOURCES): New variable.
25543 (ntfs_mod_CFLAGS): Likewise.
25544 (ntfs_mod_LDFLAGS): Likewise.
25545
25546 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
25547 (grub_probe_SOURCES): Likewise.
25548 (grub_emu_SOURCES): Likewise.
25549
25550 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25551 (grub_emu_SOURCES): Likewise.
25552
25553 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25554 (grub_emu_SOURCES): Likewise.
f19dbdb7 25555
8f096014 25556 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
25557
25558 * fs/ntfs.c: New file.
25559
9959f7db 255602007-08-02 Bean <bean123ch@gmail.com>
25561
25562 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
25563
25564 * file.h (grub_file): Likewise.
25565
25566 * fshelp.h (grub_fshelp_read_file): Likewise.
25567
25568 * util/i386/pc/grub-setup.c (setup): Likewise.
25569 (save_first_sector): Likewise.
25570 (save_blocklists): Likewise.
f19dbdb7 25571
9959f7db 25572 * fs/affs.c (grub_affs_read_file): Likewise.
25573
25574 * fs/ext2.c (grub_ext2_read_file): Likewise.
25575
25576 * fs/fat.c (grub_fat_read_data): Likewise.
25577
25578 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
25579
25580 * fs/hfs.c (grub_hfs_read_file): Likewise.
25581
25582 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25583
25584 * fs/jfs.c (grub_jfs_read_file): Likewise.
25585
25586 * fs/minix.c (grub_minix_read_file): Likewise.
25587
25588 * fs/sfs.c (grub_sfs_read_file): Likewise.
25589
25590 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 25591
9959f7db 25592 * fs/xfs.c (grub_xfs_read_file): Likewise.
25593
25594 * command/blocklist.c (read_blocklist): Likewise.
25595 (print_blocklist): Likewise.
25596
0a203f83 255972007-08-02 Marco Gerards <marco@gnu.org>
25598
25599 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
25600 `util/hostfs.c'.
25601
25602 * disk/host.c: New file.
25603
25604 * util/hostfs.c: Likewise.
25605
25606 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
25607 return `GRUB_ERR_BAD_FS'.
25608 * fs/sfs.c (grub_sfs_mount): Likewise.
25609 * fs/xfs.c (grub_xfs_mount): Likewise.
25610
25611 * include/grub/disk.h (enum grub_disk_dev_id): Add
25612 `GRUB_DISK_DEVICE_HOST_ID'.
25613
25614 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
25615
e5dfe777 256162007-07-24 Jerone Young <jerone@gmail.com>
25617
f19dbdb7 25618 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 25619 modules for compilation.
25620 * conf/powerpc-ieee1275.rmk: Likewise.
25621
25622 * include/multiboot.h: Move multiboot definitions to one file. Rename
25623 many definitions to not get grub specific.
25624 * include/multiboot2.h: Create header with multiboot 2 definitions.
25625 * include/grub/multiboot.h: Header for grub specific function
25626 prototypes and definitions.
25627 * include/grub/multiboot2.h: Likewise.
25628 * include/grub/multiboot_loader.h: Likewise.
25629 * include/grub/i386/pc/multiboot.h: Removed.
25630 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
25631
25632 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
25633 and 2 to allow for one multiboot and module commands.
25634 * loader/multiboot2.c: Add multiboot2 functionality.
25635 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
25636 and definition names.
25637 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
25638 2 functions.
25639 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
25640 ieee1275 specific multiboot2 code.
25641
25642 * kern/i386/pc/startup.S: Change headers and definition names for
25643 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
25644
daf0f0ba 256452007-07-22 Robert Millan <rmh@aybabtu.com>
25646
25647 * geninitheader.sh: Process file specified in first parameter rather
25648 than hardcoding grub_modules_init.lst.
fe6b695a 25649 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 25650 than hardcoding grub_modules_init.h.
25651
25652 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
25653 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
25654 grub_probe_init.[ch] and grub_setup_init.[ch].
25655
25656 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
25657 grub_modules_init.h with grub_emu_init.h.
25658 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
25659 grub_probe_init.[ch] files.
25660 * conf/i386-efi.rmk: Likewise.
25661 * conf/i386-pc.rmk: Likewise.
25662 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
25663 grub_setup_init.[ch] files.
25664
25665 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
25666 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
25667 to initialize modules rather than a list of hardcoded functions.
25668 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
25669 grub_init_all() to initialize modules rather than a list of hardcoded
25670 functions.
25671
54cdc1cc 256722007-07-22 Robert Millan <rmh@aybabtu.com>
25673
25674 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25675 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
25676
ad0686cc 256772007-07-22 Robert Millan <rmh@aybabtu.com>
25678
25679 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25680 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
25681 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
25682 flag when running on SmartFirmware.
25683 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
25684 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
25685 was set.
25686
25687 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25688 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
25689 rather than decreasing it.
25690
25691 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
25692 there's not enough space to do it, fail in the same way as when it
25693 can't be done because there are no partitions.
25694
25695 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
25696 when nvsetenv failed.
25697
969c02ec 256982007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25699
25700 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
25701 because this rule is automatically generated.
25702 (grub-mkrescue): Removed for the same reason as above.
25703
5a79f472 257042007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25705
25706 Migrate to GNU General Public License Version 3.
f19dbdb7 25707
5a79f472 25708 * COPYING: Replaced with the plain text version of GPLv3.
25709
25710 * config.guess: Updated from gnulib.
25711 * config.sub: Likewise.
25712
25713 * geninit.sh: Output a GPLv3 copyright notice.
25714 * geninitheader.sh: Likewise.
25715 * genmodsrc.sh: Likewise.
25716 * gensymlist.sh.in: Likewise.
25717
25718 * boot/i386/pc/boot.S: Upgraded to GPLv3.
25719 * boot/i386/pc/diskboot.S: Likewise.
25720 * boot/i386/pc/pxeboot.S: Likewise.
25721 * commands/blocklist.c: Likewise.
25722 * commands/boot.c: Likewise.
25723 * commands/cat.c: Likewise.
25724 * commands/cmp.c: Likewise.
25725 * commands/configfile.c: Likewise.
25726 * commands/echo.c: Likewise.
25727 * commands/help.c: Likewise.
25728 * commands/ls.c: Likewise.
25729 * commands/search.c: Likewise.
25730 * commands/terminal.c: Likewise.
25731 * commands/test.c: Likewise.
25732 * commands/videotest.c: Likewise.
25733 * commands/i386/cpuid.c: Likewise.
25734 * commands/i386/pc/halt.c: Likewise.
25735 * commands/i386/pc/play.c: Likewise.
25736 * commands/i386/pc/reboot.c: Likewise.
25737 * commands/i386/pc/vbeinfo.c: Likewise.
25738 * commands/i386/pc/vbetest.c: Likewise.
25739 * commands/ieee1275/halt.c: Likewise.
25740 * commands/ieee1275/reboot.c: Likewise.
25741 * commands/ieee1275/suspend.c: Likewise.
25742 * disk/loopback.c: Likewise.
25743 * disk/lvm.c: Likewise.
25744 * disk/raid.c: Likewise.
25745 * disk/efi/efidisk.c: Likewise.
25746 * disk/i386/pc/biosdisk.c: Likewise.
25747 * disk/ieee1275/ofdisk.c: Likewise.
25748 * font/manager.c: Likewise.
25749 * fs/affs.c: Likewise.
25750 * fs/ext2.c: Likewise.
25751 * fs/fat.c: Likewise.
25752 * fs/fshelp.c: Likewise.
25753 * fs/hfs.c: Likewise.
25754 * fs/hfsplus.c: Likewise.
25755 * fs/iso9660.c: Likewise.
25756 * fs/jfs.c: Likewise.
25757 * fs/minix.c: Likewise.
25758 * fs/sfs.c: Likewise.
25759 * fs/ufs.c: Likewise.
25760 * fs/xfs.c: Likewise.
25761 * hello/hello.c: Likewise.
25762 * include/grub/acorn_filecore.h: Likewise.
25763 * include/grub/arg.h: Likewise.
25764 * include/grub/bitmap.h: Likewise.
25765 * include/grub/boot.h: Likewise.
25766 * include/grub/cache.h: Likewise.
25767 * include/grub/device.h: Likewise.
25768 * include/grub/disk.h: Likewise.
25769 * include/grub/dl.h: Likewise.
25770 * include/grub/elfload.h: Likewise.
25771 * include/grub/env.h: Likewise.
25772 * include/grub/err.h: Likewise.
25773 * include/grub/file.h: Likewise.
25774 * include/grub/font.h: Likewise.
25775 * include/grub/fs.h: Likewise.
25776 * include/grub/fshelp.h: Likewise.
25777 * include/grub/gzio.h: Likewise.
25778 * include/grub/hfs.h: Likewise.
25779 * include/grub/kernel.h: Likewise.
25780 * include/grub/loader.h: Likewise.
25781 * include/grub/lvm.h: Likewise.
25782 * include/grub/misc.h: Likewise.
25783 * include/grub/mm.h: Likewise.
25784 * include/grub/net.h: Likewise.
25785 * include/grub/normal.h: Likewise.
25786 * include/grub/parser.h: Likewise.
25787 * include/grub/partition.h: Likewise.
25788 * include/grub/pc_partition.h: Likewise.
25789 * include/grub/raid.h: Likewise.
25790 * include/grub/rescue.h: Likewise.
25791 * include/grub/script.h: Likewise.
25792 * include/grub/setjmp.h: Likewise.
25793 * include/grub/symbol.h: Likewise.
25794 * include/grub/term.h: Likewise.
25795 * include/grub/terminfo.h: Likewise.
25796 * include/grub/tparm.h: Likewise.
25797 * include/grub/types.h: Likewise.
25798 * include/grub/video.h: Likewise.
25799 * include/grub/efi/api.h: Likewise.
25800 * include/grub/efi/chainloader.h: Likewise.
25801 * include/grub/efi/console.h: Likewise.
25802 * include/grub/efi/console_control.h: Likewise.
25803 * include/grub/efi/disk.h: Likewise.
25804 * include/grub/efi/efi.h: Likewise.
25805 * include/grub/efi/pe32.h: Likewise.
25806 * include/grub/efi/time.h: Likewise.
25807 * include/grub/i386/linux.h: Likewise.
25808 * include/grub/i386/setjmp.h: Likewise.
25809 * include/grub/i386/types.h: Likewise.
25810 * include/grub/i386/efi/kernel.h: Likewise.
25811 * include/grub/i386/efi/loader.h: Likewise.
25812 * include/grub/i386/efi/time.h: Likewise.
25813 * include/grub/i386/pc/biosdisk.h: Likewise.
25814 * include/grub/i386/pc/boot.h: Likewise.
25815 * include/grub/i386/pc/chainloader.h: Likewise.
25816 * include/grub/i386/pc/console.h: Likewise.
25817 * include/grub/i386/pc/init.h: Likewise.
25818 * include/grub/i386/pc/kernel.h: Likewise.
25819 * include/grub/i386/pc/loader.h: Likewise.
25820 * include/grub/i386/pc/memory.h: Likewise.
25821 * include/grub/i386/pc/multiboot.h: Likewise.
25822 * include/grub/i386/pc/serial.h: Likewise.
25823 * include/grub/i386/pc/time.h: Likewise.
25824 * include/grub/i386/pc/vbe.h: Likewise.
25825 * include/grub/i386/pc/vbeblit.h: Likewise.
25826 * include/grub/i386/pc/vbefill.h: Likewise.
25827 * include/grub/i386/pc/vbeutil.h: Likewise.
25828 * include/grub/i386/pc/vga.h: Likewise.
25829 * include/grub/ieee1275/ieee1275.h: Likewise.
25830 * include/grub/ieee1275/ofdisk.h: Likewise.
25831 * include/grub/powerpc/libgcc.h: Likewise.
25832 * include/grub/powerpc/setjmp.h: Likewise.
25833 * include/grub/powerpc/types.h: Likewise.
25834 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
25835 * include/grub/powerpc/ieee1275/console.h: Likewise.
25836 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
25837 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25838 * include/grub/powerpc/ieee1275/loader.h: Likewise.
25839 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
25840 * include/grub/powerpc/ieee1275/time.h: Likewise.
25841 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
25842 * include/grub/sparc64/libgcc.h: Likewise.
25843 * include/grub/sparc64/setjmp.h: Likewise.
25844 * include/grub/sparc64/types.h: Likewise.
25845 * include/grub/sparc64/ieee1275/console.h: Likewise.
25846 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25847 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25848 * include/grub/sparc64/ieee1275/time.h: Likewise.
25849 * include/grub/util/biosdisk.h: Likewise.
25850 * include/grub/util/getroot.h: Likewise.
25851 * include/grub/util/lvm.h: Likewise.
25852 * include/grub/util/misc.h: Likewise.
25853 * include/grub/util/raid.h: Likewise.
25854 * include/grub/util/resolve.h: Likewise.
25855 * io/gzio.c: Likewise.
25856 * kern/device.c: Likewise.
25857 * kern/disk.c: Likewise.
25858 * kern/dl.c: Likewise.
25859 * kern/elf.c: Likewise.
25860 * kern/env.c: Likewise.
25861 * kern/err.c: Likewise.
25862 * kern/file.c: Likewise.
25863 * kern/fs.c: Likewise.
25864 * kern/loader.c: Likewise.
25865 * kern/main.c: Likewise.
25866 * kern/misc.c: Likewise.
25867 * kern/mm.c: Likewise.
25868 * kern/parser.c: Likewise.
25869 * kern/partition.c: Likewise.
25870 * kern/rescue.c: Likewise.
25871 * kern/term.c: Likewise.
25872 * kern/efi/efi.c: Likewise.
25873 * kern/efi/init.c: Likewise.
25874 * kern/efi/mm.c: Likewise.
25875 * kern/i386/dl.c: Likewise.
25876 * kern/i386/efi/init.c: Likewise.
25877 * kern/i386/efi/startup.S: Likewise.
25878 * kern/i386/pc/init.c: Likewise.
25879 * kern/i386/pc/lzo1x.S: Likewise.
25880 * kern/i386/pc/startup.S: Likewise.
25881 * kern/ieee1275/ieee1275.c: Likewise.
25882 * kern/powerpc/cache.S: Likewise.
25883 * kern/powerpc/dl.c: Likewise.
25884 * kern/powerpc/ieee1275/cmain.c: Likewise.
25885 * kern/powerpc/ieee1275/crt0.S: Likewise.
25886 * kern/powerpc/ieee1275/init.c: Likewise.
25887 * kern/powerpc/ieee1275/openfw.c: Likewise.
25888 * kern/sparc64/cache.S: Likewise.
25889 * kern/sparc64/dl.c: Likewise.
25890 * kern/sparc64/ieee1275/init.c: Likewise.
25891 * kern/sparc64/ieee1275/openfw.c: Likewise.
25892 * loader/efi/chainloader.c: Likewise.
25893 * loader/efi/chainloader_normal.c: Likewise.
25894 * loader/i386/efi/linux.c: Likewise.
25895 * loader/i386/efi/linux_normal.c: Likewise.
25896 * loader/i386/pc/chainloader.c: Likewise.
25897 * loader/i386/pc/chainloader_normal.c: Likewise.
25898 * loader/i386/pc/linux.c: Likewise.
25899 * loader/i386/pc/linux_normal.c: Likewise.
25900 * loader/i386/pc/multiboot.c: Likewise.
25901 * loader/i386/pc/multiboot_normal.c: Likewise.
25902 * loader/powerpc/ieee1275/linux.c: Likewise.
25903 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25904 * normal/arg.c: Likewise.
25905 * normal/cmdline.c: Likewise.
25906 * normal/command.c: Likewise.
25907 * normal/completion.c: Likewise.
25908 * normal/execute.c: Likewise.
25909 * normal/function.c: Likewise.
25910 * normal/lexer.c: Likewise.
25911 * normal/main.c: Likewise.
25912 * normal/menu.c: Likewise.
25913 * normal/menu_entry.c: Likewise.
25914 * normal/misc.c: Likewise.
25915 * normal/parser.y: Likewise.
25916 * normal/script.c: Likewise.
25917 * normal/i386/setjmp.S: Likewise.
25918 * normal/powerpc/setjmp.S: Likewise.
25919 * normal/sparc64/setjmp.S: Likewise.
25920 * partmap/acorn.c: Likewise.
25921 * partmap/amiga.c: Likewise.
25922 * partmap/apple.c: Likewise.
25923 * partmap/gpt.c: Likewise.
25924 * partmap/pc.c: Likewise.
25925 * partmap/sun.c: Likewise.
25926 * term/gfxterm.c: Likewise.
25927 * term/terminfo.c: Likewise.
25928 * term/efi/console.c: Likewise.
25929 * term/i386/pc/console.c: Likewise.
25930 * term/i386/pc/serial.c: Likewise.
25931 * term/i386/pc/vesafb.c: Likewise.
25932 * term/i386/pc/vga.c: Likewise.
25933 * term/ieee1275/ofconsole.c: Likewise.
25934 * util/biosdisk.c: Likewise.
25935 * util/console.c: Likewise.
25936 * util/genmoddep.c: Likewise.
25937 * util/getroot.c: Likewise.
25938 * util/grub-emu.c: Likewise.
25939 * util/grub-mkdevicemap.c: Likewise.
25940 * util/grub-probe.c: Likewise.
25941 * util/lvm.c: Likewise.
25942 * util/misc.c: Likewise.
25943 * util/raid.c: Likewise.
25944 * util/resolve.c: Likewise.
25945 * util/update-grub.in: Likewise.
25946 * util/update-grub_lib.in: Likewise.
25947 * util/grub.d/00_header.in: Likewise.
25948 * util/grub.d/10_hurd.in: Likewise.
25949 * util/grub.d/10_linux.in: Likewise.
25950 * util/i386/efi/grub-install.in: Likewise.
25951 * util/i386/efi/grub-mkimage.c: Likewise.
25952 * util/i386/pc/grub-install.in: Likewise.
25953 * util/i386/pc/grub-mkimage.c: Likewise.
25954 * util/i386/pc/grub-mkrescue.in: Likewise.
25955 * util/i386/pc/grub-setup.c: Likewise.
25956 * util/i386/pc/misc.c: Likewise.
25957 * util/powerpc/ieee1275/grub-install.in: Likewise.
25958 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
25959 * util/powerpc/ieee1275/misc.c: Likewise.
25960 * video/bitmap.c: Likewise.
25961 * video/video.c: Likewise.
25962 * video/i386/pc/vbe.c: Likewise.
25963 * video/i386/pc/vbeblit.c: Likewise.
25964 * video/i386/pc/vbefill.c: Likewise.
25965 * video/i386/pc/vbeutil.c: Likewise.
25966 * video/readers/tga.c: Likewise.
25967
3572d015 259682007-07-02 Robert Millan <rmh@aybabtu.com>
25969
25970 * conf/i386-efi.rmk: Replace obsolete reference to
25971 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
25972 with util/getroot.c.
25973 * conf/powerpc-ieee1275.rmk: Likewise.
25974 * conf/sparc64-ieee1275.rmk: Likewise.
25975
25976 * util/grub-emu.c (main): Fix unchecked pointer handling.
25977
2c2a681b 259782007-07-02 Robert Millan <rmh@aybabtu.com>
25979
25980 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
25981 invocation to fail, in order to support partition-less media.
25982
25983 * util/i386/pc/grub-install.in: Likewise.
25984
25985 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
25986 which fs or partmap modules are needed (akin to its sister scripts).
25987
25988 Also use grub-probe to get rid of unportable /proc/mounts check.
25989
25990 Print the same informational message that the other scripts do, before
fe6b695a 25991 exiting.
2c2a681b 25992
6193defe 259932007-06-23 Robert Millan <rmh@aybabtu.com>
25994
fe6b695a 25995 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 25996 a font file can be found and, if so, echo the GRUB path to it.
25997
25998 * util/update-grub.in: Handle multiple terminals depending on user
25999 input, platform availability and font file presence. Propagate
26000 variables of our findings to /etc/grub.d/ children.
26001
26002 * util/grub.d/00_header.in: Handle multiple terminals, based on
26003 environment setup by update-grub.
26004
eface1dc 260052007-06-23 Robert Millan <rmh@aybabtu.com>
26006
ba50d28f 26007 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 26008
bf697e28 260092007-06-21 Robert Millan <rmh@aybabtu.com>
26010
26011 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
26012 indicate end of data section in kernel image.
26013 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
26014 GRUB_KERNEL_MACHINE_DATA_END.
26015
26016 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
26017 space for it.
26018 * kern/i386/efi/startup.S: Likewise.
26019
26020 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
26021 during image generation. Implement --prefix option to override this
26022 patch.
26023 * util/i386/efi/grub-mkimage.c: Likewise.
26024
26025 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
26026 code to make path relative to its root into a separate function.
26027
26028 * util/i386/pc/grub-install.in: Use newly provided
26029 make_system_path_relative_to_its_root() to convert ${grubdir}, then
26030 pass the result to grub-install --prefix.
26031
baa574b4 260322007-06-13 Robert Millan <rmh@aybabtu.com>
26033
26034 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
26035 DEFAULT_DEVICE_MAP.
26036 * util/grub-emu.c: Use above definitions from misc.h instead of
26037 defining them.
26038 * util/grub-mkdevicemap.c: Likewise.
26039 * util/i386/pc/grub-setup.c: Likewise.
26040 * util/grub-probe.c: Likewise.
26041 (probe): Abort with grub_util_error() when either
26042 grub_guess_root_device or grub_util_get_grub_dev fails.
26043
0215dcbf 260442007-06-12 Robert Millan <rmh@aybabtu.com>
26045
26046 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
26047 "pager" assignment.
26048 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
26049 "pcdata".
26050 * util/grub-probe.c (probe): Likewise for "drive_name".
26051
8af2ab7b 260522007-06-11 Robert Millan <rmh@aybabtu.com>
26053
26054 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
26055 not just the cdrom one.
26056
59d31694 260572007-06-11 Robert Millan <rmh@aybabtu.com>
26058
26059 * util/i386/pc/grub-mkrescue.in: Add "set -e".
26060 Add --pkglibdir=DIR option to override pkglibdir.
26061 Mention --image-type=TYPE in help output.
26062 Fix --grub-mkimage (it was a no-op).
fe6b695a 26063 Abort gracefully when no parameter is given.
59d31694 26064
7ee367e4 260652007-06-11 Robert Millan <rmh@aybabtu.com>
26066
26067 * util/i386/pc/grub-mkrescue.in: New file.
26068 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
26069 * Makefile.in: Handle bin_SCRIPTS.
26070
29b0ed46 260712007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
26072
26073 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
26074 list of video modes.
26075
c0f90770 260762007-06-06 Robert Millan <rmh@aybabtu.com>
26077
26078 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
26079 file doesn't exist, or if it is in a filesystem grub can't read.
26080
26081 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
26082 not abort if GRUB_DRIVE could not be defined. Rearrange generated
26083 header comment to fit in 80 columns when the variables are resolved.
26084
26085 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
26086 could be identified by update-grub. Remove redundant check for
fe6b695a 26087 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 26088 handles that).
26089
fb36dc26 260902007-06-04 Robert Millan <rmh@aybabtu.com>
26091
26092 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
26093
26094 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
26095
26096 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
26097
0c68c93e 260982007-06-04 Robert Millan <rmh@aybabtu.com>
26099
26100 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
26101
26102 * include/grub/partition.h: Declare grub_apple_partition_map_init and
26103 grub_apple_partition_map_fini.
26104
26105 * util/biosdisk.c
26106 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
26107 to access >2 TiB disks).
26108
26109 Print disk->total_sectors with %llu instead of %lu, since this
26110 variable is always 64-bit (prevents wrong disk size from being displayed
26111 on either >2 TiB disk or big-endian CPU).
26112
26113 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
26114 into a generic case that supports all (sane) partition maps.
26115
26116 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
26117 breaks big-endian.
26118
26119 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
26120 and grub_apple_partition_map_fini() after that.
26121
0f23eb74 261222007-06-01 Robert Millan <rmh@aybabtu.com>
26123
26124 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
26125
26126 * util/grub.d/00_header.in: Only enable gfxterm when
26127 convert_system_path_to_grub_path() succeeds.
26128
42c71976 261292007-05-20 Robert Millan <rmh@aybabtu.com>
26130
26131 * util/update-grub_lib.in: New file.
26132 * DISTLIST: Add update-grub_lib.in.
26133 * conf/common.rmk: Generate update-grub_lib and install it in
26134 $(lib_DATA).
26135 * Makefile.in: Add install routine for $(lib_DATA).
26136
26137 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
26138 function provided by update-grub_lib to support arbitrary paths of
26139 unifont.pff.
26140 * util/update-grub.in: Use convert_system_path_to_grub_path() to
26141 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
26142
5beb2291 261432007-05-19 Robert Millan <rmh@aybabtu.com>
26144
26145 * commands/i386/cpuid.c: New module.
26146 * DISTLIST: Add it.
26147 * conf/i386-efi.rmk: Enable cpuid.mod.
26148 * conf/i386-pc.rmk: Likewise.
26149
7262eca1 261502007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26151
26152 * kern/disk.c (grub_disk_read): Check return value of
26153 grub_realloc().
26154
260ba823 261552007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26156
26157 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
26158 arrays.
26159 * disk/raid.c (grub_raid_open): Likewise.
26160
1ecb6cf2 261612007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26162
26163 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
26164 stack instead of on the heap.
26165
26166 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
26167 before doing a read on it.
26168
26169 * configure.ac: Only use -fno-stack-protector for the target
26170 environment.
f19dbdb7 26171
21c8cbb1 261722007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26173
26174 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
26175 __attribute_ ((unused)) to mode_type argument.
26176
26177 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 26178
21c8cbb1 26179 * kern/misc.c (memcmp): Fix prototype.
26180
26181 * include/grub/partition.h [GRUB_UTIL]
26182 (grub_gpt_partition_map_init): Add prototype.
26183 (grub_gpt_partition_map_fini): Likewise.
26184
26185 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
26186 at the right place.
26187
26188 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
26189 (grub_fat_read_data): Likewise.
26190 (grub_fat_find_dir): Likewise.
26191
26192 * font/manager.c (find_glyph): Make table a const.
26193 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 26194
849d55d3 261952007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
26196
26197 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
26198 code, first search for device in /dev/mapper, then in /dev.
26199 (grub_util_get_grub_dev): New function.
26200 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
26201 prototype.
26202 * util/grub-probe.c (probe): Remove check for RAID, call
26203 grub_util_get_grub_dev() instead of
26204 grub_util_biosdisk_get_grub_dev().
26205 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
26206 grub_util_biosdisk_get_grub_dev().
26207 * util/i386/pc/grub-setup.c (main): Likewise.
26208
8fff7c2f 262092007-05-16 Robert Millan <rmh@aybabtu.com>
26210
26211 * DISTLIST: Update for the latest changes.
26212 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
26213 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
26214 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
26215 grub/util/biosdisk.h.
26216 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
26217 grub/util/biosdisk.h.
26218
48e12b52 262192007-05-16 Robert Millan <rmh@aybabtu.com>
26220
26221 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
26222
46b9d128 262232007-05-16 Robert Millan <rmh@aybabtu.com>
26224
26225 * util/i386/efi/grub-install.in: New.
26226 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
26227 newly added grub-install.
26228 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
26229 include.
26230 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
26231 grub/util/biosdisk.h.
26232 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
26233 grub/util/biosdisk.h.
26234
2d1a40a9 262352007-05-16 Robert Millan <rmh@aybabtu.com>
26236
26237 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
26238 * include/grub/util/biosdisk.h: ... here.
26239 * util/i386/pc/biosdisk.c: Moved to ...
26240 * util/biosdisk.c: ... here.
26241 * util/i386/pc/getroot.c: Moved to ...
26242 * util/getroot.c: ... here.
26243 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
26244 * util/grub-mkdevicemap.c: ... here.
26245 * util/i386/pc/grub-probe.c: Moved to ...
26246 * util/grub-probe.c: ... here.
26247
9e26e3bc 262482007-05-15 Robert Millan <rmh@aybabtu.com>
26249
26250 * util/update-grub.in: Remove duplicated line in grub.cfg header
26251 message.
26252
57f96397 262532007-05-13 Robert Millan <rmh@aybabtu.com>
26254
26255 * util/update-grub.in: Fix a few assumptions about the devices holding
26256 /, /boot and /boot/grub being the same.
26257 * util/grub.d/00_header.in: Likewise.
26258 * util/grub.d/10_hurd.in: Likewise.
26259 * util/grub.d/10_linux.in: Likewise.
26260
26261 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
26262 patterns. Use that to define the `.old' suffix as older than `'.
26263
26264 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
26265
26266 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
26267 the grub.cfg header message.
26268
2e610d62 262692007-05-11 Robert Millan <rmh@aybabtu.com>
26270
26271 * util/update-grub.in: Create device.map if it doesn't already exist,
26272 before attempting to run grub-probe.
26273 Check for grub-probe and grub-mkdevicemap with the same code
26274 grub-install is using.
26275 Remove test mode.
26276
3f6a10ef 262772007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
26278
26279 * Makefile.in: Add the datarootdir autoconf variable.
26280
02e7b75e 262812007-05-09 Robert Millan <rmh@aybabtu.com>
26282
26283 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 26284 fail gracefully if dev->disk->partition == NULL.
02e7b75e 26285
75f396cc 262862007-05-07 Robert Millan <rmh@aybabtu.com>
26287
26288 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
26289 determine partition map module.
26290 * util/i386/pc/grub-install.in: Use this feature to decide which
26291 partition module to load, instead of hardcoding pc and gpt.
26292
da65cb36 262932007-05-07 Robert Millan <rmh@aybabtu.com>
26294
26295 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
26296 source directory differs from build directory.
26297
b57d6a91 262982007-05-05 Robert Millan <rmh@aybabtu.com>
26299
26300 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
26301 initialisation.
26302
509d00f1 263032007-05-05 Robert Millan <rmh@aybabtu.com>
26304
26305 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
26306
c48f23ef 263072007-05-05 Robert Millan <rmh@aybabtu.com>
26308
26309 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
26310 command-line arguments via ${GRUB_CMDLINE_LINUX}.
26311
20b97658 263122007-05-05 Robert Millan <rmh@aybabtu.com>
26313
26314 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
26315 (grub_probe_SOURCES): Likewise.
26316 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
26317 GPT and initialize dos_part and bsd_part accordingly.
26318 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
26319 install_bsd_part.
26320 (main): Activate gpt module for use during partition identification,
26321 and deactivate it afterwards.
26322 * util/i386/pc/grub-install.in: Add gpt module to core.img.
26323 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
26324 partition identification, and deactivate it afterwards.
26325
99123174 263262007-05-05 Robert Millan <rmh@aybabtu.com>
26327
26328 * term/i386/pc/console.c (grub_console_fini): Call
26329 grub_term_set_current() before grub_term_unregister().
26330
ebd97f6e 263312007-05-04 Robert Millan <rmh@aybabtu.com>
26332
26333 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
26334 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
26335 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
26336 and update-grub_DATA.
26337 * conf/common.rmk: Build and install update-grub components.
26338 * conf/common.mk: Regenerate.
26339 * util/update-grub.in: New. Core of update-grub.
26340 * util/grub.d/00_header.in: New. Generates grub.cfg header.
26341 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
26342 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
26343 * util/grub.d/README: New. Document grub.d directory layout.
26344
b06a264d 263452007-05-01 Robert Millan <rmh@aybabtu.com>
26346
26347 * util/grub-emu.c: Move initialization functions
26348 grub_util_biosdisk_init() and grub_init_all() before
26349 grub_util_biosdisk_get_grub_dev(), which relies on them.
26350
41f0050e 263512007-04-19 Robert Millan <rmh@aybabtu.com>
26352
26353 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
26354 it is used later.
26355
04582bb3 263562007-04-18 Jerone Young <jerone@gmail.com>
26357
f19dbdb7 26358 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 26359 stanza.
26360
08db4632 263612007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 26362
08db4632 26363 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
26364 continue on and look for device node with real device name.
26365
801b76be 263662007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 26367
fe6b695a 26368 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 26369 ability.
26370 * Makefile.in: Add autoconf package transformation code.
26371 * util/i386/pc/grub-install.in: Likewise.
26372 * util/powerpc/ieee1275/grub-install.in: Likewise.
26373
6795c4e1 263742007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26375
26376 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
26377 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
26378 (EXT2_REVISION): Likewise.
26379 (EXT2_INODE_SIZE): Likewise.
26380 (struct grub_ext2_block_group): Added a missing member
26381 "used_dirs".
26382 (grub_ext2_read_inode): Divide by the inode size in a superblock
26383 instead of 128 to obtain INODES_PER_BLOCK.
26384 Use the macro EXT2_INODE_SIZE instead of directly using
26385 SBLOCK->INODE_SIZE.
26386
d70af616 263872007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26388
26389 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
26390 superblock instead of the structure size to compute an
26391 offset. This fixes the problem that GRUB could not read a
26392 filesystem when inode size is different from 128-byte.
26393
3b801603 263942007-03-05 Marco Gerards <marco@gnu.org>
26395
26396 * normal/main.c (read_config_file): When "menu" is not set, create
26397 an initial context.
26398
4785bfe4 263992007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26400
26401 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
26402 (HEAP_LIMIT): New macro.
26403 (grub_claim_heap): Claim memory up to `heaplimit'.
26404
a0cbb023 264052007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26406
26407 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
26408 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
26409 (_start): Likewise.
26410 (grub_arch_modules_addr): Return address after `_end'.
26411 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
26412 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
26413 (add_segments): Calculate `_end' from phdr size and location.
26414 (ALIGN_UP): Moved to ...
26415 * include/grub/misc.h: here.
26416 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26417 New macro.
26418 (GRUB_IEEE1275_MODULE_BASE): Removed.
26419
fd7d8eba 264202007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26421
26422 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
26423 loop boundary.
26424
9b09e6fc 264252007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26426
26427 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
26428 All users updated.
26429 (grub_elf64_load_hook_t): Likewise.
26430 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
26431 debug output.
26432
3ce27299 264332007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26434
26435 * kern/mm.c: Update copyright.
26436 (grub_mm_debug): Correct syntax error.
26437 (grub_mm_dump_free): New function.
26438 (grub_debug_free): Call `grub_free'.
26439 * include/grub/mm.h: Update copyright.
26440 (grub_mm_dump_free): Add declaration.
26441
077d5fee 264422007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26443
26444 * include/grub/ieee1275/ieee1275.h: Update copyright.
26445 * kern/powerpc/ieee1275/init.c: Likewise.
26446 * kern/powerpc/ieee1275/openfw.c: Likewise.
26447
26448 * loader/powerpc/ieee1275/linux.c: Likewise.
26449 * include/grub/elfload.h: Likewise.
26450 * kern/elf.c: Likewise.
26451 (grub_elf32_load): Pass `base' and `size' parameters. Update all
26452 callers.
26453 (grub_elf64_load): Likewise.
26454 (grub_elf32_load_segment): Move to a nested function.
26455 (grub_elf64_load_segment): Likewise.
26456
dc946850 264572007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26458
26459 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
26460 prototype.
26461 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
26462 (grub_heap_len): Likewise.
26463 (HEAP_SIZE): New macro.
26464 (grub_claim_heap): New function.
26465 (grub_machine_init): Don't claim heap directly. Call
26466 `grub_claim_heap'.
26467 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
26468 (grub_available_iterate): New function.
26469
baa2a121 264702007-02-03 Thomas Schwinge <tschwinge@gnu.org>
26471
26472 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
26473 * configure.ac: Use it for testing the HOST and TARGET compilers.
26474
4fe9862e 264752006-12-13 Thomas Schwinge <tschwinge@gnu.org>
26476
26477 * Makefile.in (enable_grub_emu): New variable.
26478 * configure.ac (--enable-grub-emu): New option.
26479 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
26480 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
26481 * conf/i386-pc.rmk: Likewise.
26482 * conf/powerpc-ieee1275.rmk: Likewise.
26483 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
26484
a8aa5762 264852006-12-12 Marco Gerards <marco@gnu.org>
26486
26487 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
26488
26489 * kern/env.c (grub_env_unset): Don't free the member `value' when
26490 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
26491 pointer.
26492
26493 * normal/main.c (current_menu): Removed.
26494 (free_menu): Unset the `menu' environment variable.
26495 (grub_normal_menu_addentry): Make use of the environment variable
26496 `menu', instead of using the global `current_menu'. Allocate
26497 memory for the sourcecode of this entry.
26498 (read_config_file): New argument `nested', changed all callers.
26499 Only in the case of a new context, initialize a new menu. Set the
26500 `menu' environment variable.
26501 (grub_normal_execute): Don't set and unset the environment
26502 variable `menu' here anymore. Only free the menu when leaving the
26503 context.
26504
26505 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
26506 leak.
26507
957b3a3e 265082006-12-11 Marco Gerards <marco@gnu.org>
26509
26510 * normal/menu_entry.c (run): Fix off by one bug so the last line
26511 is executed. Move the loader check to outside the loop.
26512
ef875714 265132006-12-08 Hollis Blanchard <hollis@penguinppc.org>
26514
26515 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
26516
4e739985 265172006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
26518
26519 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
26520 the number of sectors. Reported by Andrey Shuvikov
26521 <mr_hyro@yahoo.com>.
f19dbdb7 26522
790707f2 265232006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
26524
26525 * kern/disk.c (grub_disk_read): When there is a read error, always
26526 try to read only the necessary data.
f19dbdb7 26527
790707f2 26528 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
26529 disk/raid.c.
26530 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
26531 prototype.
26532 [GRUB_UTIL] (grub_raid_fini): Likewise.
26533 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 26534 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 26535 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
26536 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
26537 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
26538 and grub_raid_fini().
f19dbdb7 26539
03e58196 265402006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26541
26542 * include/grub/types.h (__unused): Rename to UNUSED.
26543 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
26544 (grub_elf64_size): Likewise.
f19dbdb7 26545
ae4f23bf 265462006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26547
26548 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
26549 grub_error_push and grub_error_pop in the error-handling path.
26550 (grub_elf32_load_segment): Only call grub_file_read with non-zero
26551 length.
26552
2166cc83 265532006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26554
26555 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
26556 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26558 (kernel_elf_SOURCES): Likewise.
26559 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
26560 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
26561 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26562 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26563 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
26564 (elf_mod_SOURCES): New variable.
26565 (elf_mod_CFLAGS): Likewise.
26566 (elf_mod_LDFLAGS): Likewise.
26567 * include/grub/types.h (__unused): New macro.
26568 * include/grub/elfload.h: New file.
26569 * kern/elf.c: Likewise.
26570 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
26571 (ELF32_LOADMASK): New macro.
26572 (ELF64_LOADMASK): Likewise.
26573 (vmlinux): Removed.
26574 (grub_linux_load32): New function.
26575 (grub_linux_load64): Likewise.
26576 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
26577 Use grub_elf_t instead of grub_file_t.
26578
a09d5aa5 265792006-11-02 Hollis Blanchard <hollis@penguinppc.org>
26580
26581 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
26582 `catch_result' to struct set_color_args.
26583
d976fc51 265842006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26585
26586 * normal/menu.c: Include grub/script.h.
26587 * normal/menu_entry.c: Likewise.
26588 * include/grub/normal.h: Do not include grub/script.h.
26589
67507549 265902006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26591
26592 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
26593
69203a99 265942006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26595
26596 * kern/disk.c (grub_disk_open): Print debug messages when opening a
26597 disk.
26598 (grub_disk_close): Print debug messages when closing a disk.
26599 (grub_disk_read): Print debug messages when disk read fails.
26600 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
26601 filesystem type.
26602 * kern/partition.c: Include misc.h.
26603 (grub_partition_iterate): Print debug messages when detecting
26604 partition type.
26605
e2b8278c 266062006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26607
26608 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
26609 is negative.
26610 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
26611
97b2f2ff 266122006-10-26 Hollis Blanchard <hollis@penguinppc.org>
26613
26614 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26615 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
26616
6555d655 266172006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
26618
26619 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
26620 instead of sizeof(lv). Patch by Michael Guntsche.
26621
4d42b77f 266222006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
26623
26624 * disk/lvm.c: Rename VGS to VG_LIST.
26625 (grub_lvm_iterate): Change VGS->LV to VG-LV.
26626 (grub_lvm_open): Likewise.
26627 Thanks to Michael Guntsche for finding this bug.
26628
5d74d927 266292006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26630
26631 * configure.ac (AC_INIT): Bumped to 1.95.
26632
a1bb27e4 266332006-10-14 Robert Millan <rmh@aybabtu.com>
26634
26635 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
26636 with "/dev/.static/dev/md".
26637
e0994b8b 266382006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26639
26640 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
26641 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
26642 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
26643 DRIVE_NAME are always freed.
26644
26645 * util/i386/pc/biosdisk.c (make_device_name): Add one into
26646 DOS_PART, as a DOS partition is counted from one instead of zero
26647 now. Reported by Robert Millan.
26648
ddd5cee9 266492006-10-14 Robert Millan <rmh@aybabtu.com>
26650
26651 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
26652 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
26653 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
26654 string returned by grub_guess_root_device.
26655 * util/i386/pc/grub-setup.c: Likewise.
26656 * util/i386/pc/grub-probefs.c: Likewise.
26657
26658 * util/i386/pc/grub-probefs.c: Rename to ...
26659 * util/i386/pc/grub-probe.c: ... this.
26660 * DISTLIST: Remove grub-probefs, add grub-probe.
26661 * conf/i386-efi.rmk: Likewise.
26662 * conf/i386-pc.rmk: Likewise.
26663 * util/i386/pc/grub-install.in: Likewise.
26664
26665 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
26666 choose which information we want to print.
26667
2b002173 266682006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26669
26670 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
26671 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
26672 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
26673 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
26674 video/readers/tga.c and video/i386/pc/vbeutil.c.
26675
266762006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
26677
26678 Added support for RAID and LVM.
f19dbdb7 26679
2b002173 26680 * disk/lvm.c: New file.
26681 * disk/raid.c: Likewise.
26682 * include/grub/lvm.h: Likewise.
f19dbdb7 26683 * include/grub/raid.h: Likewise.
2b002173 26684 * include/grub/util/lvm.h: Likewise.
26685 * include/grub/util/raid.h: Likewise.
26686 * util/lvm.c: Likewise.
26687 * util/raid.c: Likewise.
26688
26689 * include/grub/disk.h (grub_disk_dev_id): Add
26690 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
26691 (grub_disk_get_size): New prototype.
26692 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
26693 returns a partition.
26694 (grub_disk_get_size): New function.
f19dbdb7 26695
2b002173 26696 * kern/i386/pc/init.c (make_install_device): Copy the prefix
26697 verbatim if grub_install_dos_part is -2.
26698
26699 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
26700 and LVM devices.
26701
26702 * util/i386/pc/grub-setup.c (setup): New argument
26703 MUST_EMBED. Force embedding of GRUB when the argument is
26704 true. Close FILE before returning.
26705 (main): Add support for RAID and LVM.
f19dbdb7 26706
2b002173 26707 * conf/common.rmk: Add RAID and LVM modules.
26708 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
26709 util/lvm.c.
26710 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
26711
26712 * kern/misc.c (grub_strstr): New function.
26713 * include/grub/misc.h (grub_strstr): New prototype.
26714
050548d0 267152006-10-10 Tristan Gingold <tristan.gingold@bull.net>
26716
26717 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
26718
da849d2d 267192006-10-05 Tristan Gingold <tristan.gingold@bull.net>
26720
26721 * kern/misc.c (grub_strtoull): Guess the base only if not
26722 specified.
26723
97b2f2ff 267242006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 26725
26726 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
26727 PowerMac support.
26728
97b2f2ff 267292006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 26730
26731 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
26732
26733 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
26734 Remove `flags' argument. All callers changed.
26735 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
26736 (IEEE1275_IHANDLE_INVALID): New variable.
26737 (IEEE1275_CELL_INVALID): New variable.
26738 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26739 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
26740 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
26741 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
26742 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
26743 codes from Open Firmware. All callers updated.
26744 (grub_ieee1275_next_property): Directly return Open Firmware return
26745 code.
26746 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26747 Standardize error checking from `grub_ieee1275_get_property'.
26748 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
26749 `devalias' to `aliases'. Correct comments. Consolidate error paths.
26750
97b2f2ff 267512006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 26752
26753 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
26754 `instance_to_package_args' to `instance_to_path_args'.
26755
26756 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
26757 `grub_ieee1275_chosen'.
26758
26759 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
26760 `grub_ieee1275_interpret'.
26761
97b2f2ff 267622006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 26763
26764 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
26765
97b2f2ff 267662006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 26767
26768 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
26769 (__cmpdi): Likewise.
26770
26771 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
26772 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
26773 `grub_ssize_t'.
26774
02bb8acc 26775 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 26776
26777 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
26778 to type `grub_ssize_t'.
26779 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
26780
7f9a8531 267812006-09-22 Marco Gerards <marco@gnu.org>
26782
26783 * normal/script.c (grub_script_create_cmdmenu): Skip leading
26784 newlines.
26785
b5ef1102 267862006-09-22 Marco Gerards <marco@gnu.org>
26787
26788 * commands/echo.c: New file.
26789
26790 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
26791
26792 * conf/common.rmk (echo_mod_SOURCES): New variable.
26793 (echo_mod_CFLAGS): Likewise.
26794 (echo_mod_LDFLAGS): Likewise.
26795
2cff3677 267962006-09-22 Marco Gerards <marco@gnu.org>
26797
26798 * normal/main.c (get_line): Malloc memory instead of using
26799 preallocated memory. Removed the arguments `cmdline' and
26800 `max_len'. Updated all callers.
26801
6ba4688b 268022006-09-22 Marco Gerards <marco@gnu.org>
26803
26804 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
26805 (normal_mod_DEPENDENCIES): Likewise.
26806
26807 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
26808 (normal_mod_DEPENDENCIES): Likewise.
26809
26810 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
26811
e02ac02c 268122006-09-22 Johan Rydberg <jrydberg@gnu.org>
26813
26814 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
26815 programs.
26816 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
26817 (normal_mod_DEPENDENCIES): Likewise.
26818 * conf/i386-pc.mk: Regenerate.
26819 * conf/i386-efi.mk: Likewise
26820 * conf/common.mk: Likewise.
26821 * conf/powerpc-ieee1275.mk: Likewise.
26822 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26823
8d252e44 268242006-09-22 Robert Millan <rmh@aybabtu.com>
26825
26826 Sync with i386 version.
26827 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
26828 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
26829
209bf7ac 268302006-09-21 Robert Millan <rmh@aybabtu.com>
26831
26832 Import from GRUB Legacy (lib/device.c):
26833 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
26834 (init_device_map) [__linux__]: Add support for I2O devices.
26835
6b146090 268362006-09-14 Marco Gerards <marco@gnu.org>
26837
26838 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
26839 `-melf_i386'.
26840
e38600a8 268412006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 26842
26843 * util/i386/pc/grub-install.in: Skip menu.lst when removing
26844 /boot/grub/*.lst.
78fa1790 26845
2952da5d 26846 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 26847
2952da5d 26848 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
26849 before adding it to device.map.
26850
01b82a64 268512006-08-15 Johan Rydberg <jrydberg@gnu.org>
26852
fe6b695a 26853 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 26854 compiles a file; using the -MD option.
26855 * conf/common.mk: Regenerate.
26856 * conf/i386-pc.mk: Likewise.
26857 * conf/i386-efi.mk: Likewise.
26858 * conf/powerpc-ieee1275.mk: Likewise.
26859 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26860
1064790d 268612006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
26862
26863 Move the prototypes of grub_setjmp and grub_longjmp to
26864 cpu/setjmp.h, so that each architecture may specify different
26865 attributes.
f19dbdb7 26866
1064790d 26867 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
26868 (grub_longjmp): Likewise.
26869 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
26870 (grub_longjmp): Likewise.
26871 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
26872 (grub_longjmp): Likewise.
26873
26874 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
26875 [!GRUB_UTIL] (grub_longjmp): Removed.
26876
29dda3ed 268772006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
26878
26879 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
26880 "color!" method does not return any value.
26881
ad2a06ed 268822006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26883
26884 * include/grub/bitmap.h: New file.
26885
26886 * include/grub/i386/pc/vbeutil.h: Likewise.
26887
26888 * video/bitmap.c: Likewise.
26889
26890 * video/readers/tga.c: Likewise.
26891
26892 * video/i386/pc/vbeutil.c: Likewise.
26893
26894 * commands/videotest.c: Code cleanup and updated to reflect to new
26895 video API.
26896
26897 * term/gfxterm.c: Likewise.
26898
26899 * video/video.c: Likewise.
26900
26901 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
26902 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
26903 (bitmap_mod_SOURCES): New entry.
26904 (bitmap_mod_CFLAGS): Likewise.
26905 (bitmap_mod_LDFLAGS): Likewise.
26906 (tga_mod_SOURCES): Likewise.
26907 (tga_mod_CFLAGS): Likewise.
26908 (tga_mod_LDFLAGS): Likewise.
26909
26910 * include/grub/video.h (grub_video_blit_operators): New enum type.
26911 (grub_video_render_target): Changed as forward declaration and moved
26912 actual definition to be video driver specific.
26913 (grub_video_adapter.blit_bitmap): Added blitting operator.
26914 (grub_video_adapter.blit_render_target): Likewise.
26915 (grub_video_blit_bitmap): Likewise.
26916 (grub_video_blit_render_target): Likewise.
26917
26918 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
26919 driver specific render target definition.
26920 (grub_video_vbe_map_rgba): Added driver internal helper.
26921 (grub_video_vbe_unmap_color): Updated to use
26922 grub_video_i386_vbeblit_info.
26923 (grub_video_vbe_get_video_ptr): Likewise.
26924
26925 * include/grub/i386/pc/vbeblit.h
26926 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
26927 grub_video_i386_vbeblit_info.
26928 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26929 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26930 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26931 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26932 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26933 (grub_video_i386_vbeblit_index_index): Likewise.
26934 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
26935 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26936 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26937 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
26938 operator.
26939 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
26940 operator.
26941
26942 * video/i386/pc/vbeblit.c: Updated to reflect changes on
26943 include/grub/i386/pc/vbeblit.h.
26944
26945 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
26946 Updated to use grub_video_i386_vbeblit_info.
26947 (grub_video_i386_vbefill_R8G8B8): Likewise.
26948 (grub_video_i386_vbefill_index): Likewise.
26949 (grub_video_i386_vbefill): Added generic filler.
26950
26951 * video/i386/pc/vbefill.c: Updated to reflect changes on
26952 include/grub/i386/pc/vbefill.h.
26953
26954 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
26955 grub_video_i386_vbeblit_info.
26956 (grub_video_vbe_unmap_color): Likewise.
26957 (grub_video_vbe_blit_glyph): Likewise.
26958 (grub_video_vbe_scroll): Likewise.
26959 (grub_video_vbe_draw_pixel): Removed function.
26960 (grub_video_vbe_get_pixel): Likewise.
26961 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
26962 updated code to use it.
26963 (common_blitter): Added common blitter for render target and bitmap.
26964 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
26965 (grub_video_vbe_blit_render_target): Likewise.
26966
bc8c036d 269672006-07-30 Johan Rydberg <jrydberg@gnu.org>
26968
26969 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
26970 is in text mode if there is no console control protocol instance
26971 available.
26972
684a8eff 269732006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26974
26975 * include/grub/video.h: Code cleanup.
26976
26977 * include/grub/i386/pc/vbe.h: Likewise.
26978
26979 * video/i386/pc/vbe.c: Likewise.
26980
26981 * video/i386/pc/vbeblit.c: Likewise.
26982
26983 * video/i386/pc/vbefill.c: Likewise.
26984
26985 * video/video.c: Likewise. Also added more comments.
26986
5915059b 269872006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26988
26989 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
26990 (struct grub_biosdisk_dap): Likewise.
26991
26992 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
26993 linkage settings for all functions.
26994
90ce5d56 269952006-07-12 Marco Gerards <marco@gnu.org>
26996
26997 * configure.ac (--enable-mm-debug): Fix typo.
26998
26999 * genkernsyms.sh.in: Use proper quoting for `CC'.
27000
43e7f879 270012006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
27002
27003 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
27004 (normal_mod_ASFLAGS): Remove "-m32".
27005
4889bdec 270062006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
27007
27008 * util/misc.c: Include config.h.
27009 [!HAVE_MEMALIGN]: Do not include malloc.h.
27010 (grub_memalign): Use posix_memalign, if present. Then, use
27011 memalign, if present. Otherwise, emit an error.
27012
27013 * util/grub-emu.c: Do not include malloc.h.
27014
27015 * include/grub/util/misc.h: Include unistd.h. This is required for
27016 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
27017 D. Eades III <hde@foobar-qux.org>.
27018
27019 * configure.ac (AC_GNU_SOURCE): Added.
27020 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
27021 type.
27022
fd39d4da 270232006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
27024
27025 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
27026 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
27027
b786f3b5 270282006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
27029
27030 * include/grub/types.h (grub_host_addr_t): Rename to
27031 grub_target_addr_t.
27032 (grub_host_off_t): Rename to grub_target_off_t.
27033 (grub_host_size_t): Rename to grub_target_size_t.
27034 (grub_host_ssize_t): Rename to grub_target_ssize_t.
27035 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
27036
27037 * include/grub/kernel.h (struct grub_module_header): Change type
27038 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
27039 (grub_module_info): Likewise.
f19dbdb7 27040
051988bb 270412006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27042
27043 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
27044 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
27045 Velazquez <jesus.velazquez@gmail.com>.
27046
deae281b 270472006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27048
27049 Count partitions from 1 instead of 0 in the string representation
27050 of partitions. Still use 0-based internally.
f19dbdb7 27051
deae281b 27052 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
27053 (sun_partition_map_iterate): Use grub_partition_t instead of
27054 struct grub_partition *. Cast DESC->START_CYLINDER to
27055 grub_uint64_t after converting the endian.
27056 (sun_partition_map_probe): Subtract 1 for PARTNUM.
27057 (sun_partition_map_get_name): Add 1 to P->INDEX.
27058
27059 * partmap/pc.c (grub_partition_parse): Subtract 1 for
27060 PCDATA->DOS_PART.
27061 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
27062
27063 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
27064 zero instead of one.
27065 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
27066 (gpt_partition_map_get_name): Add 1 into P->INDEX.
27067
27068 * partmap/apple.c (apple_partition_map_iterate): Change the type
27069 of POS to unsigned.
27070 (apple_partition_map_probe): Subtract 1 for PARTNUM.
27071 (apple_partition_map_get_name): Add 1 into P->INDEX.
27072
27073 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
27074 of POS to unsigned.
27075 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
27076 calculate the offset of a partition.
27077 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
27078 (amiga_partition_map_get_name): Add 1 into P->INDEX.
27079
27080 * partmap/acorn.c (acorn_partition_map_find): Change the type of
27081 SECTOR to grub_disk_addr_t.
27082 (acorn_partition_map_iterate): Likewise.
27083 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
27084 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
27085 top.
27086 (acorn_partition_map_get_name): Add 1 into P->INDEX.
27087
27088 * kern/i386/pc/init.c (make_install_device): Add 1 into
27089 GRUB_INSTALL_DOS_PART.
27090
27091 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
27092 conditional.
27093
524a1e6a 270942006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27095
27096 Clean up the code to support 64-bit addressing in disks and
27097 files. This change is not enough for filesystems yet.
f19dbdb7 27098
524a1e6a 27099 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
27100 type of "start" to grub_uint64_t.
27101 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
27102 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
27103 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
27104 convert addresses.
27105
27106 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
27107 to grub_disk_addr_t.
27108
27109 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
27110 string.
27111
27112 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27113
27114 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
27115 to char *.
27116
27117 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
27118
27119 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
27120
27121 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
27122
27123 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
27124 to grub_off_t, to detect an error from grub_file_seek.
27125 (grub_multiboot_load_elf32): Likewise.
27126
27127 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
27128 maximum unsigned long value when an overflow is detected.
27129 (grub_strtoull): New function.
27130 (grub_divmod64): Likewise.
27131 (grub_lltoa): use grub_divmod64.
27132
27133 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
27134 grub_disk_addr_t.
27135 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
27136 the pointer to next character. Use grub_strtoull instead of
27137 grub_strtoul.
27138 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
27139 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
27140 respectively.
27141
fe6b695a 27142 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 27143 return value is signed.
27144 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
27145 test if OFFSET is less than zero, as OFFSET is unsigned now.
27146
27147 * kern/disk.c (struct grub_disk_cache): Change the type of
27148 "sector" to grub_disk_addr_t.
27149 (grub_disk_cache_get_index): Change the type of SECTOR to
27150 grub_disk_addr_t. Calculate the hash with SECTOR casted to
27151 unsigned after shifting.
27152 (grub_disk_cache_invalidate): Change the type of SECTOR to
27153 grub_disk_addr_t.
27154 (grub_disk_cache_unlock): Likewise.
27155 (grub_disk_cache_store): Likewise.
27156 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
27157 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
27158 grub_disk_addr_t and grub_uint64_t, respectively.
27159 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
27160 body, as the value of OFFSET is tweaked by
27161 grub_disk_check_range. Change the types of START_SECTOR, LEN and
27162 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
27163 respectively.
27164 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
27165 body, as the value of OFFSET is tweaked by
27166 grub_disk_check_range. Change the types of LEN and N to
27167 grub_size_t.
27168
27169 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
27170 and "saved_offset" to grub_off_t.
27171 (test_header): Cast BUF to char *.
27172 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
27173 to char *.
27174 (grub_gzio_read): Change the types of OFFSET and SIZE to
27175 grub_off_t and grub_size_t, respectively.
27176
27177 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
27178 Removed.
27179 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
27180 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
27181 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
27182 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
27183 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
27184
27185 * include/grub/types.h (grub_off_t): Unconditionally set to
27186 grub_uint64_t.
27187 (grub_disk_addr_t): Changed to grub_uint64_t.
27188
27189 * include/grub/partition.h (struct grub_partition): Change the
27190 types of "start", "len" and "offset" to grub_disk_addr_t,
27191 grub_uint64_t and grub_disk_addr_t, respectively.
27192 (grub_partition_get_start): Return grub_disk_addr_t.
27193 (grub_partition_get_len): Return grub_uint64_t.
27194
27195 * include/grub/misc.h (grub_strtoull): New prototype.
27196 (grub_divmod64): Likewise.
27197
27198 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
27199 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
27200 grub_off_t, respectively.
27201 All callers and references changed.
27202
27203 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
27204 grub_size_t in "read".
27205 All callers and references changed.
27206
27207 * include/grub/file.h (struct grub_file): Change the types of
27208 "offset" and "size" to grub_off_t and grub_off_t,
27209 respectively. Change the type of SECTOR to grub_disk_addr_t in
27210 "read_hook".
27211 (grub_file_read): Change the type of LEN to grub_size_t.
27212 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
27213 grub_off_t.
27214 (grub_file_size): Return grub_off_t.
27215 (grub_file_tell): Likewise.
27216 All callers and references changed.
27217
27218 * include/grub/disk.h (struct grub_disk_dev): Change the types of
27219 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
27220 "write".
27221 (struct grub_disk): Change the type of "total_sectors" to
27222 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 27223 "read_hook".
524a1e6a 27224 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
27225 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
27226 (grub_disk_write): Likewise.
27227 All callers and references changed.
27228
27229 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
27230 char * for grub_strncmp to silence gcc.
27231 (grub_iso9660_mount): Likewise.
27232 (grub_iso9660_mount): Likewise.
27233 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
27234 return statement.
27235 (grub_iso9660_iterate_dir): Likewise.
27236 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
27237
27238 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
27239 LEN to grub_disk_addr_t and grub_size_t, respectively.
27240
27241 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27242
27243 * fs/jfs.c (grub_jfs_read_file): Likewise.
27244
27245 * fs/minix.c (grub_jfs_read_file): Likewise.
27246
27247 * fs/sfs.c (grub_jfs_read_file): Likewise.
27248
27249 * fs/ufs.c (grub_jfs_read_file): Likewise.
27250
27251 * fs/xfs.c (grub_jfs_read_file): Likewise.
27252
27253 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
27254 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
27255 respectively.
27256
27257 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
27258 BLKNR to -1 instead of returning GRUB_ERRNO.
27259 (grub_ext2_read_file): Change the types of SECTOR and
27260 LEN to grub_disk_addr_t and grub_size_t, respectively.
27261
27262 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
27263 LEN to grub_disk_addr_t and grub_size_t, respectively.
27264
27265 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
27266 grub_file_read.
27267
27268 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
27269 string. Do not cast SECTOR explicitly.
27270
27271 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
27272 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
27273 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
27274 grub_disk_addr_t and grub_size_t, respectively. If the sector is
27275 over 2TB and LBA mode is not supported, raise an error.
27276 (get_safe_sectors): New function.
27277 (grub_biosdisk_read): Use get_safe_sectors.
27278 (grub_biosdisk_write): Likewise.
27279
27280 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
27281 (grub_efidisk_write): Likewise.
27282
27283 * disk/loopback.c (delete_loopback): Cosmetic changes.
27284 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
27285 correctly.
27286 (grub_loopback_open): Likewise.
27287 (grub_loopback_read): Likewise. Also, change the type of POS to
27288 grub_off_t, and fix the usage of grub_memset.
27289
27290 * commands/i386/pc/play.c: Include grub/machine/time.h.
27291
27292 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
27293 print FILE->SIZE.
27294
27295 * commands/configfile.c: Include grub/env.h.
27296
27297 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
27298 GRUB_ERRNO directly instead. Change the type of POS to
27299 grub_off_t. Follow the coding standard.
27300
27301 * commands/blocklist.c: Include grub/partition.h.
27302 (grub_cmd_blocklist): Return an error if the underlying device is
27303 not a disk. Take the starting sector of a partition into account,
27304 if a partition is used.
27305
27306 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
27307 a length field.
27308 (lba_mode): Support 64-bit addresses.
27309 (chs_mode): Likewise.
27310 (copy_buffer): Adapted to the new offsets of a length field and a
27311 segment field.
27312 (blocklist_default_start): Allocate 64-bit space.
27313
27314 * boot/i386/pc/boot.S (force_lba): Removed.
27315 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 27316 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 27317 space.
27318 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
27319 is useless.
27320 (lba_mode): Refactored to support a 64-bit address. More size
27321 optimization.
27322 (setup_sectors): Likewise.
27323
53af98ad 273242006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27325
27326 * DISTLIST: Added include/grub/i386/linux.h. Removed
27327 include/grub/i386/pc/linux.h
27328
27329 * configure.ac (AC_INIT): Bumped to 1.94.
27330
27331 * config.guess: Updated from gnulib.
27332 * config.sub: Likewise.
27333 * install-sh: Likewise.
27334 * mkinstalldirs: Likewise.
27335
b4c1940a 273362006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27337
27338 * conf/common.rmk (grub_modules_init.lst): Depended on
27339 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
27340 MODSRCFILES.
27341
27342 * genmk.rb (PModule::rule): Reverted the previous change.
27343
cfca1cfd 273442006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27345
27346 * conf/common.rmk (grub_modules_init.lst): Depends on
27347 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
27348 that the target does not exist before producing.
27349 (grub_modules_init.h): Remove the target before generating.
27350 (grub_emu_init.c): Likewise.
27351
27352 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
27353
aa6d7826 273542006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
27355
27356 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
27357 for the target-specific tests. Make sure that we also have the
27358 up-to-date target variables for those tests.
27359
26c607b9 273602006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27361
27362 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
27363 (PModule::rule): Likewise.
27364
0162321a 273652006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27366
27367 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
27368 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
27369 target-specific flags should be prefixed.
27370 (PModule::rule): Likewise.
27371
6c826348 273722006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
27373
27374 * configure.ac (CMP): Check if cmp is available explicitly.
27375
b977bf01 273762006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
27377
27378 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
27379 (target_cpu): New variable.
27380 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 27381
b977bf01 27382 * util/i386/pc/grub-install.in (host_cpu): Removed.
27383 (target_cpu): New variable.
27384 (pkglibdir): Use target_cpu instead of host_cpu.
27385
27386 * util/genmoddep.c: Removed.
f19dbdb7 27387
b977bf01 27388 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
27389 instead of GRUB_HOST_SIZEOF_VOID_P.
27390 * kern/dl.c: Likewise.
27391
27392 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
27393 ...
27394 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27395 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27396 (GRUB_TARGET_SIZEOF_LONG): ... this.
27397 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27398 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27399 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27400 to ...
27401 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27402 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27403 (GRUB_TARGET_SIZEOF_LONG): ... this.
27404 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27405 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27406 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27407 to ...
27408 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27409 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27410 (GRUB_TARGET_SIZEOF_LONG): ... this.
27411 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27412 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27413
27414 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
27415 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
27416 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
27417 instead of GRUB_HOST_SIZEOF_LONG.
27418 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
27419 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
27420 GRUB_CPU_WORDS_BIGENDIAN.
27421 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
27422 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
27423 grub_host_ssize_t.
27424
27425 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
27426 (genmoddep_SOURCES): Likewise.
27427 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
27428 (genmoddep_SOURCES): Likewise.
27429 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
27430 (genmoddep_SOURCES): Likewise.
27431 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
27432 Likewise.
27433 (genmoddep_SOURCES): Likewise.
27434
27435 * genmoddep.awk: New file.
27436
27437 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
27438 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
27439 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
27440 (PModule::rule): Likewise.
27441 (Program::rule): Likewise.
27442 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
27443 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
27444 respectively.
27445
27446 * configure.ac: Rewritten intensively to use host and target
27447 instead of build and host, respectively.
27448
27449 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
27450 (host_cpu): Removed.
27451 (target_cpu): New variable.
27452 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
27453 (BUILD_CC): Removed.
27454 (BUILD_CFLAGS): Likewise.
27455 (BUILD_CPPFLAGS): Likewise.
27456 (TARGET_CC): New variable.
27457 (TARGET_CFLAGS): Likewise.
27458 (TARGET_CPPFLAGS): Likewise.
27459 (TARGET_LDFLAGS): Likewise.
27460 (AWK): Likewise.
27461 (include): Use target_cpu instead of host_cpu.
27462 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 27463
b977bf01 27464 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
27465
f09771a1 274662006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
27467
27468 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
27469 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
27470 field 'false' to 'exec_on_false'.
27471 (grub_script_create_cmdif): Renamed argument names to reflect above
27472 changes.
27473
27474 * normal/execute.c (grub_script_execute_cmdif): Likewise.
27475
27476 * normal/script.c (grub_script_create_cmdif): Likewise.
27477
118f4fb3 274782006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
27479
27480 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
27481 top.
27482 (grub_hfsplus_btree_recptr): Likewise.
27483 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
27484 FILEBLOCK both to pass a block number and store next block
27485 number.
27486 (grub_hfsplus_read_block): Rewritten heavily to support an extent
27487 overflow file correctly. Specify errors appropriately, because
27488 fshelp expects that GRUB_ERRNO is set when fails. Reuse
27489 grub_hfsplus_btree_recptr to get the pointer to a found key.
27490 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
27491 is found.
27492
27493 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
27494 linux.mod.
27495 (_linux_mod_SOURCES): New variable.
27496 (_linux_mod_CFLAGS): Likewise.
27497 (_linux_mod_LDFLAGS): Likewise.
27498 (linux_mod_SOURCES): Likewise.
27499 (linux_mod_CFLAGS): Likewise.
27500 (linux_mod_LDFLAGS): Likewise.
27501
27502 * DISTLIST: Added loader/i386/efi/linux.c,
27503 loader/i386/efi/linux_normal.c and
27504 include/grub/i386/efi/loader.h.
27505
27506 * loader/i386/efi/linux.c: New file.
27507 * loader/i386/efi/linux_normal.c: Likewise.
27508 * include/grub/i386/efi/loader.h: Likewise.
27509
89a7d726 275102006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
27511
27512 * commands/blocklist.c: New file.
27513
27514 * DISTLIST: Added commands/blocklist.c.
27515
27516 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 27517 color for the background, and a darker color for the foreground.
89a7d726 27518 (grub_console_checkkey): Return READ_KEY.
27519 (grub_console_cls): Set the background to
27520 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
27521
27522 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
27523
27524 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
27525 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
27526
27527 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
27528 prototype.
27529
27530 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
27531 BG. The spec is wrong again.
27532
27533 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
27534 prototype.
27535 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
27536
27537 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27538 commands/blocklist.c.
27539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 27540
89a7d726 27541 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
27542 (blocklist_mod_SOURCES): New variable.
27543 (blocklist_mod_CFLAGS): Likewise.
27544 (blocklist_mod_LDFLAGS): Likewise.
27545
75c8f258 275462006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
27547
27548 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
27549 duplication.
27550 (lba_mode): Use %eax more intensively to reduce the code size.
27551
da2eb181 275522006-05-20 Marco Gerards <marco@gnu.org>
27553
27554 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
27555
27556 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
27557 for `menuentry'.
27558 (script): Accept leading newlines.
27559 (newlines): New rule to describe 0 or more newlines.
27560 (commands): Accept `command' with trailing newline. Fixed the
27561 order in which arguments were passed to `grub_script_add_cmd'.
27562 Accept commands separated by newlines.
27563 (function): Changed to accept newlines.
27564 (menuentry) Rewritten.
27565
27566 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
27567 front of the list, instead of to the end.
27568
577b4050 275692006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
27570
27571 * util/i386/pc/grub-install.in (bindir): New variable.
27572 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
27573 Shaver <lbgwjl@gmail.com>.
27574
0d6e1189 275752006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
27576
27577 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
27578 grub/machine/linux.h
27579 * loader/i386/pc/linux.c: Likewise.
27580
27581 * include/grub/i386/pc/linux.h: Moved to ...
27582 * include/grub/i386/linux.h: ... here.
27583
27584 * include/grub/i386/linux.h (struct linux_kernel_params): New
27585 struct.
f19dbdb7 27586
31b86e9f 275872006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
27588
27589 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
27590 checking.
27591 (grub_video_vbe_blit_glyph): Likewise.
27592 (grub_video_vbe_blit_bitmap): Likewise.
27593 (grub_video_vbe_blit_render_target): Likewise.
27594
83b984de 275952006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
27596
27597 * configure.ac (--with-platform): Properly quote the square
27598 brackets.
27599
5f0413bd 276002006-05-08 Marco Gerards <marco@gnu.org>
27601
27602 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
27603 this...
27604 (kernel_elf_HEADERS): ...to this. Updated all users.
27605 (grubof_symlist.c): Renamed from this...
27606 (kernel_elf_symlist.c): ...to this. Updated all users.
27607 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27608 (grubof_SOURCES): Renamed from this...
27609 (kernel_elf_SOURCES): ...to this.
27610 (grubof_HEADERS): Renamed from this...
27611 (kernel_elf_HEADERS): ...to this.
27612 (grubof_CFLAGS): Renamed from this...
27613 (kernel_elf_CFLAGS): ...to this.
27614 (grubof_ASFLAGS): Renamed from this...
27615 (kernel_elf_ASFLAGS): ...to this.
27616 (grubof_LDFLAGS): Renamed from this...
27617 (kernel_elf_LDFLAGS): ...to this.
27618
27619 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
27620 this...
27621 (kernel_elf_HEADERS): ...to this. Updated all users.
27622 (grubof_symlist.c): Renamed from this...
27623 (kernel_elf_symlist.c): ...to this. Updated all users.
27624 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27625 (grubof_SOURCES): Renamed from this...
27626 (kernel_elf_SOURCES): ...to this.
27627 (grubof_HEADERS): Renamed from this...
27628 (kernel_elf_HEADERS): ...to this.
27629 (grubof_CFLAGS): Renamed from this...
27630 (kernel_elf_CFLAGS): ...to this.
27631 (grubof_ASFLAGS): Renamed from this...
27632 (kernel_elf_ASFLAGS): ...to this.
27633 (grubof_LDFLAGS): Renamed from this...
27634 (kernel_elf_LDFLAGS): ...to this.
27635
27636 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
27637 `kernel.elf' instead of `grubof'.
27638
05568c2e 276392006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
27640
27641 Add --with-platform to configure. Use pkglibdir instead of
27642 pkgdatadir. This is reported by Roger Leigh.
27643
27644 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
27645 (host_vendor): Likewise.
27646 (host_os): Likewise.
27647 (pkgdatadir): Likewise.
27648 (platform): New variable.
27649 (pkglibdir): Likewise.
27650 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 27651
05568c2e 27652 * util/i386/pc/grub-install.in (datadir): Removed.
27653 (host_vendor): Likewise.
27654 (host_os): Likewise.
27655 (pkgdatadir): Likewise.
27656 (platform): New variable.
27657 (pkglibdir): Likewise.
27658 Use PKGLIBDIR instead of PKGDATADIR.
27659
27660 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
27661 instead of GRUB_DATADIR.
27662 (main): Likewise.
27663 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27664 (main): Likewise.
27665 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27666 (main): Likewise.
27667
27668 * configure.ac (--with-platform): New option.
27669 Use PLATFORM instead of HOST_VENDOR to specify a platform.
27670
27671 * Makefile.in: Include a makefile based on PLATFORM instead of
27672 HOST_VENDOR.
27673 (pkgdatadir): Not appended by the machine type.
27674 (pkglibdir): Appended by the machine type.
27675 (host_vendor): Removed.
27676 (platform): New variable.
27677 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
27678 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
27679 (uninstall): Likewise.
27680
4e93851c 276812006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
27682
27683 Use the environment context in the menu. Remove the commands
27684 "default" and "timeout", and use variables instead.
f19dbdb7 27685
4e93851c 27686 * normal/menu.c: Include grub/env.h.
27687 (print_entry): Cast TITLE to silence gcc.
27688 (get_timeout): New function.
27689 (set_timeout): Likewise.
27690 (get_entry_number): Likewise.
27691 (run_menu): Use a default entry, a fallback entry and a timeout
27692 in the environment variables "default", "fallback" and
27693 "timeout". Also, tweak the default entry if it is not within the
27694 current menu entries.
27695 (grub_menu_run): Use a fallback entry in the environment variable
27696 "fallback".
27697
27698 * normal/main.c (read_config_file): Do not initialize
27699 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
27700 NEWMENU->TIMEOUT.
27701 (grub_normal_execute): Use a data slot to store the menu.
27702
27703 * include/grub/normal.h (struct grub_menu): Removed default_entry,
27704 fallback_entry and timeout.
27705 (struct grub_menu_list): Removed.
27706 (grub_menu_list_t): Likewise.
27707 (struct grub_context): Likewise.
27708 (grub_context_t): Likewise.
27709 (grub_context_get): Likewise.
27710 (grub_context_get_current_menu): Likewise.
27711 (grub_context_push_menu): Likewise.
27712 (grub_context_pop_menu): Likewise.
27713 (grub_default_init): Likewise.
27714 (grub_default_fini): Likewise.
27715 (grub_timeout_init): Likewise.
27716 (grub_timeout_fini): Likewise.
27717
27718 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
27719 and timeout.mod.
27720 (normal_mod_SOURCES): Removed normal/context.c.
27721
27722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
27723 commands/default.c, commands/timeout.c and normal/context.c.
27724 (normal_mod_SOURCES): Removed normal/context.c.
27725
27726 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
27727 commands/timeout.c and normal/context.c.
27728 (normal_mod_SOURCES): Removed normal/context.c.
27729
27730 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
27731 commands/default.c, commands/timeout.c and normal/context.c.
27732 (normal_mod_SOURCES): Removed normal/context.c.
27733
27734 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
27735 timeout.mod.
27736 (default_mod_SOURCES): Removed.
27737 (default_mod_CFLAGS): Likewise.
27738 (default_mod_LDFLAGS): Likewise.
27739 (timeout_mod_SOURCES): Removed.
27740 (timeout_mod_CFLAGS): Likewise.
27741 (timeout_mod_LDFLAGS): Likewise.
27742
27743 * DISTLIST: Removed commands/default.c, commands/timeout.c and
27744 normal/context.c.
27745
27746 * commands/default.c: Removed.
27747 * commands/timeout.c: Likewise.
27748 * normal/context.c: Likewise.
27749
1eb9cc1d 277502006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
27751
27752 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
27753
385bd9c1 277542006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
27755
27756 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
27757 "next" to "prev" for readability.
27758 (struct grub_env_sorted_var): New struct.
27759 (grub_env_context): Renamed to ...
27760 (initial_context): ... this.
27761 (grub_env_var_context): Renamed to ...
27762 (current_context): ... this.
27763 (grub_env_find): Look only at CURRENT_CONTEXT.
27764 (grub_env_context_open): Rewritten to copy exported variables from
27765 previous context.
27766 (grub_env_context_close): Rewritten according to the new
27767 scheme. Also, add an assertion to prevent the initial context from
27768 removed.
27769 (grub_env_insert): Removed the code for the sorted list.
27770 (grub_env_remove): Likewise.
27771 (grub_env_export): Simply mark the variable with
27772 GRUB_ENV_VAR_GLOBAL.
27773 (grub_env_set): A cosmetic change for naming consistency.
27774 (grub_env_get): Likewise.
27775 (grub_env_unset): Likewise.
27776 (grub_env_iterate): Rewritten to sort variables within this
27777 function.
27778 (grub_register_variable_hook): Fixed for naming consistency. Call
27779 grub_env_find again, only if NAME is not found at the first time.
27780 (mangle_data_slot_name): New function.
27781 (grub_env_set_data_slot): Likewise.
27782 (grub_env_get_data_slot): Likewise.
27783 (grub_env_unset_data_slot): Likewise.
27784
27785 * include/grub/env.h (grub_env_var_type): New enum.
27786 (GRUB_ENV_VAR_LOCAL): New constant.
27787 (GRUB_ENV_VAR_GLOBAL): Likewise.
27788 (GRUB_ENV_VAR_DATA): Likewise.
27789 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
27790 "type".
27791 (grub_env_set): Replace VAR with NAME for consistency.
27792 (grub_register_variable_hook): Likewise.
27793 (grub_env_export): Specify the name of the argument.
27794 (grub_env_set_data_slot): New prototype.
27795 (grub_env_get_data_slot): Likewise.
27796 (grub_env_unset_data_slot): Likewise.
27797
7f362539 277982006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27799
27800 Extend the loader so that GRUB can accept a loader which comes
27801 back to GRUB when a loaded image exits. Also, this change adds
27802 support for a chainloader on EFI.
f19dbdb7 27803
7f362539 27804 * term/efi/console.c: Include grub/misc.h.
27805 (grub_console_checkkey): Display a scan code on the top for
27806 debugging. This will be removed once the EFI port gets stable.
27807 Correct the scan code mapping.
27808
27809 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
27810 allocate memory from larger regions, in order to reduce the number
27811 of allocated regions. Otherwise, the MacOSX loader panics.
27812 (filter_memory_map): Avoid less than 1MB for compatibility with
27813 other loaders.
27814 (add_memory_regions): Allocate from the tail of a region, if
27815 possible, to avoid allocating a region near to 1MB, for the MacOSX
27816 loader.
27817
27818 * kern/efi/init.c (grub_efi_set_prefix): Specify
27819 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
27820
27821 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
27822 argument IMAGE_HANDLE and specify it to get a loaded image.
27823 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
27824 grub_efi_get_loaded_image.
fe6b695a 27825 (grub_efi_get_filename): Divide the length by the size of
7f362539 27826 grub_efi_char16_t.
27827 (grub_efi_get_device_path): New function.
27828 (grub_efi_print_device_path): Print End Device Path nodes. Divide
27829 the length by the size of grub_efi_char16_t for a file path device
27830 path node.
27831
27832 * kern/loader.c (grub_loader_noreturn): New variable.
27833 (grub_loader_set): Accept a new argument NORETURN. Set
27834 GRUB_LOADER_NORETURN to NORETURN.
27835 All callers changed.
27836 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
27837 grub_machine_fini.
27838
27839 * include/grub/efi/efi.h (grub_efi_get_device_path): New
27840 prototype.
27841 (grub_efi_get_loaded_image): Take an argument to specify an image
27842 handle.
27843
27844 * include/grub/loader.h (grub_loader_set): Added one more argument
27845 NORETURN.
27846
27847 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
27848 instead of grub_efi_open_protocol.
27849 (grub_efidisk_get_device_name): Likewise.
27850 (grub_efidisk_close): Print a newline.
27851 (grub_efidisk_get_device_handle): Fixed to use
27852 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
27853 GRUB_EFI_DEVICE_PATH_TYPE.
27854
27855 * disk/efi/efidisk.c (device_path_guid): Moved to ...
27856 * kern/efi/efi.c (device_path_guid): ... here.
27857
27858 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
27859 chain.mod.
27860 (kernel_mod_HEADERS): Added efi/disk.h.
27861 (_chain_mod_SOURCES): New variable.
27862 (_chain_mod_CFLAGS): Likewise.
27863 (_chain_mod_LDFLAGS): Likewise.
27864 (chain_mod_SOURCES): Likewise.
27865 (chain_mod_CFLAGS): Likewise.
27866 (chain_mod_LDFLAGS): Likewise.
27867
27868 * DISTLIST: Added include/grub/efi/chainloader.h,
27869 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
27870
27871 * include/grub/efi/chainloader.h: New file.
27872 * loader/efi/chainloader.c: Likewise.
27873 * loader/efi/chainloader_normal.c: Likewise.
27874
c0111d6e 278752006-04-30 Marco Gerards <marco@gnu.org>
27876
27877 * commands/configfile.c (grub_cmd_source): New function.
27878 (GRUB_MOD_INIT): Register the commands `source' and `.'.
27879 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
27880
df5341da 278812006-04-30 Marco Gerards <marco@gnu.org>
27882
27883 * normal/execute.c (grub_script_execute_cmd): Change the return
27884 type to `grub_err_t'. Correctly return the error.
27885 (grub_script_execute_cmdline): In case a command line is not a
27886 command or a function, try to interpret it as an assignment.
27887
f85934bd 278882006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27889
27890 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
27891 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
27892 skip a node whose name is obviously invalid as UTF-16,
27893 i.e. contains a NUL character. Stop the iteration when the last
27894 directory entry is found. Instead of using the return value of
27895 grub_hfsplus_btree_iterate_node, store the value in RET and use
27896 it, because the iterator can be stopped by the last directory
27897 entry.
27898
8f8a2cf8 278992006-04-30 Marco Gerards <marco@gnu.org>
27900
27901 * include/grub/env.h (grub_env_export): New prototype. Reported
27902 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
27903
a27e84ce 279042006-04-30 Marco Gerards <marco@gnu.org>
27905
27906 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
27907 size of the extents in a catalog file record.
27908
eaef0553 279092006-04-29 Marco Gerards <marco@gnu.org>
27910
27911 * commands/configfile.c (grub_cmd_configfile): Execute the
27912 configfile within its own context.
27913
27914 * include/grub/env.h (grub_env_context_open): New prototype.
27915 (grub_env_context_close): Likewise.
27916
27917 * kern/env.c (grub_env): Removed.
27918 (grub_env_sorted): Likewise.
27919 (grub_env_context): New variable.
27920 (grub_env_var_context): Likewise.
27921 (grub_env_find): Search both the active context and the global
27922 context.
27923 (grub_env_context_open): New function.
27924 (grub_env_context_close): Likewise.
27925 (grub_env_insert): Likewise.
27926 (grub_env_remove): Likewise.
27927 (grub_env_export): Likewise.
27928 (grub_env_set): Changed to use helper functions to avoid code
27929 duplication.
27930 (grub_env_iterate): Rewritten so both the current context and the
27931 global context are being used.
27932
27933 * normal/command.c (export_command): New function.
27934 (grub_command_init): Register the `export' function.
27935
7b455f4d 279362006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
27937
27938 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
27939 explicitly to suppress gcc's warnings.
27940 * fs/fat.c (grub_fat_find_dir): Likewise.
27941 (grub_fat_label): Likewise.
27942 * fs/xfs.c (grub_xfs_read_inode): Likewise.
27943 (grub_xfs_mount): Likewise.
27944 (grub_xfs_label): Likewise.
27945 * fs/affs.c (grub_affs_mount): Likewise.
27946 (grub_affs_label): Likewise.
27947 (grub_affs_iterate_dir): Likewise.
27948 * fs/sfs.c (grub_sfs_mount): Likewise.
27949 (grub_sfs_iterate_dir): Likewise.
27950 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
27951 * fs/hfs.c (grub_hfs_mount): Likewise.
27952 (grub_hfs_cmp_catkeys): Likewise.
27953 (grub_hfs_find_dir): Likewise.
27954 (grub_hfs_dir): Likewise.
27955 (grub_hfs_label): Likewise.
27956 * fs/jfs.c (grub_jfs_mount): Likewise.
27957 (grub_jfs_opendir): Likewise.
27958 (grub_jfs_getent): Likewise.
27959 (grub_jfs_lookup_symlink): Likewise.
27960 (grub_jfs_label): Likewise.
27961 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
27962 (grub_hfsplus_iterate_dir): Likewise.
27963 (grub_hfsplus_btree_iterate_node): Made static.
27964
27965 * util/grub-emu.c (prefix): New variable.
27966 (grub_machine_set_prefix): New function.
27967 (main): Do not set the environment variable "prefix" here. Only
27968 set PREFIX, which is used later by grub_machine_set_prefix.
27969
27970 * include/grub/video.h: Do not include grub/symbol.h.
27971 (grub_video_register): Not exported. This symbol is not defined in
27972 the kernel.
27973 (grub_video_unregister): Likewise.
27974 (grub_video_iterate): Likewise.
27975 (grub_video_setup): Likewise.
27976 (grub_video_restore): Likewise.
27977 (grub_video_get_info): Likewise.
27978 (grub_video_get_blit_format): Likewise.
27979 (grub_video_set_palette): Likewise.
27980 (grub_video_get_palette): Likewise.
27981 (grub_video_set_viewport): Likewise.
27982 (grub_video_get_viewport): Likewise.
27983 (grub_video_map_color): Likewise.
27984 (grub_video_map_rgb): Likewise.
27985 (grub_video_map_rgba): Likewise.
27986 (grub_video_fill_rect): Likewise.
27987 (grub_video_blit_glyph): Likewise.
27988 (grub_video_blit_bitmap): Likewise.
27989 (grub_video_blit_render_target): Likewise.
27990 (grub_video_scroll): Likewise.
27991 (grub_video_swap_buffers): Likewise.
27992 (grub_video_create_render_target): Likewise.
27993 (grub_video_delete_render_target): Likewise.
27994 (grub_video_set_active_render_target): Likewise.
27995
27996 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
27997 Undefined.
27998 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
27999
28000 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
28001 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28002 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28003 instead of $(srcdir)/genkernsyms.sh.
28004
28005 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
28006 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28007 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28008 instead of $(srcdir)/genkernsyms.sh.
28009
28010 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
28011 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28012 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28013 instead of $(srcdir)/genkernsyms.sh.
28014
28015 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
28016 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28017 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28018 instead of $(srcdir)/genkernsyms.sh.
28019
28020 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
28021 genkernsyms.sh.
28022
28023 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
28024 genkernsyms.sh.
28025 (gensymlist.sh): New target.
28026 (genkernsyms.sh): Likewise.
28027
28028 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
28029 genkernsyms.sh.in and gensymlist.sh.in.
28030
28031 * genkernsyms.sh: Removed.
28032 * gensymlist.sh: Likewise.
f19dbdb7 28033
7b455f4d 28034 * genkernsyms.sh.in: New file.
28035 * gensymlist.sh.in: Likewise.
28036
1885bb27 280372006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28038
28039 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
28040 clobber "prefix", since we may have already set it manually.
28041
71538dff 280422006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28043
28044 * kern/misc.c (abort): New alias for grub_abort.
28045
2965c7cc 280462006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
28047
28048 A new machine-specific function "grub_machine_set_prefix" is
28049 defined. This is called after loading modules, so that a prefix
28050 initialization can use modules. Also, this change adds an
28051 intensive debugging feature for the memory manager via the
28052 configure option "--enable-mm-debug".
f19dbdb7 28053
2965c7cc 28054 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
28055 PART.LEN.
28056
28057 * kern/sparc64/ieee1275/init.c (abort): Removed.
28058 (grub_stop): Likewise.
28059 (grub_exit): New function.
28060 (grub_set_prefix): Renamed to ...
28061 (grub_machine_set_prefix): ... this.
28062 (grub_machine_init): Do not call grub_set_prefix.
28063
28064 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
28065 (grub_machine_set_prefix): ... this.
28066 (grub_machine_init): Do not call grub_set_prefix.
28067
28068 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
28069 (grub_machine_init): Do not set the prefix here.
28070
28071 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
28072
28073 * kern/efi/init.c: Include grub/mm.h.
28074 (grub_efi_set_prefix): New function.
28075
28076 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
28077 (grub_efi_get_filename): New function.
28078 (grub_print_device_path): Renamed to ...
28079 (grub_efi_print_device_path): ... this.
28080
28081 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
28082 [MM_DEBUG] (grub_realloc): Likewise.
28083 [MM_DEBUG] (grub_free): Likewise.
28084 [MM_DEBUG] (grub_memalign): Likewise.
28085 [MM_DEBUG] (grub_mm_debug): New variable.
28086 [MM_DEBUG] (grub_debug_malloc): New function.
28087 [MM_DEBUG] (grub_debug_free): New function.
28088 [MM_DEBUG] (grub_debug_realloc): New function.
28089 [MM_DEBUG] (grub_debug_memalign): New function.
28090
28091 * kern/misc.c (grub_abort): Print a newline to distinguish
28092 the message.
28093
28094 * kern/main.c (grub_main): Call grub_machine_set_prefix and
28095 grub_set_root_dev after loading modules. This is necessary when
28096 setting a prefix depends on modules.
28097
28098 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
28099 (grub_efi_print_device_path): ... this.
28100 (grub_efi_get_filename): New prototype.
28101 (grub_efi_set_prefix): Likewise.
28102
28103 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
28104 and grub/disk.h.
28105 (grub_efidisk_get_device_handle): New prototype.
28106 (grub_efidisk_get_device_name): Likewise.
28107
28108 * include/grub/mm.h: Include config.h.
28109 (MM_DEBUG): Removed.
28110 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
28111 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
28112 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
28113 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
28114 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
28115 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
28116 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
28117 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
28118 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
28119
28120 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
28121
28122 * disk/efi/efidisk.c: Include grub/partition.h.
28123 (iterate_child_devices): New function.
28124 (add_device): First, compare only last device path nodes, so that
28125 devices are sorted by the types.
28126 (grub_efidisk_get_device_handle): New function.
28127 (grub_efidisk_get_device_name): Likewise.
28128
28129 * configure.ac (--enable-mm-debug): New option to enable the
28130 memory manager debugging feature. This makes the binary much
28131 bigger, so is disabled by default.
28132
9cacaa17 281332006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
28134
28135 Use grub_abort instead of grub_stop, and grub_exit must be
28136 define in each architecture now. Also, this change adds support
28137 for EFI disks.
f19dbdb7 28138
9cacaa17 28139 * util/i386/pc/grub-probefs.c: Include grub/term.h.
28140 (grub_getkey): New function.
28141 (grub_term_get_current): Likewise.
28142
28143 * util/i386/pc/grub-setup.c: Include grub/term.h.
28144 (grub_getkey): New function.
28145 (grub_term_get_current): Likewise.
28146
28147 * util/misc.c (grub_stop): Renamed to ...
28148 (grub_exit): ... this.
28149
28150 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
28151 (grub_exit): ... this.
28152 (grub_machine_init): Use grub_abort instead of abort.
28153 (grub_stop): Removed.
28154
28155 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
28156 abort.
28157
28158 * kern/i386/pc/startup.S (grub_exit): New function.
28159 (cold_reboot): New label.
28160
28161 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
28162 (grub_efi_init): Call grub_efidisk_init.
28163 (grub_efi_fini): Call grub_efidisk_fini.
28164
28165 * kern/efi/efi.c: Include grub/mm.h.
28166 (grub_efi_console_control_guid): Renamed to ...
28167 (console_control_guid): ... this.
28168 (grub_efi_loaded_image_guid): Renamed to ...
28169 (loaded_image_guid): ... this.
28170 (grub_efi_locate_handle): New function.
28171 (grub_efi_open_protocol): Likewise.
28172 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
28173 GRUB_EFI_CONSOLE_CONTROL_GUID.
28174 (grub_efi_exit): Removed.
28175 (grub_stop): Likewise.
28176 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
28177 (grub_exit): New function.
28178 (grub_print_device_path): Likewise.
28179
28180 * kern/rescue.c (grub_rescue_cmd_exit): New function.
28181 (grub_enter_rescue_mode): Register "exit".
28182
28183 * kern/misc.c (grub_real_dprintf): A cosmetic change.
28184 (grub_abort): New function.
28185
28186 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
28187
28188 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
28189
28190 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
28191
28192 * include/grub/efi/efi.h (grub_efi_exit): Removed.
28193 (grub_print_device_path): New prototype.
28194 (grub_efi_locate_handle): Likewise.
28195 (grub_efi_open_protocol): Likewise.
28196
28197 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
28198 * disk/efi/efidisk.c: Likewise.
28199
28200 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
28201
28202 * include/grub/efi/console_control.h
28203 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
28204
28205 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
28206 last 8 bytes as an array.
28207 (GRUB_EFI_DISK_IO_GUID): New macro.
28208 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
28209 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
28210 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
28211 grub_uint8_t.
28212 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
28213 (struct grub_efi_device_path): Rename the member "sub_type" to
28214 "subtype".
28215 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
28216 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
28217 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
28218 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
28219 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
28220 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
28221 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
28222 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
28223 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
28224 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
28225 (struct grub_efi_pci_device_path): New structure.
28226 (grub_efi_pci_device_path_t): New type.
28227 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
28228 (struct grub_efi_pccard_device_path): New structure.
28229 (grub_efi_pccard_device_path_t): New type.
28230 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
28231 (struct grub_efi_memory_mapped_device_path): New structure.
28232 (grub_efi_memory_mapped_device_path_t): New type.
28233 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
28234 (struct grub_efi_vendor_device_path): New structure.
28235 (grub_efi_vendor_device_path_t): New type.
28236 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
28237 (struct grub_efi_controller_device_path): New structure.
28238 (grub_efi_controller_device_path_t): New type.
28239 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
28240 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
28241 (struct grub_efi_acpi_device_path): New structure.
28242 (grub_efi_acpi_device_path_t): New type.
28243 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
28244 (struct grub_efi_expanded_acpi_device_path): New structure.
28245 (grub_efi_expanded_acpi_device_path_t): New type.
28246 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
28247 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
28248 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
28249 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
28250 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
28251 (struct grub_efi_atapi_device_path): New structure.
28252 (grub_efi_atapi_device_path_t): New type.
28253 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
28254 (struct grub_efi_fibre_channel_device_path): New structure.
28255 (grub_efi_fibre_channel_device_path_t): New type.
28256 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
28257 (struct grub_efi_1394_device_path): New structure.
28258 (grub_efi_1394_device_path_t): New type.
28259 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
28260 (struct grub_efi_usb_device_path): New structure.
28261 (grub_efi_usb_device_path_t): New type.
28262 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
28263 (struct grub_efi_usb_class_device_path): New structure.
28264 (grub_efi_usb_class_device_path_t): New type.
28265 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
28266 (struct grub_efi_i2o_device_path): New structure.
28267 (grub_efi_i2o_device_path_t): New type.
28268 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
28269 (struct grub_efi_mac_address_device_path): New structure.
28270 (grub_efi_mac_address_device_path_t): New type.
28271 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
28272 (struct grub_efi_ipv4_device_path): New structure.
28273 (grub_efi_ipv4_device_path_t): New type.
28274 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
28275 (struct grub_efi_ipv6_device_path): New structure.
28276 (grub_efi_ipv6_device_path_t): New type.
28277 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
28278 (struct grub_efi_infiniband_device_path): New structure.
28279 (grub_efi_infiniband_device_path_t): New type.
28280 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
28281 (struct grub_efi_uart_device_path): New structure.
28282 (grub_efi_uart_device_path_t): New type.
28283 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
28284 (struct grub_efi_vendor_messaging_device_path): New structure.
28285 (grub_efi_vendor_messaging_device_path_t): New type.
28286 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
28287 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
28288 (struct grub_efi_hard_drive_device_path): New structure.
28289 (grub_efi_hard_drive_device_path_t): New type.
28290 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
28291 (struct grub_efi_cdrom_device_path): New structure.
28292 (grub_efi_cdrom_device_path_t): New type.
28293 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
28294 (struct grub_efi_vendor_media_device_path): New structure.
28295 (grub_efi_vendor_media_device_path_t): New type.
28296 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
28297 (struct grub_efi_file_path_device_path): New structure.
28298 (grub_efi_file_path_device_path_t): New type.
28299 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
28300 (struct grub_efi_protocol_device_path): New structure.
28301 (grub_efi_protocol_device_path_t): New type.
28302 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
28303 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
28304 (struct grub_efi_bios_device_path): New structure.
28305 (grub_efi_bios_device_path_t): New type.
28306 (struct grub_efi_disk_io): New structure.
28307 (grub_efi_disk_io_t): New type.
28308 (struct grub_efi_block_io_media): New structure.
28309 (grub_efi_block_io_media_t): New type.
28310 (struct grub_efi_block_io): New structure.
28311 (grub_efi_block_io_t): New type.
28312
28313 * include/grub/misc.h (grub_stop): Removed.
28314 (grub_exit): New prototype.
28315 (grub_abort): Likewise.
28316
28317 * include/grub/disk.h (enum grub_disk_dev_id): Added
28318 GRUB_DISK_DEVICE_EFIDISK_ID.
28319
28320 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
28321 disk/efi/efidisk.c.
28322 (kernel_syms.lst): Remove the target if an error occurs.
28323
49986a9f 283242006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
28325
28326 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
28327 as it was simply too buggy.
28328
970d3b8a 283292006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
28330
28331 * kern/misc.c (grub_lltoa): New function.
28332 (grub_vsprintf): Added support for the long long suffix,
28333 i.e. "ll".
28334
ff04ec24 283352006-04-20 Hollis Blanchard <hollis@penguinppc.org>
28336
28337 * Makefile.in (LDFLAGS): Add variable.
28338 (LD): Remove variable.
28339 * configure.ac: Add -m32 to LDFLAGS.
28340 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
28341 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
28342 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
28343 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
28344 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
28345 variables.
28346 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
28347 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
28348 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
28349
37e5e1a4 283502006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
28351
28352 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
28353 length for unknown glyph.
28354
c352d8dd 283552006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
28356
2eab1c0d 28357 Add support for pre-loaded modules into the EFI port.
f19dbdb7 28358
2eab1c0d 28359 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
28360 completely. Accept one more argument DIR. The caller has changed.
28361
28362 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
28363
28364 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
28365 (grub_efi_loaded_image_guid): New variable.
28366 (grub_efi_get_loaded_image): New function.
28367 (grub_arch_modules_addr): Likewise.
28368
28369 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
28370 prototype.
28371
28372 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
28373 (struct grub_efi_loaded_image): New structure.
28374 (grub_efi_loaded_image_t): New type.
28375
283762006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28377
c352d8dd 28378 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
28379 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
28380 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
28381
6d01d6b4 283822006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
28383
28384 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
28385
976a4ea0 283862006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
28387
28388 * DISTLIST: Added include/grub/efi/console.h,
28389 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
28390 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28391
28392 * include/grub/efi/console.h: New file.
28393 * include/grub/efi/time.h: Likewise.
28394 * include/grub/i386/efi/kernel.h: Likewise.
28395 * kern/efi/init.c: Likewise.
28396 * kern/efi/mm.c: Likewise.
28397 * term/efi/console.c: Likewise.
f19dbdb7 28398
976a4ea0 28399 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
28400 (grub_stop): Removed.
28401 (grub_get_rtc): Likewise.
28402 (grub_machine_init): Simply call grub_efi_init.
28403 (grub_machine_fini): Call grub_efi_fini.
28404
28405 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
28406 (grub_efi_output_string): Removed.
28407 (grub_efi_stall): New function.
28408 (grub_stop): Likewise.
28409 (grub_get_rtc): Likewise.
28410
28411 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
28412 (grub_efi_stall): New prototype.
28413 (grub_efi_allocate_pages): Likewise.
28414 (grub_efi_free_pages): Likewise.
28415 (grub_efi_get_memory_map): Likewise.
28416 (grub_efi_mm_init): Likewise.
28417 (grub_efi_mm_fini): Likewise.
28418 (grub_efi_init): Likewise.
28419 (grub_efi_fini): Likewise.
28420
28421 * include/grub/i386/efi/time.h: Do not include
28422 grub/symbol.h. Include grub/efi/time.h.
28423 (GRUB_TICKS_PER_SECOND): Removed.
28424 (grub_get_rtc): Likewise.
28425
28426 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
28427 Added padding. The EFI spec is buggy.
28428 (GRUB_EFI_BLACK): New macro.
28429 (GRUB_EFI_BLUE): Likewise.
28430 (GRUB_EFI_GREEN): Likewise.
28431 (GRUB_EFI_CYAN): Likewise.
28432 (GRUB_EFI_RED): Likewise.
28433 (GRUB_EFI_MAGENTA): Likewise.
28434 (GRUB_EFI_BROWN): Likewise.
28435 (GRUB_EFI_LIGHTGRAY): Likewise.
28436 (GRUB_EFI_BRIGHT): Likewise.
28437 (GRUB_EFI_DARKGRAY): Likewise.
28438 (GRUB_EFI_LIGHTBLUE): Likewise.
28439 (GRUB_EFI_LIGHTGREEN): Likewise.
28440 (GRUB_EFI_LIGHTCYAN): Likewise.
28441 (GRUB_EFI_LIGHTRED): Likewise.
28442 (GRUB_EFI_LIGHTMAGENTA): Likewise.
28443 (GRUB_EFI_YELLOW): Likewise.
28444 (GRUB_EFI_WHITE): Likewise.
28445 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
28446 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
28447 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
28448 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
28449 (GRUB_EFI_BACKGROUND_RED): Likewise.
28450 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
28451 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
28452 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
28453 (GRUB_EFI_TEXT_ATTR): Likewise.
28454
28455 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
28456 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28457 (kernel_mod_HEADERS): Added efi/time.h.
28458
83709125 284592006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
28460
28461 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
28462 include/grub/efi/api.h, include/grub/efi/console_control.h,
28463 include/grub/efi/efi.h, include/grub/efi/pe32.h,
28464 include/grub/i386/efi/time.h, kern/efi/efi.c,
28465 kern/i386/efi/init.c, kern/i386/efi/startup.S,
28466 and util/i386/efi/grub-mkimage.c.
28467
28468 * Makefile.in (RMKFILES): Added i386-efi.rmk.
28469
28470 * genmk.rb (PModule#rule): Do not export symbols if
28471 #{prefix}_EXPORTS is set to "no".
28472
28473 * conf/i386-efi.mk: New file.
28474 * conf/i386-efi.rmk: Likewise.
28475 * include/grub/efi/api.h: Likewise.
28476 * include/grub/efi/console_control.h: Likewise.
28477 * include/grub/efi/efi.h: Likewise.
28478 * include/grub/efi/pe32.h: Likewise.
28479 * include/grub/i386/efi/time.h: Likewise.
28480 * kern/efi/efi.c: Likewise.
28481 * kern/i386/efi/init.c: Likewise.
28482 * kern/i386/efi/startup.S: Likewise.
28483 * util/i386/efi/grub-mkimage.c: Likewise.
28484
284852006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 28486
28487 * include/grub/script.h: Include <grub/parser.h> and
28488 "grub_script.tab.h".
28489 (struct grub_lexer_param): New struct.
28490 (struct grub_parser_param): Likewise.
28491 (grub_script_create_arglist): Pass the state in an argument.
28492 (grub_script_add_arglist): Likewise.
28493 (grub_script_create_cmdline): Likewise.
28494 (grub_script_create_cmdblock): Likewise.
28495 (grub_script_create_cmdif): Likewise.
28496 (grub_script_create_cmdmenu): Likewise.
28497 (grub_script_add_cmd): Likewise.
28498 (grub_script_arg_add): Likewise.
28499 (grub_script_lexer_ref): Likewise.
28500 (grub_script_lexer_deref): Likewise.
28501 (grub_script_lexer_record_start): Likewise.
28502 (grub_script_lexer_record_stop): Likewise.
28503 (grub_script_mem_record): Likewise.
28504 (grub_script_mem_record_stop): Likewise.
28505 (grub_script_malloc): Likewise.
28506 (grub_script_yylex): Likewise.
28507 (grub_script_yyparse): Likewise.
28508 (grub_script_yyerror): Likewise.
28509 (grub_script_yylex): Likewise.
28510 (grub_script_lexer_init): Return the state.
28511
28512 * normal/lexer.c (grub_script_lexer_state): Removed variable.
28513 (grub_script_lexer_done): Likewise.
28514 (grub_script_lexer_getline): Likewise.
28515 (grub_script_lexer_refs): Likewise.
28516 (script): Likewise.
28517 (newscript): Likewise.
28518 (record): Likewise.
28519 (recording): Likewise.
28520 (recordpos): Likewise.
28521 (recordlen): Likewise.
28522 (grub_script_lexer_init): Return the state instead of setting
28523 global variables.
28524 (grub_script_lexer_ref): Use the newly added argument for state
28525 instead of globals.
28526 (grub_script_lexer_deref): Likewise.
28527 (grub_script_lexer_record_start): Likewise.
28528 (grub_script_lexer_record_stop): Likewise.
28529 (recordchar): Likewise.
28530 (nextchar): Likewise.
28531 (grub_script_yylex2): Likewise.
28532 (grub_script_yylex): Likewise.
28533 (grub_script_yyerror): Likewise.
28534
28535 * normal/parser.y (func_mem): Removed variable.
28536 (menu_entry): Likewise.
28537 (err): Likewise.
28538 (%lex-param): New parser option.
28539 (%parse-param): Likewise.
28540 (script): Always return the AST.
28541 (argument): Pass the state around.
28542 (arguments): Likewise.
28543 (grubcmd): Likewise.
28544 (commands): Likewise.
28545 (function): Likewise.
28546 (menuentry): Likewise.
28547 (if_statement): Likewise.
28548 (if): Likewise.
28549
28550 * normal/script.c (grub_script_memused): Removed variable.
28551 (grub_script_parsed): Likewise.
28552 (grub_script_malloc): Added a state argument. Use that instead of
28553 global variables.
28554 (grub_script_mem_record): Likewise.
28555 (grub_script_mem_record_stop): Likewise.
28556 (grub_script_arg_add): Likewise.
28557 (grub_script_add_arglist): Likewise.
28558 (grub_script_create_cmdline): Likewise.
28559 (grub_script_create_cmdif): Likewise.
28560 (grub_script_create_cmdmenu): Likewise.
28561 (grub_script_add_cmd): Likewise.
28562 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 28563
e2a8c904 285642006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 28565
28566 * normal/command.c (grub_command_init): Remove the title command.
28567
28568 * normal/lexer.c (grub_script_yylex): Renamed from this...
28569 (grub_script_yylex2): ... to this.
28570 (grub_script_yylex): New function. Temporary
28571 introduced to filter some tokens.
28572 (grub_script_yyerror): Print a newline.
28573
28574 * normal/main.c (read_config_file): Output information about the
28575 lines that contain errors. Wait for a key after all lines have
28576 been processed. Don't return an empty menu.
28577
28578 * normal/parser.y (func_mem): Don't initialize.
28579 (menu_entry): Likewise.
28580 (err): New variable.
28581 (script): Don't return anything when an error was encountered.
28582 (ws, returns): Removed rules.
28583 (argument): Disabled concatenated variable support.
28584 (arguments): Remove explicit separators.
28585 (grubcmd): Likewise.
28586 (function): Likewise.
28587 (menuentry): Likewise.
28588 (if): Likewise.
28589 (commands): Likewise. Add error handling.
28590
28591 * normal/script.c (grub_script_create_cmdline): If
28592 `grub_script_parsed' is 0, assume the parser encountered an error.
28593
c9a86192 285942006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
28595
28596 * configure.ac: Add support for EFI. Fix the typo
28597 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
28598
70f3b243 285992006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28600
28601 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
28602 foreign multibyte characters should be shown correctly.
28603
65f201ad 286042006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28605
28606 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
28607 calculation.
28608 (read_config_file): Made it to close file before returning.
28609
b4b93674 286102006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
28611
28612 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
28613 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
28614 video/i386/pc/vbefill.c.
28615
28616 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
28617 video/i386/pc/vbefill.c.
28618
28619 * include/grub/video.h (grub_video_blit_format): New enum.
28620 (grub_video_mode_info): Added new member blit_format.
28621 (grub_video_get_blit_format): New function prototype.
28622
28623 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
28624 function prototype.
28625 (grub_video_vbe_map_rgb): Likewise.
28626 (grub_video_vbe_unmap_color): Likewise.
28627
28628 * include/grub/i386/pc/vbeblit.h: New file.
28629
28630 * include/grub/i386/pc/vbefill.h: New file.
28631
28632 * video/video.c (grub_video_get_blit_format): New function.
28633 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
28634 (grub_video_vbe_map_rgb): Likewise.
28635 (grub_video_vbe_unmap_color): Likewise.
28636
28637 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
28638 optimized fills.
28639 (grub_video_vbe_blit_render_target): Changed to use more optimized
28640 blits.
28641 (grub_video_vbe_setup): Added detection for optimized settings.
28642 (grub_video_vbe_create_render_target): Likewise.
28643
28644 * video/i386/pc/vbeblit.c: New file.
28645
28646 * video/i386/pc/vbefill.c: New file.
28647
c2379b9c 286482006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
28649
28650 * font/manager.c (grub_font_get_glyph): Removed font fixup from
28651 here...
28652
28653 * util/unifont2pff.rb: ... and moved it to here. Improved argument
28654 parsing to support both hex and dec ranges. If filename was missing
28655 show usage information.
28656
bd0d7896 286572006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
28658
28659 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
28660 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
28661
28662 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
28663 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
28664 (video_mod_SOURCES): Added.
28665 (video_mod_CFLAGS): Likewise.
28666 (video_mod_LDFLAGS): Likewise.
28667 (gfxterm_mod_SOURCES): Likewise.
28668 (gfxterm_mod_CFLAGS): Likewise.
28669 (gfxterm_mod_LDFLAGS): Likewise.
28670 (videotest_mod_SOURCES): Likewise.
28671 (videotest_mod_CFLAGS): Likewise.
28672 (videotest_mod_LDFLAGS): Likewise.
28673 (vesafb_mod_SOURCES): Removed.
28674 (vesafb_mod_CFLAGS): Likewise.
28675 (vesafb_mod_LDFLAGS): Likewise.
28676 (vga_mod_SOURCES): Likewise.
28677 (vga_mod_CFLAGS): Likewise.
28678 (vga_mod_LDFLAGS): Likewise.
28679
28680 * commands/videotest.c: New file.
28681
28682 * font/manager.c (fill_with_default_glyph): Modified to use
28683 grub_font_glyph.
28684 (grub_font_get_glyph): Likewise.
28685 (fontmanager): Renamed from this...
28686 (font_manager): ... to this.
28687
28688 * include/grub/font.h (grub_font_glyph): Added new structure.
28689 (grub_font_get_glyph): Modified to use grub_font_glyph.
28690
28691 * include/grub/misc.h (grub_abs): Added as inline function.
28692
28693 * include/grub/video.h: New file.
28694
28695 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
28696 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
28697 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
28698 (grub_vbe_get_controller_info): Renamed from this...
28699 (grub_vbe_bios_get_controller_info): ... to this.
28700 (grub_vbe_get_mode_info): Renamed from this...
28701 (grub_vbe_bios_get_mode_info): ... to this.
28702 (grub_vbe_set_mode): Renamed from this...
28703 (grub_vbe_bios_set_mode): ... to this.
28704 (grub_vbe_get_mode): Renamed from this...
28705 (grub_vbe_bios_get_mode): ... to this.
28706 (grub_vbe_set_memory_window): Renamed from this...
28707 (grub_vbe_bios_set_memory_window): ... to this.
28708 (grub_vbe_get_memory_window): Renamed from this...
28709 (grub_vbe_bios_get_memory_window): ... to this.
28710 (grub_vbe_set_scanline_length): Renamed from this...
28711 (grub_vbe_set_scanline_length): ... to this.
28712 (grub_vbe_get_scanline_length): Renamed from this...
28713 (grub_vbe_bios_get_scanline_length): ... to this.
28714 (grub_vbe_set_display_start): Renamed from this...
28715 (grub_vbe_bios_set_display_start): ... to this.
28716 (grub_vbe_get_display_start): Renamed from this...
28717 (grub_vbe_bios_get_display_start): ... to this.
28718 (grub_vbe_set_palette_data): Renamed from this...
28719 (grub_vbe_bios_set_palette_data): ... to this.
28720 (grub_vbe_set_pixel_rgb): Removed.
28721 (grub_vbe_set_pixel_index): Likewise.
28722
28723 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
28724 from this...
28725 (grub_vbe_bios_get_controller_info): ... to this.
28726 (grub_vbe_get_mode_info): Renamed from this...
28727 (grub_vbe_bios_get_mode_info): ... to this.
28728 (grub_vbe_set_mode): Renamed from this...
28729 (grub_vbe_bios_set_mode): ... to this.
28730 (grub_vbe_get_mode): Renamed from this...
28731 (grub_vbe_bios_get_mode): ... to this.
28732 (grub_vbe_set_memory_window): Renamed from this...
28733 (grub_vbe_bios_set_memory_window): ... to this.
28734 (grub_vbe_get_memory_window): Renamed from this...
28735 (grub_vbe_bios_get_memory_window): ... to this.
28736 (grub_vbe_set_scanline_length): Renamed from this...
28737 (grub_vbe_set_scanline_length): ... to this.
28738 (grub_vbe_get_scanline_length): Renamed from this...
28739 (grub_vbe_bios_get_scanline_length): ... to this.
28740 (grub_vbe_set_display_start): Renamed from this...
28741 (grub_vbe_bios_set_display_start): ... to this.
28742 (grub_vbe_get_display_start): Renamed from this...
28743 (grub_vbe_bios_get_display_start): ... to this.
28744 (grub_vbe_set_palette_data): Renamed from this...
28745 (grub_vbe_bios_set_palette_data): ... to this.
28746 (grub_vbe_bios_get_controller_info): Fixed problem with registers
28747 getting corrupted after calling it. Added more pushes and pops.
28748 (grub_vbe_bios_set_mode): Likewise.
28749 (grub_vbe_bios_get_mode): Likewise.
28750 (grub_vbe_bios_get_memory_window): Likewise.
28751 (grub_vbe_bios_set_scanline_length): Likewise.
28752 (grub_vbe_bios_get_scanline_length): Likewise.
28753 (grub_vbe_bios_get_display_start): Likewise.
28754 (grub_vbe_bios_set_palette_data): Likewise.
28755
28756 * normal/cmdline.c (cl_set_pos): Refresh the screen.
28757 (cl_insert): Likewise.
28758 (cl_delete): Likewise.
28759
28760 * term/gfxterm.c: New file.
28761
28762 * term/i386/pc/vesafb.c: Removed file.
28763
28764 * video/video.c: New file.
28765
28766 * video/i386/pc/vbe.c (real2pm): Added new function.
28767 (grub_video_vbe_draw_pixel): Likewise.
28768 (grub_video_vbe_get_video_ptr): Likewise.
28769 (grub_video_vbe_get_pixel): Likewise
28770 (grub_video_vbe_init): Likewise.
28771 (grub_video_vbe_fini): Likewise.
28772 (grub_video_vbe_setup): Likewise.
28773 (grub_video_vbe_get_info): Likewise.
28774 (grub_video_vbe_set_palette): Likewise.
28775 (grub_video_vbe_get_palette): Likewise.
28776 (grub_video_vbe_set_viewport): Likewise.
28777 (grub_video_vbe_get_viewport): Likewise.
28778 (grub_video_vbe_map_color): Likewise.
28779 (grub_video_vbe_map_rgb): Likewise.
28780 (grub_video_vbe_map_rgba): Likewise.
28781 (grub_video_vbe_unmap_color): Likewise.
28782 (grub_video_vbe_fill_rect): Likewise.
28783 (grub_video_vbe_blit_glyph): Likewise.
28784 (grub_video_vbe_blit_bitmap): Likewise.
28785 (grub_video_vbe_blit_render_target): Likewise.
28786 (grub_video_vbe_scroll): Likewise.
28787 (grub_video_vbe_swap_buffers): Likewise.
28788 (grub_video_vbe_create_render_target): Likewise.
28789 (grub_video_vbe_delete_render_target): Likewise.
28790 (grub_video_vbe_set_active_render_target): Likewise.
28791 (grub_vbe_set_pixel_rgb): Remove function.
28792 (grub_vbe_set_pixel_index): Likewise.
28793 (index_color_mode): Remove static variable.
28794 (active_mode): Likewise.
28795 (framebuffer): Likewise.
28796 (bytes_per_scan_line): Likewise.
28797 (grub_video_vbe_adapter): Added new static variable.
28798 (framebuffer): Likewise.
28799 (render_target): Likewise.
28800 (initial_mode): Likewise.
28801 (mode_in_use): Likewise.
28802 (mode_list): Likewise.
28803
5f97350b 288042006-03-10 Marco Gerards <marco@gnu.org>
28805
28806 * configure.ac (AC_INIT): Bumped to 1.93.
28807
28808 * DISTLIST: Added `include/grub/hfs.h'.
28809
a3c5c6f8 288102006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
28811
28812 * boot/i386/pc/boot.S (general_error): Before looping, try INT
28813 18H, which might help the BIOS falling back to next boot media.
28814
6de53d26 288152006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
28816
28817 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
28818 Poe Chen <poe.poechen@gmail.com>.
28819
77c4a393 288202006-01-17 Marco Gerards <marco@gnu.org>
28821
28822 * include/grub/normal.h: Include <grub/script.h>.
28823 (grub_command_list): Removed struct.
28824 (grub_command_list_t): Removed type.
28825 (grub_menu_entry): Remove members `num' and `command_list'. Add
28826 members `commands' and `sourcecode'.
28827 * include/grub/script.h: Add inclusion guards.
28828 (grub_script_cmd_menuentry): New struct.
28829 (grub_script_execute_menuentry): New prototype.
28830 (grub_script_lexer_record_start): Likewise.
28831 (grub_script_lexer_record_stop): Likewise.
28832 * normal/execute.c (grub_script_execute_menuentry): New function.
28833 * normal/lexer.c (record, recording, recordpos, recordlen): New
28834 variables.
28835 (grub_script_lexer_record_start): New function.
28836 (grub_script_lexer_record_stop): Likewise.
28837 (recordchar): Likewise.
28838 (nextchar): Likewise.
28839 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
28840 2048 as the buffer size. Add the tokens `menuentry' and `@'.
28841 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
28842 (current_menu): New variable.
28843 (free_menu): Mainly rewritten.
28844 (grub_normal_menu_addentry): New function.
28845 (read_config_file): Rewritten.
28846 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 28847 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 28848 the menu entry.
28849 (run): Mainly rewritten.
28850 * normal/parser.y (menu_entry): New variable.
28851 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
28852 (menuentry): New rule.
28853 (command): Add `menuentry'.
28854 (if_statement): Allow additional returns before `fi'.
28855 * normal/script.c (grub_script_create_cmdmenu): New function.
28856
144f1f98 288572006-01-03 Marco Gerards <marco@gnu.org>
28858
28859 * INSTALL: GNU Bison is required.
28860 * configure.ac: Rewritten the test to detect Bison.
28861 * Makefile.in (YACC): New variable. Reported by Xun Sun
28862 <xun.sun.cn@gmail.com>.
28863
af4b2d89 288642006-01-03 Marco Gerards <marco@gnu.org>
28865
28866 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
28867 the HFS+ filesystem to filesystem blocks.
28868 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
28869 GCC warning is silenced.
28870
15643b71 288712006-01-03 Marco Gerards <marco@gnu.org>
28872
28873 * partmap/apple.c (apple_partition_map_iterate): Convert the data
28874 read from disk from big endian to host byte order.
28875
00905879 288762006-01-03 Hollis Blanchard <hollis@penguinppc.org>
28877
28878 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
28879 documentation.
28880 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
28881 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
28882 embedded HFS+ filesystem.
28883 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
28884 (grub_hfs_sblock): Move from here...
28885 * include/grub/hfs.h: To here... New file.
28886 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
28887 documentation.
28888 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
28889 New macros.
28890 (grub_hfsplus_volheader): Change type of member `magic' to
28891 `grub_uint16_t'.
28892 (grub_hfsplus_data): Add new member `embedded_offset'.
28893 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
28894 returned block.
28895 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
28896 Calculate the offset.
28897
8899bc3e 288982005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28899
28900 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
28901 Removed.
28902 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
28903
ae8c0277 289042005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28905
28906 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
28907 ENV->NAME is NULL after allocating ENV->VALUE.
28908
07084456 289092005-12-25 Marco Gerards <marco@gnu.org>
28910
28911 * kern/env.c (grub_env_set): Rewritten the error handling code.
28912
4750f5f1 289132005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28914
28915 * geninit.sh: Made more robust, and more portable.
28916
50214199 289172005-12-25 Marco Gerards <marco@gnu.org>
28918
28919 Add support for Apple HFS+ filesystems.
f19dbdb7 28920
50214199 28921 * fs/hfsplus.c: New file.
28922
28923 * DISTLIST: Added `fs/hfsplus.c'.
28924
28925 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
28926 (hfsplus_mod_SOURCES): New variable.
28927 (hfsplus_mod_CFLAGS): Likewise.
28928 (hfsplus_mod_LDFLAGS): Likewise.
28929 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
28930 (grub_setup_SOURCES): Likewise.
28931 (grub_mkdevicemap_SOURCES): Likewise.
28932 (grub_emu_SOURCES): Likewise.
28933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28934
28935 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
28936
28937 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
28938
befaed6c 289392005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28940
28941 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
28942 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
28943 include/grub/parser.h, include/grub/script.h, kern/parser.c,
28944 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
28945 normal/lexer.c, normal/parser.y, normal/script.c, and
28946 partmap/gpt.c.
28947 Removed kern/sparc64/cache.c.
28948
28949 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
28950 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
28951 grub_emu_init.c.
28952
28953 * configure.ac (AC_INIT): Bumped to 1.92.
28954
6a124103 289552005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
28956
28957 * kern/err.c (grub_error_push): Added new function to support error
28958 stacks.
28959 (grub_error_pop): Likewise.
28960 (grub_error_stack_items): New local variable to support error stacks.
28961 (grub_error_stack_pos): Likewise.
28962 (grub_error_stack_assert): Likewise.
28963 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
28964 stack depth.
28965 (grub_print_error): Added support to print errors from error stack.
28966
28967 * include/grub/err.h (grub_error_push): Added function prototype.
28968 (grub_error_pop): Likewise.
28969
be973c1b 289702005-12-09 Hollis Blanchard <hollis@penguinppc.org>
28971
28972 * configure.ac: Accept `powerpc64' as host_cpu.
28973 (amd64): Rename to `biarch32'.
28974
28975 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
28976 non-cacheline-aligned addresses.
28977
28978 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
28979 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
28980 if `size' is non-zero.
28981
b04216ab 289822005-12-03 Marco Gerards <mgerards@xs4all.nl>
28983
28984 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
28985 and `cd' to make sure the filename is not prefixed with a
28986 directory name.
28987 (pkgdata_MODULES): Add `gpt.mod'.
28988 (gpt_mod_SOURCES): New variable.
28989 (gpt_mod_CFLAGS): Likewise.
28990 (gpt_mod_LDFLAGS): Likewise.
28991
28992 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
28993
28994 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
28995 New macro.
28996
28997 * partmap/gpt.c: New file.
28998
28999 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
29000 GPT partition map is detected.
29001
41730ed9 290022005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
29003
29004 * commands/i386/pc/play.c: New file.
29005 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
29006 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
29007 macros.
f19dbdb7 29008
95dc3643 290092005-11-27 Marco Gerards <mgerards@xs4all.nl>
29010
29011 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
29012 ((unused))' to silence gcc warning.
29013
1569ec51 290142005-11-26 Hollis Blanchard <hollis@penguinppc.org>
29015
29016 * configure.ac: Correct `AC_PROG_YACC' test.
29017
9abde152 290182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29019
29020 * util/powerpc/ieee1275/grub-install.in: Run the mount point
29021 check before installing files.
29022
44b83271 290232005-11-22 Mike Small <smallm@panix.com>
29024
29025 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
29026 number regex so multidigit numbers are recognized correctly.
29027
290282005-11-22 Mike Small <smallm@panix.com>
29029
29030 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
29031 debugging message before attempting to claim memory.
29032 (grub_rescue_cmd_initrd): Add a claim debugging message and try
29033 multiple addresses in case of failure.
29034
9c12956b 290352005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29036
29037 * term/tparm.c (get_space): Remove empty `if' statement.
29038
29039 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
29040
29041 * kern/parser.c (check_varstate): Rename `state' to 's'.
29042
aeaf81d9 290432005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29044
29045 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
29046 variable definitions to the beginning of each function. Sort stack
29047 variables by size.
29048 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
29049 `buf' argument to `char *'.
29050
79bbb63f 290512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29052
29053 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
29054 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29055 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 29056 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29057 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29058 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29059 configfile.mod, search.mod, gzio.mod and test.mod.
29060 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29061 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29062 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29063 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29064 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29065 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29066 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29067 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29068 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29069 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29070 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29071 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29072 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29073 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29074 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29075 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29076 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29077 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29078 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29079 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29080 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29081 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29082 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
29083
29084 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
29085 `grep --include'.
29086 (pkgdata_MODULES): Add test.mod.
29087
233b1628 290882005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29089
29090 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
29091 appending to variables with "+=".
29092 (PModule): Use full pathname to generate *.lst filenames.
29093
29094 * Makefile.in: Fixed list rules moved from genmk.rb.
29095 (.DELETE_ON_ERROR): New special target.
29096 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
29097
29098 * conf/i386-pc.rmk: Include conf/common.mk.
29099 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29100 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 29101 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29102 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29103 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29104 configfile.mod, search.mod, gzio.mod and test.mod.
29105 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29106 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29107 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29108 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29109 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29110 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29111 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29112 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29113 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29114 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29115 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29116 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29117 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29118 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29119 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29120 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29121 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29122 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29123 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29124 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29125 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29126 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29127 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
29128 here...
29129 * conf/common.rmk: ... to here. New file.
29130
29131 * conf/common.mk: New file.
29132
16f820c8 291332005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
29134
29135 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
29136 (grub_script.tab.c): ... here.
29137
29138 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
29139 (grub_script.tab.c): ... here.
29140
29141 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
29142 (grub_script.tab.c): ... here.
29143
29144 * normal/command.c (grub_command_find): Fixed a memory leak of
29145 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
29146
63ba1554 291472005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29148
29149 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
29150 "@" which marks the start of a comment on ARM.
29151 (VARIABLE): Likewise.
29152
7f67dc13 291532005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29154
79bbb63f 29155 Add support for Linux/ADFS partition tables.
7f67dc13 29156
29157 * partmap/acorn.c: New file.
29158
29159 * include/grub/acorn_filecore.h: Likewise.
29160
29161 * DISTLIST: Added `partmap/acorn.c' and
29162 `include/grub/acorn_filecore.h'.
f19dbdb7 29163
7f67dc13 29164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29165 `partmap/acorn.c'.
29166 (pkgdata_MODULES): Add `acorn.mod'.
29167 (acorn_mod_SOURCES): New variable.
29168 (acorn_mod_CFLAGS): Likewise.
29169
29170 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29171 `partmap/acorn.c'.
29172 (pkgdata_MODULES): Add `acorn.mod'.
29173 (acorn_mod_SOURCES): New variable.
29174 (acorn_mod_CFLAGS): Likewise.
29175
29176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
29177 (pkgdata_MODULES): Add `acorn.mod'.
29178 (acorn_mod_SOURCES): New variable.
29179 (acorn_mod_CFLAGS): Likewise.
29180 (acorn_mod_LDFLAGS): Likewise.
29181
29182 * include/types.h (grub_disk_addr_t): New typedef.
29183
6d099807 291842005-11-13 Marco Gerards <mgerards@xs4all.nl>
29185
29186 * geninit.sh: New file.
29187
29188 * geninitheader.sh: Likewise.
29189
29190 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
29191 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
29192 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
29193 * commands/configfile.c (grub_configfile_init)
29194 (grub_configfile_fini): Likewise.
29195 * commands/default.c (grub_default_init, grub_default_fini):
29196 Likewise.
29197 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
29198 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
29199 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
29200 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
29201 Likewise.
29202 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
29203 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
29204 Likewise.
29205 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 29206 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 29207 Likewise.
29208 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
29209 Likewise.
fe6b695a 29210 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 29211 Likewise.
29212 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
29213 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
29214 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
29215 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
29216 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
29217 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
29218 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
29219 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
29220 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
29221 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
29222 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
29223 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
29224 * partmap/amiga.c (grub_amiga_partition_map_init)
29225 (grub_amiga_partition_map_fini): Likewise.
29226 * partmap/apple.c (grub_apple_partition_map_init)
29227 (grub_apple_partition_map_fini): Likewise.
29228 * partmap/pc.c (grub_pc_partition_map_init)
29229 (grub_pc_partition_map_fini): Likewise.
29230 * partmap/sun.c (grub_sun_partition_map_init,
29231 grub_sun_partition_map_fini): Likewise.
29232 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
29233 Likewise.
29234
29235 * util/grub-emu.c: Include <grub_modules_init.h>.
29236 (main): Don't initialize and de-initialize any modules directly,
29237 use `grub_init_all' and `grub_fini_all' instead.
29238
29239 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
29240 `grub_vesafb_mod_init'.
29241 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
29242 all users.
29243 * term/i386/pc/vga.c (grub_vga_init): Renamed to
29244 `grub_vga_mod_init'. Updated all users.
29245 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 29246
6d099807 29247 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
29248 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
29249 rules.
29250
29251 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
29252 Generate a function to initialize the module in utilities.
29253 Updated all callers.
29254 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
29255 initialize the module in utilities. Updated all callers.
29256
9046bcf0 292572005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29258
29259 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
29260 escape sequence and a literal ^L to clear the screen.
29261
29262 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
29263 when returning from Open Firmware.
29264
d13ea639 292652005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29266
29267 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
29268 (grub_ofconsole_height): Likewise.
29269 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
29270 manually insert a '\n'.
29271 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
29272 `grub_ofconsole_height'. Return early if these are already set.
29273
a8fcf206 292742005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
29275
29276 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29277 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
29278 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
29279 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
29280 and `normal/script.c'.
29281 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29282 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29283 (test_mod_SOURCES): New variable.
29284 (test_mod_CFLAGS): Likewise.
29285 (test_mod_LDFLAGS): Likewise.
29286 (pkgdata_MODULES): Add `test.mod'.
29287 (grub_script.tab.c): New rule.
29288 (grub_script.tab.h): Likewise.
29289
b6b32745 292902005-11-07 Marco Gerards <mgerards@xs4all.nl>
29291
29292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29293 `commands/test.c', `normal/execute.c', `normal/lexer.c',
29294 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29295 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29296 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29297 (test_mod_SOURCES): New variable.
29298 (test_mod_CFLAGS): Likewise.
29299 (pkgdata_MODULES): Add `test.mod'.
29300 (grub_script.tab.c): New rule.
29301 (grub_script.tab.h): Likewise.
29302
daac212a 293032005-11-06 Marco Gerards <mgerards@xs4all.nl>
29304
29305 Add initial scripting support.
29306
29307 * commands/test.c: New file.
29308 * include/grub/script.h: Likewise.
29309 * normal/execute.c: Likewise.
29310 * normal/function.c: Likewise.
29311 * normal/lexer.c: Likewise.
29312 * normal/parser.y: Likewise.
29313 * normal/script.c: Likewise.
29314
29315 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 29316
daac212a 29317 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
29318 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
29319 `normal/function.c' and `normal/script.c'.
29320 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29321 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 29322 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
29323 variables.
daac212a 29324 (pkgdata_MODULES): Add `test.mod'.
29325 (grub_script.tab.c): New rule.
29326 (grub_script.tab.h): Likewise.
29327
29328 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
29329
29330 * include/grub/normal.h (grub_test_init): New prototype.
29331 (grub_test_fini): Likewise.
f19dbdb7 29332
daac212a 29333 * normal/command.c: Include <grub/script.h>.
29334 (grub_command_execute): Rewritten.
f19dbdb7 29335
daac212a 29336 * util/grub-emu.c (main): Call `grub_test_init' and
29337 `grub_test_fini'.
29338
77500b2b 293392005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29340
29341 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
29342 to 0.
29343 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
29344 there are no pending characters.
29345
e45deb9e 293462005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29347
29348 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
29349 `grub_strndup' to drop device arguments. Replace unnecessary
29350 `grub_strndup' with `grub_strdup'.
29351
4ce32619 293522005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29353
29354 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
29355 `debug' environment variable has been set.
29356
293572005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 29358
4ce32619 29359 * Makefile.in (install-local): Use $(DATA).
29360 (uninstall): Likewise.
29361 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
29362 (sbin_UTILITIES): ... to here.
29363 (sbin_SCRIPTS): New variable.
29364 (grub_install_SOURCES): New variable.
29365 * util/powerpc/ieee1275/grub-install.in: New file.
29366 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
29367 variable.
29368 (add_segments): Call `grub_util_get_path'.
29369
25fe6f03 293702005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29371
29372 From Timothy Baldwin:
29373 * commands/ls.c (grub_ls_list_files): Close FILE with
29374 grub_file_close.
29375 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
29376
04ccf3ec 293772005-10-24 Marco Gerards <mgerards@xs4all.nl>
29378
29379 * include/grub/parser.h: New file.
29380
29381 * kern/parser.c: Likewise.
29382
29383 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
29384 (grub_setup_SOURCES): Likewise.
29385 (grub_probefs_SOURCES): Likewise.
29386 (grub_emu_SOURCES): Likewise.
29387 (kernel_img_HEADERS): Add `parser.h'.
29388
29389 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29390 (grub_emu_SOURCES): Add `kern/parser.c'.
29391 (grubof_SOURCES): Likewise.
29392
29393 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29394 (grubof_SOURCES): Add `kern/parser.c'.
29395
29396 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
29397
29398 * kern/misc.c (grub_split_cmdline): Removed function.
29399
29400 * kern/rescue.c: Include <grub/parser.h>.
29401 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
29402 of `grub_split_cmdline'.
29403
29404 * normal/command.c: Include <grub/parser.h>.
29405 (grub_command_execute): Use `grub_parser_split_cmdline' instead
29406 of `grub_split_cmdline'.
29407
29408 * normal/completion.c: Include <grub/parser.h>.
29409 (cmdline_state): New variable.
29410 (iterate_dir): End the filename with a quote depending on the
29411 command line state.
29412 (get_state): new function.
29413 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
29414 split the arguments and determine the current argument. When the
29415 argument string is not quoted, escape all spaces.
29416
6d8f4b0e 294172005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29418
29419 * normal/sparc64/setjmp.S: New file.
29420
15cf03ed 294212005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29422
29423 * include/grub/sparc64/libgcc.h: New file.
29424 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
29425 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
29426 normal/sparc64/setjmp.c.
29427
03e8661a 294282005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29429
29430 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
29431 * kern/sparc64/cache.S: New file.
29432 * kern/sparc64/cache.c: Removed.
29433 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
29434 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
29435 -mtune=ultrasparc.
29436 (COMMON_LDFLAGS): Add -melf64_sparc.
29437 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
29438 (grubof_SOURCES): Use cache.S instead of cache.c.
29439 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
29440 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
29441 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
29442 commented though.
29443 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
29444 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
29445 (linux_mod_CFLAGS): Commented out.
29446 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
29447 out because module isn't built.
29448 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
29449 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
29450 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
29451 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
29452 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
29453 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29454 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29455 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
29456 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
29457 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
29458 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29459 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29460 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
29461 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
29462
34eeec8a 294632005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
29464
29465 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
29466 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
29467 longer, because HFS should not be used on PC.
29468
708367a3 294692005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29470
29471 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
29472 consistently within the loop.
29473
6fa1251a 294742005-10-15 Marco Gerards <mgerards@xs4all.nl>
29475
29476 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
29477 directory can not be read.
29478
4801580b 294792005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29480
29481 * configure.ac (AC_INIT): Increase the version number to 1.91.
29482
29483 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
29484 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
29485 term/i386/pc/serial.c.
29486
219ad426 294872005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29488
29489 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
29490 file size must be permitted.
29491
29492 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
29493 between %ah and %al.
29494
688e5699 294952005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29496
29497 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
29498 grub_uint64_t.
29499 Call the hook with a NUL-terminated filename.
29500 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
29501 grub_cpu_to_be32.
29502
29503 * kern/term.c (cursor_state): New variable.
29504 (grub_term_set_current): Reset the cursor state on a new
29505 terminal.
29506 (grub_setcursor): Rewritten to use CURSOR_STATE.
29507 (grub_getcursor): New function.
29508
29509 * include/grub/term.h (grub_getcursor): New prototype.
29510
29511 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
29512 integers on ARM. Reported by Timothy Baldwin
29513 <T.E.Baldwin99@members.leeds.ac.uk>.
29514
bb34586c 295152005-10-11 Marco Gerards <mgerards@xs4all.nl>
29516
29517 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
29518 allocated.
29519 (grub_sfs_dir): Likewise.
29520
9a909877 295212005-10-09 Marco Gerards <mgerards@xs4all.nl>
29522
29523 Add support for the SFS filesystem.
29524
29525 * fs/sfs.c: New file.
29526
29527 * DISTLIST: Added `fs/sfs.c'.
29528
29529 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
29530 (grub_probefs_SOURCES): Likewise.
29531 (grub_emu_SOURCES): Likewise.
29532 (pkgdata_MODULES): Add `sfs.mod'.
29533 (sfs_mod_SOURCES): New variable.
29534 (sfs_mod_CFLAGS): Likewise.
29535 (sfs_mod_LDFLAGS): Likewise.
29536
29537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
29538 (pkgdata_MODULES): Add `sfs.mod'.
29539 (sfs_mod_SOURCES): New variable.
29540 (sfs_mod_CFLAGS): Likewise.
29541
29542 * util/grub-emu.c (main): Call `grub_sfs_init' and
29543 `grub_sfs_fini'.
29544
29545 * include/grub/fs.h (grub_sfs_init): New prototype.
29546 (grub_sfs_fini): Likewise.
29547
57bdbde3 295482005-10-07 Marco Gerards <mgerards@xs4all.nl>
29549
29550 Add support for the AFFS filesystem.
29551
29552 * fs/affs.c: New file.
29553
29554 * DISTLIST: Added `fs/affs.c'.
29555
29556 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
29557 (grub_probefs_SOURCES): Likewise.
29558 (grub_emu_SOURCES): Likewise.
29559 (pkgdata_MODULES): Add `affs.mod'.
29560 (affs_mod_SOURCES): New variable.
29561 (affs_mod_CFLAGS): Likewise.
29562 (affs_mod_LDFLAGS): Likewise.
29563
29564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
29565 (pkgdata_MODULES): Add `affs.mod'.
29566 (affs_mod_SOURCES): New variable.
29567 (affs_mod_CFLAGS): Likewise.
29568
29569 * util/grub-emu.c (main): Call `grub_affs_init' and
29570 `grub_affs_fini'.
29571
29572 * include/grub/fs.h (grub_affs_init): New prototype.
29573 (grub_affs_fini): Likewise.
29574
047b67e0 295752005-10-01 Marco Gerards <mgerards@xs4all.nl>
29576
29577 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
29578
59b8208a 295792005-10-01 Marco Gerards <mgerards@xs4all.nl>
29580
29581 * configure.ac: Accept `x86_64' as host_cpu. In that case add
29582 `-m32' to CFLAGS.
29583
29584 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
29585 linking.
f19dbdb7 29586
59b8208a 29587 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
29588 (COMMON_LDFLAGS): New variable.
29589 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
29590 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
29591 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
29592 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
29593 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
29594 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
29595 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
29596 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
29597 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
29598 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
29599 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29600 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29601 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
29602 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
29603 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
29604 variables.
29605 (normal_mod_ASFLAGS): Add `-m32'.
29606
29607 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
29608 (grub_host_size_t, grub_host_ssize_t): New types.
29609 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 29610 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 29611 `GRUB_HOST_SIZEOF_VOID_P'.
29612
29613 * include/grub/kernel.h (struct grub_module_header): Type of
29614 member offset changed to `grub_host_off_t'. Type of member size
29615 changed to `grub_host_size_t'.
29616 (struct grub_module_info): Type of member offset changed to
29617 `grub_host_off_t'. Type of member size changed to
29618 `grub_host_size_t'.
29619
b4093103 296202005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
29621
29622 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 29623
b4093103 29624 * kern/i386/pc/startup.S (multiboot_header): New label.
29625 (multiboot_entry): Likewise.
29626 (multiboot_trampoline): Likewise.
29627
29628 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29629 Increased to 0x4A0.
29630
29631 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
29632 put parentheses after a question mark.
29633 [!GRUB_UTIL] (my_mod): New variable.
29634
29635 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
29636
b2499b29 296372005-09-28 Marco Gerards <mgerards@xs4all.nl>
29638
29639 Adds support for the XFS filesystem. Btrees are not supported
29640 yet.
29641
29642 * fs/xfs.c: New file.
29643
29644 * DISTLIST: Added `fs/xfs.c'.
29645
29646 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
29647 (grub_probefs_SOURCES): Likewise.
29648 (grub_emu_SOURCES): Likewise.
29649 (pkgdata_MODULES): Add `xfs.mod'.
29650 (xfs_mod_SOURCES): New variable.
29651 (xfs_mod_CFLAGS): Likewise.
29652
29653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
29654 (pkgdata_MODULES): Add `xfs.mod'.
29655 (xfs_mod_SOURCES): New variable.
29656 (xfs_mod_CFLAGS): Likewise.
29657
29658 * util/grub-emu.c (main): Call `grub_xfs_init' and
29659 `grub_xfs_fini'.
29660
29661 * include/grub/fs.h (grub_xfs_init): New prototype.
29662 (grub_xfs_fini): Likewise.
29663
f19dbdb7 29664
83d37a62 296652005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
29666
29667 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
29668 color modes, allow greater than 16 colors to be configured as
29669 a default palette.
29670
47d2d65e 296712005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29672
29673 * normal/completion.c (complete_arguments): Add the qualifier
29674 const into OPTIONS.
29675
29676 From Omniflux <omniflux+lists@omniflux.com>:
29677 * include/grub/terminfo.h: New file.
29678 * include/grub/tparm.h: Likewise.
29679 * include/grub/i386/pc/serial.h: Likewise.
29680 * term/terminfo.c: Likewise.
29681 * term/tparm.c: Likewise.
29682 * term/i386/pc/serial.c: Likewise.
29683 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
29684 serial.mod.
29685 (terminfo_mod_SOURCES): New variable.
29686 (terminfo_mod_CFLAGS): Likewise.
29687 (serial_mod_SOURCES): Likewise.
29688 (serial_mod_CFLAGS): Likewise.
29689
48b671ff 296902005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
29691
29692 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
29693 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
29694 and kern/powerpc/ieee1275/cmain.c, respectively.
29695
29696 * boot/powerpc/ieee1275/crt0.S: Moved to ...
29697 * kern/powerpc/ieee1275/crt0.S: ... here.
29698
29699 * boot/powerpc/ieee1275/cmain.c: Moved to ...
29700 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 29701
48b671ff 29702 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
29703 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
29704 instead of boot/powerpc/ieee1275/crt0.S and
29705 boot/powerpc/ieee1275/cmain.c, respectively.
29706
29707 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
29708 sectors. It was not used anyway.
29709
09fc77a7 297102005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29711
29712 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
29713 `unused parameter' warning.
29714
003789c7 297152005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29716
29717 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
29718 function.
29719 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
29720 getcharwidth.
29721
67f44c86 297222005-08-28 Marco Gerards <metgerards@student.han.nl>
29723
29724 * include/grub/normal.h (enum grub_completion_type): Added
29725 `GRUB_COMPLETION_TYPE_ARGUMENT'.
29726
29727 * normal/cmdline.c (print_completion): Handle
29728 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
29729 * normal/menu_entry.c (store_completion): Likewise.
29730
29731 * normal/completion.c (complete_arguments): New function.
29732 (grub_normal_do_completion): Call `complete_arguments' when the
29733 current words start with a dash.
29734
0b5abe02 297352005-08-27 Marco Gerards <metgerards@student.han.nl>
29736
29737 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
29738 `gzio.mod' instead of `io.mod').
29739
d9864ee1 297402005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
29741
29742 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
29743 (DISTDIRS): Added io and video.
29744 Rewrite the search routine to make an output consistently.
29745
29746 * DISTLIST: Added conf/sparc64-ieee1275.mk,
29747 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
29748 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
29749 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
29750 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
29751 util/powerpc/ieee1275/misc.c.
f19dbdb7 29752
d9864ee1 29753 * include/grub/gzio.h: New file.
29754 * io/gzio.c: Likewise.
f19dbdb7 29755
d9864ee1 29756 * kern/file.c (grub_file_close): Call grub_device_close only if
29757 FILE->DEVICE is not NULL.
29758
29759 * include/grub/mm.h [!NULL] (NULL): New macro.
29760
29761 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
29762
29763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
29764 (pkgdata_MODULES): Added gzio.mod.
29765 (gzio_mod_SOURCES): New variable.
29766 (gzio_mod_CFLAGS): Likewise.
29767
29768 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
29769 (pkgdata_MODULES): Added gzio.mod.
29770 (gzio_mod_SOURCES): New variable.
29771 (gzio_mod_CFLAGS): Likewise.
29772
29773 * commands/cat.c: Include grub/gzio.h.
29774 (grub_cmd_cat): Use grub_gzfile_open instead of
29775 grub_file_open.
f19dbdb7 29776
d9864ee1 29777 * commands/cmp.c: Include grub/gzio.h.
29778 (grub_cmd_cmp): Use grub_gzfile_open instead of
29779 grub_file_open.
29780
29781 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
29782 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
29783 grub_file_open.
29784 (grub_rescue_cmd_module): Likewise.
29785
fa46f4b5 297862005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29787
29788 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
29789 kern/sparc64/ieee1275/init.c because it contains _start.
29790 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
29791
e9211b5d 297922005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29793
29794 * configure.ac: Add support for sparc64 host with ieee1275
29795 firmware.
29796 * configure: Generated from configure.ac.
29797 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
29798 instead of int.
29799 (grub_ofdisk_read): Likewise.
29800 (grub_ofdisk_open): Use %p to print pointer values, and cast the
29801 pointers as (void *) to remove a warning.
29802 (grub_ofdisk_close): Likewise.
29803 (grub_ofdisk_read): Likewise.
29804 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
29805 returns, so make it return void to remove a warning.
29806 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
29807 Corresponding prototype change.
29808 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
29809 values, and cast the pointers as (void *) to remove a warning.
29810 (grub_mm_dump): Likewise.
29811 * conf/sparc64-ieee1275.mk: New file.
29812 * conf/sparc64-ieee1275.rmk: Likewise.
29813 * include/grub/sparc64/setjmp.h: Likewise.
29814 * include/grub/sparc64/types.h: Likewise.
29815 * include/grub/sparc64/ieee1275/console.h: Likewise.
29816 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29817 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29818 * include/grub/sparc64/ieee1275/time.h: Likewise.
29819 * kern/sparc64/cache.c: Likewise.
29820 * kern/sparc64/dl.c: Likewise.
29821 * kern/sparc64/ieee1275/init.c: Likewise.
29822 * kern/sparc64/ieee1275/openfw.c: Likewise.
29823
385c6a92 298242005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29825
29826 * util/console.c (grub_ncurses_putchar): If C is greater than
29827 0x7f, set C to a question mark.
29828 (grub_ncurses_getcharwidth): New function.
29829 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
29830 getcharwidth.
29831
29832 * normal/menu.c (print_entry): Made aware of Unicode. First,
29833 convert TITLE to UCS-4, and predict the cursor position by
29834 grub_getcharwidth.
29835
29836 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
29837 const to SRC.
29838 * kern/misc.c (grub_utf16_to_utf8): Likewise.
29839
16ccb8b1 298402005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29841
29842 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
29843 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29844 grub_strcat.
29845
29846 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
29847 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29848 grub_strcpy and grub_strlen. Take it into account that a space
29849 character is inserted as a delimiter.
29850
6a85ce79 298512005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29852
29853 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 29854 invalid magic in the error.
6a85ce79 29855
29856 * commands/search.c: New file.
f19dbdb7 29857
6a85ce79 29858 * util/grub-emu.c (main): Call grub_search_init and
29859 grub_search_fini.
29860
29861 * kern/rescue.c (grub_rescue_print_disks): Removed.
29862 (grub_rescue_print_devices): New function.
29863 (grub_rescue_cmd_ls): Use grub_device_iterate with
29864 grub_rescue_print_devices instead of grub_disk_dev_iterate with
29865 grub_rescue_print_disks.
29866
29867 * kern/partition.c (grub_partition_iterate): Return the result of
29868 PARTMAP->ITERATE instead of GRUB_ERRNO.
29869
29870 * kern/device.c: Include grub/partition.h.
29871 (grub_device_iterate): New function.
29872
29873 * include/grub/partition.h (grub_partition_iterate): Return int
29874 instead of grub_err_t.
29875
29876 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
29877 prototype.
29878 [GRUB_UTIL] (grub_search_fini): Likewise.
29879
29880 * include/grub/device.h (grub_device_iterate): New prototype.
29881
29882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29883 commands/search.c.
29884 (pkgdata_MODULES): Added search.mod.
29885 (search_mod_SOURCES): New variable.
29886 (search_mod_CFLAGS): Likewise.
29887
29888 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
29889 (pkgdata_MODULES): Added search.mod.
29890 (search_mod_SOURCES): New variable.
29891 (search_mod_CFLAGS): Likewise.
29892
29893 * commands/ls.c (grub_ls_list_disks): Renamed to ...
29894 (grub_ls_list_devices): ... this, and use grub_device_iterate.
29895 All callers changed.
29896
29897 * DISTLIST: Added commands/search.c.
29898
ef095434 298992005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29900
29901 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
29902 conversion.
29903 (grub_getcharwidth): New function.
29904
29905 * kern/misc.c (grub_utf8_to_ucs4): New function.
29906
29907 * include/grub/term.h (struct grub_term): Added a new member
29908 "getcharwidth".
29909 (grub_getcharwidth): New prototype.
29910
29911 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
29912
29913 * term/i386/pc/console.c (map_char): New function. Segregated from
29914 grub_console_putchar.
29915 (grub_console_putchar): Use map_char.
29916 (grub_console_getcharwidth): New function.
29917 (grub_console_term): Specified grub_console_getcharwidth as
29918 getcharwidth.
29919
29920 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
29921 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
29922
29923 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
29924 GRUB_ERRNO.
29925 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
29926 on grub_strtoul completely.
29927 (write_char): Declare local variables in the beginning of the
29928 function.
29929 (grub_vesafb_getcharwidth): New function.
29930 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
29931 getcharwidth.
29932
1f0a95e4 299332005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
29934
29935 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
29936 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
29937 commands/i386/pc/vbetest.c.
29938
29939 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
29940 call grub_vbe_get_controller_info again, because the returned
29941 information is volatile.
29942 (grub_vbe_set_video_mode): Mostly rewritten.
29943 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
29944 grub_vbe_status_t correctly.
29945 (grub_vbe_get_video_mode_info): Likewise.
29946 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
29947 several if statements.
29948
29949 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
29950 * commands/i386/pc/vbeinfo.c: ... this.
29951
29952 * commands/i386/pc/vbe_test.c: Renamed to ...
29953 * commands/i386/pc/vbetest.c: ... this.
29954
29955 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
29956 ...
29957 (grub_cmd_vbeinfo): ... this. Save video modes before
29958 iterating. Skip a video mode, if it is not available, not enough
29959 information is given or it is monochrome. Show the memory
29960 model. Leave the interpretation of MODEVAR to grub_strtoul
29961 completely.
29962 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
29963 (GRUB_MOD_FINI): Likewise.
29964
29965 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
29966 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
29967 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
29968 duplicated grub_env_get. Leave the interpretation of MODEVAR to
29969 grub_strtoul completely.
29970 (real2pm): Removed.
29971 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
29972 (GRUB_MOD_FINI): Likewise.
29973
29974 * normal/misc.c: Include grub/mm.h.
29975
29976 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
29977 vbe_list_modes with vbetest.mod and vbeinfo.mod.
29978 (vbe_list_modes_mod_SOURCES): Removed.
29979 (vbe_list_modes_mod_CFLAGS): Likewise.
29980 (vbe_test_mod_SOURCES): Likewise.
29981 (vbe_test_mod_CFLAGS): Likewise.
29982 (vbeinfo_mod_SOURCES): New variable.
29983 (vbeinfo_mod_CFLAGS): Likewise.
29984 (vbetest_mod_SOURCES): Likewise.
29985 (vbetest_mod_CFLAGS): Likewise.
29986
992ffbbe 299872005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
29988
29989 * normal/misc.c: New file.
29990
29991 * DISTLIST: Added normal/misc.c.
f19dbdb7 29992
992ffbbe 29993 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
29994 DISK to HOOK. Call HOOK with DISK.
29995 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29996 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29997 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29998
29999 * normal/menu_entry.c (struct screen): Added a new member
30000 "completion_shown".
30001 (completion_buffer): New global variable.
30002 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
30003 (store_completion): New function.
30004 (complete): Likewise.
30005 (clear_completions): Likewise.
30006 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
30007 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
30008 a tab, call complete.
30009
30010 * normal/completion.c (disk_dev): Removed.
30011 (print_simple_completion): Likewise.
30012 (print_partition_completion): Likewise.
30013 (print_func): New global variable.
30014 (add_completion): Do not take the arguments WHAT or PRINT any
30015 longer. Added a new argument TYPE. Instead of printing directly,
30016 call PRINT_FUNC if not NULL.
30017 All callers changed.
30018 (complete_device): Use a local variable DEV instead of
30019 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
30020 (grub_normal_do_completion): Take a new argument HOOK. Do not
30021 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
30022 empty string, return NULL instead.
30023 All callers changed.
30024
30025 * normal/cmdline.c (print_completion): New function.
30026
30027 * kern/partition.c (grub_partition_iterate): Add an argument DISK
30028 to HOOK.
30029 All callers changed.
30030
30031 * kern/disk.c (grub_print_partinfo): Removed.
30032
30033 * include/grub/partition.h (struct grub_partition_map): Add a new
30034 argument DISK into HOOK of ITERATE.
30035 (grub_partition_iterate): Add a new argument DISK to HOOK.
30036
30037 * include/grub/normal.h (enum grub_completion_type): New enum.
30038 (grub_completion_type_t): New type.
30039 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
30040 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
30041 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
30042 (GRUB_COMPLETION_TYPE_FILE): Likewise.
30043 (grub_normal_do_completion): Added a new argument HOOK.
30044 (grub_normal_print_device_info): New prototype.
30045
30046 * include/grub/disk.h (grub_print_partinfo): Removed.
30047
30048 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
30049 (normal_mod_SOURCES): Likewise.
30050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30051 (normal_mod_SOURCES): Likewise.
30052
30053 * commands/ls.c (grub_ls_list_disks): Use
30054 grub_normal_print_device_info instead of grub_print_partinfo. Free
30055 PNAME.
30056 (grub_ls_list_files): Use grub_normal_print_device_info instead of
30057 duplicating the code.
30058
0bd41162 300592005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30060
30061 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 30062 follow GCS more precisely.
30063 * commands/i386/pc/vbe_test.c: Likewise.
30064 * include/grub/i386/pc/vbe.h: Likewise.
30065 * term/i386/pc/vesafb.c: Likewise.
30066 * video/i386/pc/vbe.c: Likewise.
0bd41162 30067
6323696a 300682005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30069
30070 * DISTLIST: Added term/i386/pc/vesafb.c
30071 DISTLIST: Added video/i386/pc/vbe.c
30072 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
30073 DISTLIST: Added commands/i386/pc/vbe_test.c.
30074 * commands/i386/pc/vbe_list_modes.c: New file.
30075 * commands/i386/pc/vbe_test.c: Likewise.
30076 * term/i386/pc/vesafb.c: Likewise.
30077 * video/i386/pc/vbe.c: Likewise.
30078 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
30079 (grub_vbe_probe) Added prototype.
30080 (grub_vbe_set_video_mode) Likewise.
30081 (grub_vbe_get_video_mode) Likewise.
30082 (grub_vbe_get_video_mode_info) Likewise.
30083 (grub_vbe_set_pixel_rgb) Likewise.
30084 (grub_vbe_set_pixel_index) Likewise.
30085 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
30086 (pkgdata_MODULES): Added vesafb.mod.
30087 (pkgdata_MODULES): Added vbe_list_modes.mod.
30088 (pkgdata_MODULES): Added vbe_test.mod.
30089 (vbe_mod_SOURCES): Added.
30090 (vbe_mod_CFLAGS): Likewise.
30091 (vesafb_mod_SOURCES): Likewise.
30092 (vesafb_mod_CFLAGS): Likewise.
30093 (vbe_list_modes_mod_SOURCES): Likewise.
30094 (vbe_list_modes_mod_CFLAGS): Likewise.
30095 (vbe_test_mod_SOURCES): Likewise.
30096 (vbe_test_mod_CFLAGS): Likewise.
30097
0a74e62f 300982005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
30099
0a74e62f 30100 * normal/command.c (grub_command_execute): If INTERACTIVE is
30101 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
30102 CMDLINE. Disable the pager if INTERACTIVE is true.
30103 All callers are changed.
30104
30105 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
30106 before reading a config file.
30107 * normal/main.c (read_config_file): Even if a command is not
30108 found, register it if it is within an entry.
30109
30110 * util/grub-emu.c: Include sys/types.h and unistd.h.
30111 (options): Added --hold.
30112 (struct arguments): Added a new member "hold".
30113 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
30114 missing.
30115 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
30116 cleared by a debugger, if it is not zero.
30117
30118 * include/grub/normal.h (grub_command_execute): Add an argument
30119 INTERACTIVE.
30120
e51f85ae 301212005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
30122
30123 * DISTLIST: Added include/grub/i386/pc/vbe.h.
30124
e9c6f39b 301252005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
30126
30127 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
30128 program with another one, because the old one didn't detect a bug
30129 in gcc-3.4. Always use regparm 2, because the new test is still
30130 not enough for gcc-4.0. Someone must investigate a simple test
30131 case which detects a bug in gcc-4.0.
30132
8de3495c 301332005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
30134
30135 * DISTLIST: Added normal/completion.c.
30136
30137 * normal/completion.c: New file.
f19dbdb7 30138
8de3495c 30139 * term/i386/pc/console.c (grub_console_getwh): New function.
30140 (grub_console_term): Assign grub_console_getwh to getwh.
30141
30142 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
30143 function is defined in normal/completion.c as
30144 grub_normal_do_completion.
30145 (grub_cmdline_get): Use grub_normal_do_completion instead of
30146 grub_tab_complete.
30147
30148 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
30149 returns non-zero, otherwise return 0.
30150 (grub_partition_iterate): First, probe the partition map. Then,
30151 call ITERATE only for this partition map.
30152
30153 * kern/misc.c (grub_strncmp): Rewritten.
30154
30155 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
30156 returns non-zero. Otherwise return 0.
30157
30158 * include/grub/partition.h (grub_partition_map_iterate): Return
30159 int instead of void.
30160
30161 * include/grub/normal.h (grub_normal_do_completion): New prototype.
30162
30163 * include/grub/misc.h (grub_strncmp): Change the type of N to
30164 grub_size_t.
30165
30166 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
30167 of void.
30168
30169 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 30170 unsigned explicitly before comparing it with I.
8de3495c 30171
30172 * kern/main.c (grub_env_write_root): Add the attribute unused into
30173 VAR.
30174
30175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30176 normal/completion.c.
30177 (normal_mod_SOURCES): Likewise.
30178 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30179 (normal_mod_SOURCES): Likewise.
30180
30181 * normal/command.c (grub_iterate_commands): If ITERATE returns
30182 non-zero, return one immediately.
30183
e85e144b 301842005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
30185
30186 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
30187 * kern/i386/pc/startup.S: Updated Global Descriptor table's
30188 descriptions.
30189 (grub_vbe_get_controller_info): New function.
30190 (grub_vbe_get_mode_info): Likewise.
30191 (grub_vbe_set_mode): Likewise.
30192 (grub_vbe_get_mode): Likewise.
30193 (grub_vbe_set_memory_window): Likewise.
30194 (grub_vbe_get_memory_window): Likewise.
30195 (grub_vbe_set_scanline_length): Likewise.
30196 (grub_vbe_get_scanline_length): Likewise.
30197 (grub_vbe_set_display_start): Likewise.
30198 (grub_vbe_get_display_start): Likewise.
30199 (grub_vbe_set_palette_data): Likewise.
30200 * include/grub/i386/pc/vbe.h: New file.
30201
c46153d2 302022005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30203
30204 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30205 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
30206 * DISTLIST: Likewise.
30207 * kern/ieee1275/of.c: Moved to ...
30208 * kern/ieee1275/ieee1275.c: ... here.
30209
0cb90c45 302102005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30211
30212 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
30213 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
30214 Pass 0 as `end' parameter to grub_strtoul().
30215
a19fb360 302162005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30217
30218 * include/grub/powerpc/ieee1275/console.h: Do not include
30219 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
30220 ifdef.
30221 (grub_console_cur_color): Remove i386-specific prototype.
30222 (grub_console_real_putchar): Likewise.
30223 (grub_console_checkkey): Likewise.
30224 (grub_console_getkey): Likewise.
30225 (grub_console_getxy): Likewise.
30226 (grub_console_gotoxy): Likewise.
30227 (grub_console_cls): Likewise.
30228 (grub_console_setcursor): Likewise.
30229 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
30230 Include <grub/machine/console.h>.
30231 * term/ieee1275/ofconsole.c: Likewise.
30232
4ac9bd04 302332005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
30234
30235 * Makefile.in (LIBLZO): New variable.
30236
30237 * configure.ac: Check for LZO version 2.
30238
30239 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
30240 lzo/lzo1x.h instead of lzo1x.h.
30241
30242 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
30243 of -llzo.
30244
30245 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
30246 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
30247
30248 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
30249 copying the data from PARTITION to P.
30250
f4917dfd 302512005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30252
30253 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
30254 negative, unload the module.
30255
30256 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
30257 map is "pc_partition_map" but not "pc".
30258 (usage): Fix the description. The options are --boot-image and
30259 --core-image but not --boot-file or --core-file.
30260 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
30261 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
30262 DEFAULT_DIRECTORY.
30263
30264 * util/i386/pc/grub-install.in: Do not specify --boot-file or
30265 --core-file. Specify INSTALL_DEVICE as an argument.
30266
30267 * util/console.c: Include config.h.
30268 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
30269 [HAVE_NCURSES_H]: Include ncurses.h.
30270 [HAVE_CURSES_H]: Include curses.h.
30271 [!A_NORMAL] (A_NORMAL): Defined as zero.
30272 [!A_STANDOUT] (A_STANDOUT): Likewise.
30273
30274 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
30275 -lncurses.
30276 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
30277
30278 * configure.ac: Check for curses libraries and headers.
30279
30280 * Makefile.in (LIBCURSES): New variable.
30281
30282 * genmk.rb (Script::rule): Set the executable bits.
30283
30284 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
30285 name of the PC partition map is "pc_partition_map" but not "pc".
30286
0e143073 302872005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30288
30289 * util/i386/pc/grub-install.in (grub_probefs): New variable.
30290 (modules): Likewise.
30291 (usage): Added descriptions for --modules and --grub-probefs.
30292 Handle --modules and --grub-probefs. Save the arguments in MODULES
30293 and GRUB_PROBEFS, respectively.
30294 Auto-detect a filesystem module against GRUBDIR. If the result is
30295 empty and modules are not specified explicitly, abort the
30296 installation. Add the result to MODULES.
30297
30298 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
30299 disk/powerpc/ieee1275/ofdisk.c,
30300 include/grub/powerpc/ieee1275/init.h and
30301 term/powerpc/ieee1275/ofconsole.c.
30302 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
30303 term/ieee1275/ofconsole.c.
30304
30305 * include/grub/powerpc/ieee1275/console.h: Resurrected.
30306
30307 * COPYING: Upgraded to the latest version. Only the address of the
30308 FSF office has changed.
f19dbdb7 30309
efd6e6d5 303102005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30311
30312 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30313 kern/ieee1275.c with kern/ieee1275/of.c.
30314
30315 * kern/ieee1275.c: Moved to ...
30316 * kern/ieee1275/of.c: ... here.
30317
8ceafda2 303182005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
30319
30320 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 30321 readability.
8ceafda2 30322
30323 * config.guess: Updated to the latest version from gnulib.
30324 * config.sub: Likewise.
30325 * install.sh: Likewise.
30326 * mkinstalldirs: Likewise.
30327
30328 * include/grub/console.h: Removed. This file is arch-specific. Do
30329 not put this in include/grub.
30330
30331 * include/grub/i386/pc/console.h: Resurrected.
30332
30333 * util/console.c: Include grub/machine/console.h instead of
30334 grub/console.h.
30335 * util/grub-emu.c: Likewise.
30336
267f6cd9 303372005-08-04 Marco Gerards <metgerards@student.han.nl>
30338
30339 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
30340 hardcoded value.
f19dbdb7 30341
267f6cd9 30342 From Vincent Pelletier <subdino2004@yahoo.fr>
30343 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
30344 Redefined to use grub_getwh.
30345 (grub_term): New member named getwh.
30346 (grub_getwh): New prototype.
30347 * kern/term.c (grub_getwh): New function.
30348 * term/i386/pc/console.c (grub_console_getwh): New function.
30349 (grub_console_term): New member `getwh'.
30350 * term/i386/pc/vga.c (grub_vga_getwh): New function.
30351 (grub_vga_term): New member `getwh'.
0b5abe02 30352 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 30353 grub_ssize_t.
30354 (grub_ofconsole_getw): New function.
30355 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
30356 (grub_ofconsole_term): New field named getwh and new initial
30357 value.
30358
3be7266d 303592005-08-03 Hollis Blanchard <hollis@penguinppc.org>
30360
30361 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
30362 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
30363 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
30364 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
30365 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
30366 of <grub/machine/ieee1275.h>.
30367 * commands/ieee1275/reboot.c: Likewise.
30368 * boot/powerpc/ieee1275/ieee1275.c: Move ...
30369 * kern/ieee1275.c: ... to here. All users updated. Change all
30370 parameter structs to use new type `grub_ieee1275_cell_t'.
30371 * term/powerpc/ieee1275/ofconsole.c: Move ...
30372 * term/ieee1275/ofconsole.c: ... to here. All users updated.
30373 * disk/powerpc/ieee1275/ofdisk.c: Move ...
30374 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
30375 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
30376 to return int.
30377 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
30378 Remove unused prototypes. All users updated.
30379 * include/grub/powerpc/ieee1275/console.h: Removed.
30380 * include/grub/powerpc/ieee1275/ieee1275.h: Define
30381 `grub_ieee1275_cell_t'.
30382 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
30383 Cast comparisons with -1 to the correct type.
30384 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
30385 type to match `grub_ieee1275_entry_fn'.
30386
8b5f3938 303872005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
30388
30389 * DISTLIST: Added util/i386/pc/grub-probefs.c.
30390
30391 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
30392 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
30393 partmap/sun.c.
30394 (grub_probefs_SOURCES): New variable.
30395
30396 * util/i386/pc/grub-probefs.c: New file.
30397
30398 * util/i386/pc/grub-setup.c (main): Call
30399 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
30400 grub_hfs_init and grub_jfs_init to initialize the system. Call
30401 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
30402 grub_pc_partition_map_fini to finish the system.
30403
ea409713 304042005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
30405
30406 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
30407 function.
30408 (grub_multiboot_load_elf32): Likewise.
30409 (grub_multiboot_is_elf64): Likewise.
30410 (grub_multiboot_load_elf64): Likewise.
30411 (grub_multiboot_load_elf): Likewise.
30412 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
30413 an ELF32 or ELF64 file.
30414 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
30415
30416 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
30417 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
30418 NULL before calling FS->LABEL.
30419 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
30420 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
30421 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
30422 before calling FS->LABEL.
30423
141a288b 304242005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
30425
30426 * util/i386/pc/grub-install.in (datadir): New variable.
30427 (libdir): Removed.
30428 (pkgdatadir): New variable.
30429 (pkglibdir): Removed.
30430
0d5f8a54 304312005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
30432
30433 * DISTLIST: Added util/i386/pc/grub-install.in.
30434
30435 * util/i386/pc/grub-install.in: New file.
30436
30437 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
30438 (grub_install_SOURCES): Likewise.
30439
30440 * genmk.rb: Added support for scripts.
30441 (Script): New class.
30442 (scripts): New variable.
30443
30444 * Makefile.in (install-local): Install sbin_SCRIPTS by
30445 INSTALL_SCRIPT.
30446 (uninstall): Remove sbin_SCRIPTS.
30447
30448 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
30449 device, try to get a GRUB device by
30450 grub_util_biosdisk_get_grub_dev.
30451 Free DEST_DEV.
30452
30453 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
30454 description for --device-map.
30455
5f968e1e 304562005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30457
30458 Change the semantics of variable hooks. They now return strings
30459 instead of error values.
f19dbdb7 30460
5f968e1e 30461 * util/i386/pc/grub-setup.c: Include grub/env.h.
30462 (setup): Use grub_device_set_root instead of grub_env_set.
30463
30464 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
30465 grub_env_get instead of grub_device_set_root and
30466 grub_device_get_root, respectively.
30467
30468 * kern/main.c (grub_env_write_root): New function.
30469 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
30470 grub_env_set instead of grub_device_set_root.
30471
30472 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
30473 many variables.
30474 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
30475 rather than calling ENV->WRITE_HOOK afterwards.
30476 (grub_env_get): Return the result of ENV->READ_HOOK rather than
30477 passing a pointer of a pointer.
30478 (grub_register_variable_hook): Change the types of "read_hook" and
30479 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
30480 respectively.
30481 Allocate the default empty string on the heap, because this string
30482 may be freed later.
30483
30484 * kern/device.c: Include grub/env.h.
30485 (grub_device_set_root): Removed.
30486 (grub_device_get_root): Likewise.
30487 (grub_device_open): Use grub_env_get instead of
30488 grub_device_get_root.
30489
30490 * include/grub/env.h (grub_env_read_hook_t): New type.
30491 (grub_env_write_hook_t): Likewise.
30492 (grub_env_var): Change the types of "read_hook" and "write_hook"
30493 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
30494 (grub_register_variable_hook): Likewise.
30495
30496 * include/grub/device.h (grub_device_set_root): Removed.
30497 (grub_device_set_root): Likewise.
30498
30499 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
30500 make sure that DIRNAME terminates with '/', so that
30501 grub_fat_find_dir will fail if PATH is not a directory.
30502
30503 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
30504 from DIRNAME.
30505 Use the qualifier auto for print_files and print_files_long.
30506 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
30507 as a regular file.
30508 Put a newline only if there is no error.
30509 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
30510 used.
30511
896f0afd 305122005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30513
30514 * kern/partition.c (grub_partition_probe): Initialize PART to
30515 NULL. Otherwise, when no partition map is registered, this returns
30516 a garbage.
30517
b28b81b2 305182005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
30519
30520 * partmap/apple.c (apple_partition_map_iterate): Check if POS
30521 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
30522 valid.
30523
5f3607e0 305242005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
30525
30526 * commands/ls.c (grub_ls_list_disks): Print the filesystem
30527 information on each device, if it does not have partitions. Print
30528 "Device" instead of "Disk", because this function is not specific
30529 to disk devices.
30530
30531 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
30532 static to ensure that it is put on the memory rather than a
30533 register.
30534
502c87e8 305352005-07-17 Yoshinori Okuji <okuji@enbug.org>
30536
30537 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
30538 (grub_cat_init): Likewise.
30539 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
30540 (options): Likewise.
30541 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30542 (grub_configfile_init): Likewise.
30543 * font/manager.c (GRUB_MOD_INIT): Likewise.
30544 * commands/help.c (GRUB_MOD_INIT): Likewise.
30545 (grub_help_init): Likewise.
30546 * normal/command.c (grub_command_init): Likewise.
30547 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
30548 * disk/loopback.c (grub_loop_init): Likewise.
30549 (GRUB_MOD_INIT): Likewise.
30550 * commands/ls.c (grub_ls_init): Likewise.
30551 (GRUB_MOD_INIT): Likewise.
30552 (options): Likewise.
30553 * commands/boot.c (grub_boot_init): Likewise.
30554 (GRUB_MOD_INIT): Likewise.
30555 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
30556 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
30557 (GRUB_MOD_INIT): Likewise.
30558 * commands/cmp.c (grub_cmp_init): Likewise.
30559 (GRUB_MOD_INIT): Likewise.
30560
30561 * normal/arg.c: Use <> instead of "" to include header files.
30562 (SHORT_ARG_HELP): New macro.
30563 (SHORT_ARG_USAGE): Likewise.
30564 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
30565 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
30566 descriptions.
30567 (find_short): Check if C is 'h' or 'u' explicitly.
30568 (grub_arg_show_help): Use space characters instead of tabs. Treat
30569 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
30570 are shown with --help and --usage only if they are not used for
30571 the command itself.
30572 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
30573 'h' and 'u'.
30574
30575 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
30576 const into "longarg". Change the type of "shortarg" to int.
30577
f806d18e 305782005-07-17 Yoshinori Okuji <okuji@enbug.org>
30579
30580 * boot/i386/pc/boot.S (boot_drive_check): New label.
30581
30582 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
30583 macro.
30584
30585 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
30586 which do not pass a boot drive correctly. Copied from GRUB Legacy.
30587
e293232b 305882005-07-17 Yoshinori Okuji <okuji@enbug.org>
30589
30590 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
30591 When turning off Gate A20, skip the check and return immediately,
30592 because this is not fatal usually.
30593
ebedfd00 305942005-07-17 Yoshinori Okuji <okuji@enbug.org>
30595
30596 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
30597 be 0x7C00 instead of 0x8000.
30598
30599 * boot/i386/pc/pxeboot.S: Rewritten.
30600
30601 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
30602 EXT_C.
30603 (gate_a20_check_state): Read a byte from 0x108000. Invert the
30604 result.
30605
654fc59f 306062005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
30607
30608 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
30609 robustness. This routine now supports a BIOS call and System
30610 Control Port A to modify the gate A20.
30611
30612 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30613 Increased to 0x440.
30614
09f9923f 306152005-07-12 Hollis Blanchard <hollis@penguinppc.org>
30616
30617 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
30618 device path and resulting ihandle.
30619 (grub_ofdisk_close): dprintf the ihandle being closed.
30620 (grub_ofdisk_read): dprintf function parameters.
30621 * kern/mm.c (grub_mm_init_region): Likewise.
30622 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
30623 (grub_linux_boot): dprintf the Linux entry point, initrd address and
30624 size, and boot arguments.
30625 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
30626 before loading into memory.
30627 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
30628 before loading into memory.
30629
7ef504d8 306302005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
30631
30632 * kern/mm.c: Added much documentation.
30633 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
30634 8, set to 5 instead of 8.
30635
e0f050c2 306362005-07-10 Yoshinori Okuji <okuji@enbug.org>
30637
30638 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
30639
30640 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
30641 (grub_mkdevicemap_SOURCES): New variable.
30642
30643 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
30644 lib/device.c of GRUB Legacy.
30645
7224189a 306462005-07-10 Yoshinori Okuji <okuji@enbug.org>
30647
30648 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
30649 instead of PATH is NULL.
30650
68c864eb 306512005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
30652
30653 * commands/cmp.c (BUFFER_SIZE): New macro.
30654 (grub_cmd_cmp): Close the right file at the right time. Compare
30655 only data just read. Don't report files of different size as
30656 identical. Dynamically allocate buffers. Move variable
30657 declarations at the beginning of function.
30658
e6f3e614 306592005-07-09 Yoshinori Okuji <okuji@enbug.org>
30660
30661 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
30662 reverse.
30663
f8f1559a 306642004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
30665
30666 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
30667 when backspace is pressed at beginning of line.
30668
39c9d41d 306692005-07-03 Yoshinori Okuji <okuji@enbug.org>
30670
30671 * DISTLIST: Added genfslist.sh.
30672
30673 * normal/main.c (fs_module_list): New variable.
30674 (autoload_fs_module): New function.
30675 (read_fs_list): Likewise.
30676 (grub_normal_execute): Call read_fs_list.
30677
30678 * kern/fs.c (grub_fs_autoload_hook): New variable.
30679 (grub_fs_probe): Added support for auto-loading.
30680
30681 * include/grub/normal.h (struct grub_fs_module_list): New struct.
30682 (grub_fs_module_list_t): New type.
30683
30684 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
30685 (grub_fs_autoload_hook): New prototype.
30686
30687 * genfslist.sh: New file.
f19dbdb7 30688
39c9d41d 30689 * genmk.rb: Added a rule to generate a filesystem list.
30690
121c1d83 306912005-06-30 Marco Gerards <metgerards@student.han.nl>
30692
30693 * configure.ac: Fix the test for cross-compiling.
30694
30695 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
30696 define GRUB_UTIL anymore.
30697
30698 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
30699 so this function works on other systems than just big endian.
30700 (load_modules): Likewise.
30701 (add_segments): Likewise.
30702
e75d76e1 307032005-06-23 Hollis Blanchard <hollis@penguinppc.org>
30704
30705 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
30706 contains `l' modifier, get a long from va_arg().
30707
50b5a0a7 307082005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
30709
30710 * kern/mm.c (grub_free): If the next free block which is being
30711 merged is the first free block, set the first block to the block
30712 being freed.
30713 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
30714
89371b20 307152005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30716
30717 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
30718 `grub_ieee1275_chosen'.
30719
168d6e58 307202005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30721
30722 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
30723 (grub_ieee1275_chosen): New variable.
30724 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
30725 `chosen'.
30726 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
30727 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30728 Rename first argument to `phandle' for consistency.
30729 (grub_ieee1275_get_property_length): Likewise.
30730 (grub_ieee1275_next_property): Likewise. Change type of first argument
30731 to grub_ieee1275_phandle_t.
30732 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
30733 Move export next to declaration.
30734 (grub_ieee1275_chosen): New variable.
30735 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
30736 Correct cosmetic typo.
30737 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
30738 `grub_ieee1275_chosen'.
30739 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
30740 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
30741 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
30742 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
30743 `grub_ieee1275_chosen'.
30744
ca5baa3f 307452005-05-10 Hollis Blanchard <hollis@penguinppc.org>
30746
30747 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
30748 /chosen/bootargs.
30749 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
30750 /chosen/bootargs as "variable=value" pairs.
30751
708b345f 307522005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
30753
30754 * include/grub/misc.h (grub_dprintf): New macro.
30755 (grub_real_dprintf): New prototype.
30756 (grub_strword): Likewise.
30757 (grub_iswordseparator): Likewise.
30758 * kern/misc.c (grub_real_dprintf): New function.
30759 (grub_strword): Likewise.
30760 (grub_iswordseparator): Likewise.
30761
f4c5e67c 307622005-04-30 Hollis Blanchard <hollis@penguinppc.org>
30763
30764 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
30765 (roundup): Remove macro.
30766 (grub_ieee1275_flags): Make static.
30767 (grub_ieee1275_realmode): Remove.
30768 (grub_ieee1275_test_flag): New function.
30769 (grub_ieee1275_set_flag): Likewise.
30770 (find_options): Rename to `grub_ieee1275_find_options'; update
30771 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
30772 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
30773 (cmain): New prototype.
30774 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
30775 `grub_ieee1275_flags' directly.
30776 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
30777 machine/biosdisk.h.
30778 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
30779 Don't include grub/machine/init.h.
30780 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
30781 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
30782 Remove prototype.
30783 (grub_ieee1275_realmode): Likewise.
30784 (grub_ieee1275_flag): New enum.
30785 (grub_ieee1275_test_flag): New prototype.
30786 (grub_ieee1275_set_flag): New prototype.
30787 * include/grub/powerpc/ieee1275/init.h: Remove file.
30788 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
30789 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
30790 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
30791 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
30792 comment.
30793 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
30794 `grub_ieee1275_test_flag'.
30795 (grub_ieee1275_encode_devname): Likewise.
30796
ed16607e 307972005-04-21 Hollis Blanchard <hollis@penguinppc.org>
30798
30799 * include/grub/powerpc/ieee1275/ieee1275.h
30800 (grub_ieee1275_encode_devname): New prototype.
30801 (grub_ieee1275_get_filename): Likewise.
30802 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
30803 function.
30804 (grub_set_prefix): Likewise.
30805 (grub_machine_init): Call grub_set_prefix.
30806 * kern/powerpc/ieee1275/openfw.c: Fix typos.
30807 (grub_parse_type): New enum.
30808 (grub_ieee1275_get_devargs): New function.
30809 (grub_ieee1275_get_devname): Likewise.
30810 (grub_ieee1275_parse_args): Likewise.
30811 (grub_ieee1275_get_filename): Likewise.
30812 (grub_ieee1275_encode_devname): Likewise.
30813
be369920 308142005-03-30 Marco Gerards <metgerards@student.han.nl>
30815
30816 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
30817 `grub_loader_unset'.
30818
a5ce3a4a 308192005-03-26 Hollis Blanchard <hollis@penguinppc.org>
30820
30821 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
30822 instead of grub_ieee1275_interpret.
30823 (grub_halt_init): New function.
30824 (grub_halt_fini): Likewise.
30825 (GRUB_MOD_INIT): Correct message grammar.
30826 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
30827 instead of grub_ieee1275_interpret.
30828 (grub_reboot_init): New function.
30829 (grub_reboot_fini): Likewise.
30830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
30831 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
30832 util/i386/pc/misc.c with commands/ieee1275/halt.c,
30833 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
30834 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
30835 function.
30836 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
30837 Add prototype.
30838 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
30839 prototype.
30840 (grub_halt): Likewise.
30841 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
30842 (cmain): Remove __attribute__((unused)).
30843 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
30844 (grub_heap_len): Likewise.
30845 (grub_machine_fini): New function.
30846 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
30847 (grub_halt): Likewise.
30848 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
30849 function.
30850 * util/powerpc/ieee1275/misc.c: New file.
30851
0058f771 308522005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30853
30854 * DISTLIST: New file.
30855 * gendistlist.sh: Likewise.
f19dbdb7 30856
0058f771 30857 * Makefile.in (COMMON_DISTFILES): Removed.
30858 (BOOT_DISTFILES): Likewise.
30859 (CONF_DISTFILES): Likewise.
30860 (DISK_DISTFILES): Likewise.
30861 (FS_DISTFILES): Likewise.
30862 (INCLUDE_DISTFILES): Likewise.
30863 (KERN_DISTFILES): Likewise.
30864 (LOADER_DISTFILES): Likewise.
30865 (TERM_DISTFILES): Likewise.
30866 (UTIL_DISTFILES): Likewise.
30867 (DISTFILES): Likewise.
30868 (uninstall): Uninstall files in $(pkgdata_DATA).
30869 (DISTLIST): New target.
30870 (distdir): Use the contents of the file DISTLIST to get a list of
30871 distributed files.
30872
46b3b8a5 308732005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30874
30875 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
30876 descriptor. This is ported from GRUB Legacy.
30877
30878 * gencmdlist.sh: Added an extra semicolon to make it work with
30879 old sed versions. Reported by Robert Bihlmeyer
30880 <robbe@orcus.priv.at>.
30881
5822ff87 308822005-03-08 Yoshinori Okuji <okuji@enbug.org>
30883
30884 Automatic loading of commands is supported.
f19dbdb7 30885
5822ff87 30886 * normal/main.c (read_command_list): New function.
30887 (grub_normal_execute): Call read_command_list.
30888
30889 * normal/command.c (grub_register_command): Return zero or CMD.
30890 Allocate CMD->NAME from the heap.
30891 Initialize CMD->MODULE_NAME to zero.
30892 Find the same name as well. If the same command is found and it is
30893 a dummy command, overwrite members. If it is not a dummy command,
30894 return zero.
30895 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
30896 (grub_command_find): If a dummy command is found, load a module
30897 and retry to find a command only once.
30898
30899 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
30900 make sure that each command is loaded.
30901
30902 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
30903 macro.
30904 (struct grub_command): Remove const from the member `name'.
30905 Add a new member `module_name'.
30906 (grub_register_command): Return grub_command_t.
30907
30908 * commands/help.c (grub_cmd_help): Call grub_command_find to make
30909 sure that each command is loaded.
30910
30911 * genmk.rb (PModule::rule): Specify a module name without the
30912 suffix ".mod" to gencmdlist.sh.
30913
7b1f4b57 309142005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30915
30916 * gencmdlist.sh: New file.
f19dbdb7 30917
7b1f4b57 30918 * genmk.rb (PModule::rule): Generate a rule for a command list.
30919 Clean command.lst.
30920 Generate command.lst from $(COMMANDFILES).
30921
30922 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
30923 (DATA): Added $(pkgdata_DATA).
30924 (install-local): Install files in $(pkgdata_DATA).
30925
062aaf39 309262005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30927
30928 * term/i386/pc/vga.c (debug_command): Removed.
30929 (GRUB_MOD_INIT): Do not register the command "debug".
30930
30931 From Hollis Blanchard:
30932 * commands/configfile.c: New file.
30933 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30934 commands/configfile.c.
30935 (pkgdata_MODULES): Added configfile.mod.
30936 (configfile_mod_SOURCES): New variable.
30937 (configfile_mod_CFLAGS): Likewise.
30938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30939 commands/configfile.c.
30940 (pkgdata_MODULES): Added configfile.mod.
30941 (configfile_mod_SOURCES): New variable.
30942 (configfile_mod_CFLAGS): Likewise.
30943 * util/grub-emu.c (main): Call grub_configfile_init and
30944 grub_configfile_fini.
30945 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
30946 prototype.
30947 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 30948
cee01aa6 309492005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30950
30951 * normal/arg.c (grub_arg_show_help): Do not show the bug report
30952 address.
30953
30954 * commands/help.c (grub_cmd_help): Do not print newlines after
30955 the last command in print_command_help.
30956
93f3a1d8 309572005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30958
30959 * commands/default.h: New file.
30960 * commands/timeout.h: Likewise.
30961 * normal/context.c: Likewise.
f19dbdb7 30962
93f3a1d8 30963 * util/misc.c: Do not include sys/times.h.
30964 Include sys/time.h and grub/machine/time.h.
30965 (grub_get_rtc): Rewritten with gettimeofday.
30966
30967 * util/grub-emu.c (main): Call grub_default_init and
30968 grub_timeout_init before grub_normal_init, and call
30969 grub_timeout_fini and grub_default_fini after grub_main.
30970
30971 * util/console.c (grub_ncurses_checkkey): Return the read
30972 character or -1.
30973
30974 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
30975 timeouts.
30976
30977 * normal/main.c (read_config_file): Push MENU. If this fails,
30978 print an error and wait for a user input.
30979 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
30980 If a menu is empty or an error occurs, pop MENU.
30981 (grub_normal_execute): Pop and free MENU after grub_menu_run
30982 returns.
30983
30984 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
30985
30986 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
30987 include time.h.
30988 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30989 without GRUB_UTIL.
30990 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
30991 time.h.
30992 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30993 without GRUB_UTIL.
30994
30995 * include/grub/normal.h (struct grub_menu_list): New struct.
30996 (grub_menu_list_t): New type.
30997 (struct grub_context): New struct.
30998 (grub_context_t): New type.
30999 (grub_register_command): Got rid of EXPORT_FUNC.
31000 (grub_unregister_command): Likewise.
31001 (grub_context_get): New prototype.
31002 (grub_context_get_current_menu): Likewise.
31003 (grub_context_push_menu): Likewise.
31004 (grub_context_pop_menu): Likewise.
31005 [GRUB_UTIL] (grub_default_init): Likewise.
31006 [GRUB_UTIL] (grub_default_fini): Likewise.
31007 [GRUB_UTIL] (grub_timeout_init): Likewise.
31008 [GRUB_UTIL] (grub_timeout_fini): Likewise.
31009
31010 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
31011 commands/timeout.c and normal/context.c.
31012 (pkgdata_MODULES): Added default.mod and timeout.mod.
31013 (normal_mod_SOURCES): Added normal/context.c.
31014 (default_mod_SOURCES): New variable.
31015 (default_mod_CFLAGS): Likewise.
31016 (timeout_mod_SOURCES): Likewise.
31017 (timeout_mod_CFLAGS): Likewise.
31018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
31019 conf/i386-pc.rmk.
31020 (pkgdata_MODULES): Added default.mod and timeout.mod.
31021 (normal_mod_SOURCES): Added normal/context.c.
31022 (default_mod_SOURCES): New variable.
31023 (default_mod_CFLAGS): Likewise.
31024 (timeout_mod_SOURCES): Likewise.
31025 (timeout_mod_CFLAGS): Likewise.
31026
31027 * Makefile.in (all-local): Added $(MKFILES).
31028
4ed2e1dd 310292005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
31030
31031 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
31032 (grub_emu_SOURCES): Likewise.
31033 (pkgdata_MODULES): Add `sun.mod'.
31034 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31036 `partmap/sun.c'.
31037 (pkgdata_MODULES): Add `sun.mod'.
31038 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31039 * include/grub/partition.h (grub_sun_partition_map_init): New
31040 prototype.
31041 (grub_sun_partition_map_fini): Likewise.
31042 * partmap/sun.c: New file.
31043 * util/grub-emu.c (main): Initialize and de-initialize the sun
31044 partitionmap support.
31045
4d4e372e 310462005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
31047
31048 This implements an Emacs-like menu entry editor.
f19dbdb7 31049
4d4e372e 31050 * normal/menu_entry.c: New file.
f19dbdb7 31051
4d4e372e 31052 * util/console.c (grub_ncurses_putchar): Translate some Unicode
31053 characters to ASCII.
31054 (saved_char): New variable.
31055 (grub_ncurses_checkkey): Rewritten completely.
31056 (grub_ncurses_getkey): Likewise.
31057 (grub_ncurses_init): Call raw instead of cbreak.
31058
31059 * normal/menu.c (print_entry): Do not put a space.
31060 (init_page): Renamed to ...
31061 (grub_menu_init_page): ... this. All callers changed.
31062 (edit_menu_entry): Removed.
31063 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
31064
31065 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
31066
31067 * kern/misc.c (grub_vprintf): Call grub_refresh.
31068
31069 * normal/menu.c (DISP_LEFT): Renamed to ...
31070 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
31071 * normal/menu.c (DISP_UP): Renamed to ...
31072 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
31073 * normal/menu.c (DISP_RIGHT): Renamed to ...
31074 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
31075 * normal/menu.c (DISP_DOWN): Renamed to ...
31076 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
31077 * normal/menu.c (DISP_HLINE): Renamed to ...
31078 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
31079 * normal/menu.c (DISP_VLINE): Renamed to ...
31080 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
31081 * normal/menu.c (DISP_UL): Renamed to ...
31082 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
31083 * normal/menu.c (DISP_UR): Renamed to ...
31084 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
31085 * normal/menu.c (DISP_LL): Renamed to ...
31086 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
31087 * normal/menu.c (DISP_LR): Renamed to ...
31088 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
31089 * normal/menu.c (TERM_WIDTH): Renamed to ...
31090 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
31091 * normal/menu.c (TERM_HEIGHT): Renamed to ...
31092 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
31093 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
31094 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
31095 * normal/menu.c (TERM_MARGIN): Renamed to ...
31096 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
31097 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
31098 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
31099 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
31100 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
31101 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
31102 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
31103 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
31104 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
31105 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
31106 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
31107 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
31108 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
31109 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
31110 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
31111 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
31112 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
31113 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
31114 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
31115 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
31116 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
31117 All callers changed.
31118
31119 * include/grub/normal.h: New prototype.
31120
31121 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31122 normal/menu_entry.c.
31123 (normal_mod_SOURCES): Likewise.
31124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31125 (normal_mod_SOURCES): Likewise.
31126
e6b92c8a 311272005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
31128
31129 * include/grub/normal.h (grub_halt_init): New prototype.
31130 (grub_halt_fini): Likewise.
31131 (grub_reboot_init): Likewise.
31132 (grub_reboot_fini): Likewise.
31133
31134 * util/grub-emu.c: Include signal.h.
31135 (main_env): New global variable.
31136 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
31137 catch C-c.
31138 (grub_machine_fini): New function.
31139 (main): Call grub_halt_init and grub_reboot_init before
31140 grub_main, and grub_reboot_fini and grub_halt_fini after it.
31141 Call setjmp with MAIN_ENV to go back afterwards.
31142 Call grub_machine_fini right before return.
31143
31144 * include/grub/util/misc.h: Include setjmp.h.
31145 (main_env): New prototype.
31146
31147 * include/grub/kernel.h (grub_machine_fini): New prototype.
31148 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
31149 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
31150
31151 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
31152 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
31153 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 31154
e6b92c8a 31155 * util/i386/pc/misc.c: New file.
f19dbdb7 31156
e6b92c8a 31157 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31158 util/i386/pc/misc.c, commands/i386/pc/halt.c and
31159 commands/i386/pc/reboot.c.
31160
c642636f 311612005-02-14 Guillem Jover <guillem@hadrons.org>
31162
31163 * include/grub/dl.h (grub_dl_check_header): New prototype.
31164 (grub_arch_dl_check_header): Change return type to grub_err_t,
31165 remove size parameter and export function. Update all callers.
31166 * kern/dl.c (grub_dl_check_header): New function.
31167 (grub_dl_load_core): Use `grub_dl_check_header' instead of
31168 `grub_arch_dl_check_header'. Check ELF type. Check if sections
31169 are inside the core.
31170 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
31171 independent ELF header checks.
31172 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31173 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
31174 `grub_dl_check_header' instead of explicit checks. Check for the
31175 ELF type.
31176 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
31177 `grub_dl_check_header' instead of explicit checks. Remove arch
31178 specific ELF header checks.
31179
e6b92c8a 31180 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
31181 argument SIZE.
31182
5eabe94b 311832005-02-13 Hollis Blanchard <hollis@penguinppc.org>
31184
31185 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
31186 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
31187
1b14a681 311882005-02-12 Hollis Blanchard <hollis@penguinppc.org>
31189
31190 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 31191 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 31192 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 31193 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 31194 * partmap/amiga.c (amiga_partition_map_iterate): Return
31195 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
31196 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31197
aca108aa 311982005-02-01 Guillem Jover <guillem@hadrons.org>
31199
31200 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
31201 help info.
31202
c9f9c556 312032005-01-31 Marco Gerards <metgerards@student.han.nl>
31204
31205 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
31206 Removed prototype.
31207 (grub_rescue_cmd_linux): New prototype.
31208 (grub_rescue_cmd_initrd): Likewise.
31209 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
31210 `bi_rec'.
31211 (grub_linux_release_mem): Release the memory for the initrd.
31212 (grub_load_linux): Renamed from this...
31213 (grub_rescue_cmd_linux): ...To this. Changed all callers.
31214 Changed `entry' not to be static. Loop over memory regions to
31215 find another one when the default fails.
31216 (grub_rescue_cmd_initrd): New function.
31217 (grub_linux_init): Remove function.
31218 (grub_linux_fini): Likewise.
31219 (GRUB_MOD_INIT): Register `initrd'.
31220 (GRUB_MOD_FINI): Unregister `initrd'.
31221 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
31222 Function removed.
31223 (grub_linux_normal_fini): Likewise.
31224 (GRUB_MOD_INIT): Register `initrd'.
31225 (GRUB_MOD_FINI): Unregister `initrd'.
31226
990cf3aa 312272005-01-31 Marco Gerards <metgerards@student.han.nl>
31228
31229 * commands/help.c: New file.
31230 * normal/arg.c (show_help): Renamed to...
31231 (grub_arg_show_help): ... this.
31232 * commands/i386/pc/halt.c: New file.
31233 * commands/i386/pc/reboot.c: Likewise.
31234 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
31235 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
31236 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
31237 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
31238 variables.
31239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31240 `commands/help.c'.
31241 (pkgdata_MODULES): Add `help.mod'.
31242 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
31243 * grub/i386/pc/init.h (grub_reboot): New prototype.
31244 (grub_halt): Likewise.
31245 * include/grub/normal.h (grub_arg_show_help): New prototype.
31246 (grub_help_init): Likewise.
31247 (grub_help_fini): Likewise.
31248 * util/grub-emu.c (main): Initialize and deinitialize the help
31249 command.
31250
31251 * normal/cmdline.c (grub_cmdline_get): Doc fix.
31252
31253 * normal/command.c (grub_command_init): Fixed the description of
31254 the `set' and `unset' commands.
31255
312562005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 31257
31258 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
31259 function.
31260 * commands/ieee1275/halt.c: New file.
31261 * commands/ieee1275/reboot.c: Likewise.
31262 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
31263 `__attribute__ ((unused))'. Some GCS related fixed.
31264 (grub_suspend_init) [GRUB_UTIL]: Function removed.
31265 (grub_suspend_fini): Likewise.
31266 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
31267 and `halt.mod'.
31268 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
31269 (halt_mod_CFLAGS): New variables.
31270 * include/grub/powerpc/ieee1275/ieee1275.h
31271 (grub_ieee1275_interpret): New prototype.
31272
1ab09cc7 312732005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
31274
31275 * include/grub/misc.h (memmove): New prototype.
31276 (memcpy): Likewise.
31277
8b8cbdb2 312782005-01-22 Hollis Blanchard <hollis@penguinppc.org>
31279
31280 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
31281 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
31282
e3741a27 312832005-01-22 Marco Gerards <metgerards@student.han.nl>
31284
31285 * kern/misc.c (grub_strndup): Function rewritten.
31286
776bd780 312872005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
31288
31289 * normal/menu.c (TERM_WIDTH): Macro redefined.
31290 (TERM_TOP_BORDER_Y): Likewise.
31291 (draw_border): Replaced while-loop by a for-loop. Make the number
31292 of lines consistent with the number of lines displayed in
31293 print_entries. Added a margin below the rectangle.
31294 (print_entry): Make the entry fit in the rectangle.
31295 (print_entries): Display the scroll arrows next to the right
31296 border.
31297
78026bce 312982005-01-21 Marco Gerards <metgerards@student.han.nl>
31299
31300 * fs/minix.c (grub_minix_find_file): Reserve more space for
31301 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
31302 `grub_strncpy' to copy `path' into it.
31303
67bbaf0f 313042005-01-21 Marco Gerards <metgerards@student.han.nl>
31305
31306 Add the loopback device, a device via which files can be accessed
31307 as devices.
f19dbdb7 31308
67bbaf0f 31309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
31310 (pkgdata_MODULES): Add loopback.mod.
31311 (loopback_mod_SOURCES): New variable.
31312 (loopback_mod_CFLAGS): Likewise.
31313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31314 `disk/loopback.c'.
31315 (pkgdata_MODULES): Add loopback.mod.
31316 (loopback_mod_SOURCES): New variable.
31317 (loopback_mod_CFLAGS): Likewise.
31318 * disk/loopback.c: new file.
31319 * include/grub/normal.h (grub_loop_init): New prototype.
31320 (grub_loop_fini): New prototype.
31321 * util/grub-emu.c (main): Initialize and de-initialize loopback
31322 support.
31323 * include/grub/disk.h (grub_disk_dev_id): Add
31324 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
31325
6f1c18bd 313262005-01-20 Hollis Blanchard <hollis@penguinppc.org>
31327
31328 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
31329 function.
31330 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
31331 (suspend_mod_SOURCES): New variable.
31332 (suspend_mod_CFLAGS): Likewise.
31333 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
31334 New prototype.
31335 * commands/ieee1275/suspend.c: New file.
31336
b38551da 313372005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31338
31339 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 31340 ((unused))' to `__attribute__ ((used))'.
b38551da 31341 (GRUB_MOD_FINI): Likewise.
31342 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
31343 * genmk.rb (PModule): Assign space to common symbols when linking
31344 modules.
31345
777aff39 313462005-01-20 Marco Gerards <metgerards@student.han.nl>
31347
31348 * include/grub/mm.h (grub_mm_init_region): Change the type of the
31349 `unsigned' arguments to `grub_size_t'.
31350 (grub_malloc): Likewise.
31351 (grub_realloc): Likewise.
31352 (grub_memalign): Likewise.
31353 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
31354 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31355 * util/misc.c (grub_malloc): Likewise.
31356 (grub_realloc): Likewise.
31357 * kern/mm.c (get_header_from_pointer): Change the casts to
31358 `unsigned' into a cast to `grub_size_t'.
31359
31360 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
31361 point to `currnode' when `currnode' is changed.
31362
31363 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
31364 Schottelius <nico-linux@schottelius.org>.
31365
d0ff18e1 313662005-01-09 Hollis Blanchard <hollis@penguinppc.org>
31367
31368 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
31369 (note_path): Remove variable.
31370 (GRUB_IEEE1275_NOTE_NAME): New macro.
31371 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
31372 (grub_ieee1275_note_hdr): New structure.
31373 (grub_ieee1275_note_desc): Likewise.
31374 (grub_ieee1275_note): Likewise.
31375 (load_note): Remove `dir' argument. All callers updated. Remove
31376 `note_img' and `path'. Do not load a file from `note_path'.
31377 Initialize a struct grub_ieee1275_note and write that to `out'.
31378 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
31379
4ca7004c 313802005-01-05 Marco Gerards <metgerards@student.han.nl>
31381
31382 * util/misc.c (grub_util_read_image): Revert last change. It
31383 called `grub_util_read_at', which seeks from the beginning of the
31384 file.
31385
0b412211 313862005-01-04 Hollis Blanchard <hollis@penguinppc.org>
31387
31388 * TODO: Add note about endianness in grub-mkimage.
31389 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
31390 section.
31391 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
31392 (grub_mkimage_SOURCES): New target.
31393 * include/grub/kernel.h (grub_start_addr): Remove variable.
31394 (grub_end_addr): Likewise.
31395 (grub_total_module_size): Likewise.
31396 (grub_kernel_image_size): Likewise.
31397 (GRUB_MODULE_MAGIC): New constant.
31398 (grub_module_info): New structure.
31399 (grub_arch_modules_addr): New prototype.
31400 (grub_get_end_addr): Remove prototype.
31401 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
31402 * include/grub/powerpc/ieee1275/kernel.h: New file.
31403 * include/grub/util/misc.h (grub_util_get_fp_size): New
31404 prototype.
31405 (grub_util_read_at): Likewise.
31406 (grub_util_write_image_at): Likewise.
31407 * kern/main.c (grub_get_end_addr): Remove function.
31408 (grub_load_modules): Call grub_arch_modules_addr instead of using
31409 grub_end_addr. Look for a grub_module_info struct in memory. Use
31410 the grub_module_info fields instead of calling grub_get_end_addr
31411 as loop conditions. Move grub_add_unused_region code here.
31412 (grub_add_unused_region): Remove function.
31413 * kern/i386/pc/init.c: Include grub/cache.h.
31414 (grub_machine_init): Remove call to grub_get_end_addr. Remove
31415 one call to add_mem_region.
31416 (grub_arch_modules_addr): New function.
31417 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
31418 (grub_total_module_size): Likewise.
31419 Include grub/machine/kernel.h.
31420 (grub_arch_modules_addr): New function.
31421 * util/grub-emu.c (grub_end_addr): Remove variable.
31422 (grub_total_module_size): Likewise.
31423 (grub_arch_modules_addr): New function.
31424 * util/misc.c: Include unistd.h.
31425 (grub_util_get_fp_size): New function.
31426 (grub_util_read_at): Likewise.
31427 (grub_util_write_image_at): Likewise.
31428 (grub_util_read_image): Call grub_util_read_at.
31429 (grub_util_write_image): Call grub_util_write_image_at.
31430 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
31431 additional memory in kernel_img for a struct grub_module_info.
31432 Fill in that grub_module_info.
31433 * util/powerpc/ieee1275/grub-mkimage.c: New file.
31434
458786f8 314352005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31436
31437 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
31438 New function.
31439 * include/grub/powerpc/ieee1275/ieee1275.h
31440 (grub_ieee1275_milliseconds): New prototype.
31441 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
31442 Change to 1000.
31443 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
31444 grub_ieee1275_milliseconds.
31445
ac507d1b 314462005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31447
31448 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
31449 variable.
31450 (find_options): New function.
31451 (cmain): Call find_options.
31452 * include/grub/powerpc/ieee1275/ieee1275.h
31453 (grub_ieee1275_realmode): New extern variable.
31454 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
31455 grub_map if grub_ieee1275_realmode is false.
31456
6b8fd1c4 314572004-12-29 Marco Gerards <metgerards@student.han.nl>
31458
31459 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
31460 lines are inserted and make it work like readline. Reported by
31461 Vincent Pelletier <subdino2004@yahoo.fr>.
31462
8514a1e0 314632004-12-28 Marco Gerards <metgerards@student.han.nl>
31464
31465 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
31466
31467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
31468 `kern/powerpc/cache.S'.
31469
924b6140 314702004-12-27 Marco Gerards <metgerards@student.han.nl>
31471
31472 * genmk.rb: Handle the `Program' class in the main loop. Written
31473 by Johan Rydberg <jrydberg@gnu.org>.
31474 (Program): New class.
31475 (programs): New variable.
31476 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
31477 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
31478 instead of "grub/kernel.h". Include <grub/machine/init.h>.
31479 (help_arch): Function removed.
31480 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
31481 `powerpc/libgcc.h' and `loader.h'.
31482 (pkgdata_PROGRAMS): New variable.
31483 (sbin_UTILITIES): Variable removed.
31484 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
31485 (grubof_SOURCES): Variable re-defined so it only includes the
31486 core functionality.
31487 (grubof_CFLAGS): Remove `-DGRUBOF'.
31488 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
31489 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
31490 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
31491 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
31492 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
31493 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
31494 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
31495 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
31496 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
31497 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
31498 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31499 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
31500 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
31501 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
31502 (pc_mod_CFLAGS): New variables.
31503 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
31504 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
31505 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
31506 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
31507 Moved from here...
31508 * include/grub/i386/pc/init.h (grub_os_area_addr)
31509 (rub_os_area_size): ... to here.
31510 * include/grub/powerpc/ieee1275/ieee1275.h
31511 (grub_ieee1275_entry_fn): Export symbol.
31512 * include/grub/powerpc/ieee1275/init.h: New file.
31513 * include/grub/powerpc/libgcc.h: Likewise.
31514 * include/grub/cache.h: Likewise.
31515 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
31516 <hollis@penguinppc.org>.
31517 * kern/dl.c: Include <grub/cache.h>.
31518 (grub_dl_flush_cache): New function.
31519 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
31520 for this module.
31521 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
31522 (grub_console_init): Removed prototypes.
31523 (grub_machine_init): Don't initialize the modules anymore.
31524 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
31525 static.
31526 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
31527 Macro undef removed.
31528 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
31529 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
31530 relocation `R_PPC_REL32'. Return an error when the relocation is
31531 unknown.
31532 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
31533 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
31534 * util/misc.c (grub_arch_sync_caches): Likewise.
31535
e4b47e0c 315362004-12-19 Marco Gerards <metgerards@student.han.nl>
31537
31538 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
31539 `symlist.c', add `grubof_symlist.c'.
31540 (symlist.c): Variable removed.
31541 (grubof_HEADERS): Variable added.
31542 (grubof_symlist.c): New target.
31543 (kernel_syms.lst): Use `grubof_HEADERS' instead of
31544 `kernel_img_HEADERS'.
31545 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
31546 * kern/powerpc/dl.c: New file.
31547 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
31548 Function removed.
31549 (grub_arch_dl_relocate_symbols): Likewise.
31550 (grub_register_exported_symbols): Likewise.
31551
4ceb3636 315522004-12-13 Marco Gerards <metgerards@student.han.nl>
31553
31554 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
31555 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
31556 to fail instead. Reported by Vincent Pelletier
31557 <subdino2004@yahoo.fr>.
31558
31559 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
31560 it is not allocated. Reported by Vincent Pelletier
31561 <subdino2004@yahoo.fr>.
31562
31563 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
31564 output so the output looks better.
f19dbdb7 31565
3f1578fe 315662004-12-04 Marco Gerards <metgerards@student.han.nl>
31567
31568 Modulize the partition map support and add support for the amiga
31569 partition map.
f19dbdb7 31570
3f1578fe 31571 * commands/ls.c: Include <grub/partition.h> instead of
31572 <grub/machine/partition.h>.
31573 * kern/disk.c: Likewise.
31574 * kern/rescue.c: Likewise.
31575 * loader/i386/pc/chainloader.c: Likewise.
31576 * normal/cmdline.c: Likewise.
31577 * kern/powerpc/ieee1275/init.c: Likewise.
31578 (grub_machine_init): Call `grub_pc_partition_map_init',
31579 `grub_amiga_partition_map_init' and
31580 `grub_apple_partition_map_init'.
31581 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
31582 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
31583 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
31584 `partition.h' and `pc_partition.h'.
31585 (grub_setup_SOURCES): Remove
31586 `disk/i386/pc/partition.c'. Add `kern/partition.c',
31587 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31588 (grub_emu_SOURCES): Likewise.
31589 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
31590 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
31591 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
31592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31593 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
31594 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31595 (grubof_SOURCES): Likewise.
31596 * disk/i386/pc/partition.c: File removed.
31597 * disk/powerpc/ieee1275/partition.c: Likewise.
31598 * include/grub/powerpc/ieee1275/partition.h: Likewise.
31599 * include/grub/i386/pc/partition.h: Likewise.
31600 * kern/partition.c: New file.
31601 * partmap/amiga.c: Likewise.
31602 * partmap/apple.c: Likewise.
31603 * partmap/pc.c: Likewise.
31604 * include/grub/partition.h: Likewise..
31605 * include/grub/pc_partition.h: Likewise.
31606 * util/grub-emu.c: Include <grub/partition.h> instead of
31607 <grub/machine/partition.h>.
31608 (main): Call `grub_pc_partition_map_init',
31609 `grub_amiga_partition_map_init' and
31610 `grub_apple_partition_map_init' and deinitialize afterwards.
31611 * util/i386/pc/biosdisk.c: Include `#include
31612 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31613 `<grub/machine/partition.h>'.
31614 * util/i386/pc/grub-setup.c: Likewise.
31615 * util/i386/pc/biosdisk.c: Likewise.
31616 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
31617 partition information in case of a PC partition.
31618 * util/i386/pc/grub-setup.c: Include `#include
31619 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31620 `<grub/machine/partition.h>'.
31621 (setup): Only access the PC specific partition information in case
31622 of a PC partition.
31623
0ef4ced9 316242004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31625
0ef4ced9 31626 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
31627 (grub_longjmp): Likewise.
31628 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
31629 20.
31630 * normal/powerpc/setjmp.S: New file.
31631 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31632 `normal/powerpc/setjmp.S'.
31633 (grubof_CFLAGS): Add `-DGRUBOF'.
31634 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
31635 [GRUB_UTIL && !GRUBOF].
f19dbdb7 31636
19950e29 316372004-11-16 Marco Gerards <metgerards@student.han.nl>
31638
31639 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
31640 property named `name'. Correctly handle the error returned by
31641 `grub_ieee1275_finddevice' if a device can not be opened.
31642
a2fea427 316432004-11-02 Hollis Blanchard <hollis@penguinppc.org>
31644
31645 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
31646 `actual' for negativity.
31647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31648 kern/fshelp.c.
31649
41ea0ea3 316502004-11-01 Marco Gerards <metgerards@student.han.nl>
31651
31652 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
31653 (PAGE_OFFSET): New macro.
31654 (CRTC_ADDR_PORT): Likewise.
31655 (CRTC_DATA_PORT): Likewise.
31656 (START_ADDR_HIGH_REGISTER): Likewise.
31657 (START_ADDR_LOW_REGISTER): Likewise.
31658 (GRAPHICS_ADDR_PORT): Likewise.
31659 (GRAPHICS_DATA_PORT): Likewise.
31660 (READ_MAP_REGISTER): Likewise.
31661 (INPUT_STATUS1_REGISTER): Likewise.
31662 (INPUT_STATUS1_VERTR_BIT): Likewise.
31663 (page): New variable.
31664 (wait_vretrace): New function.
31665 (set_read_map): Likewise.
31666 (set_start_address): Likewise.
31667 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
31668 the right page.
31669 (check_vga_mem): Take the page into account.
31670 (write_char): Likewise.
31671 (write_cursor): Likewise.
31672 (scroll_up): Likewise. Copy the page to the page that is not
31673 shown and switch between both pages.
31674 (grub_vga_putchar): Fix off by one error.
31675 (grub_vga_cls): Wait for the vertical retrace. Take the page into
31676 account.
31677
ad0bd20b 316782004-11-01 Marco Gerards <metgerards@student.han.nl>
31679
31680 Add support for iso9660 (including rockridge).
f19dbdb7 31681
ad0bd20b 31682 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31683 (iso9660_mod_SOURCES): New variable.
31684 (iso9660_mod_CFLAGS): Likewise.
31685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31686 * include/grub/fs.h (grub_iso9660_init): New prototype.
31687 * util/grub-emu.c (main): Call `grub_iso9660_init'.
31688 * fs/iso9660.c: New file.
31689
31690 * include/grub/misc.h (grub_strncat): New prototype.
31691 * kern/misc.c (grub_strncat): New function.
f19dbdb7 31692
ad0bd20b 31693 * fs/hfs.c (grub_hfs_mount): Translate the error
31694 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
31695 * fs/jfs.c (grub_jfs_mount): Likewise.
31696 * fs/ufs.c (grub_ufs_mount): Likewise.
31697
a5477a59 316982004-10-28 Hollis Blanchard <hollis@penguinppc.org>
31699
31700 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
31701 which initialized BAT registers.
31702 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
31703 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31704 Move from here...
31705 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
31706 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31707 ... to here.
31708 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
31709 (grub_mapclaim): Likewise.
31710 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
31711 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
31712 hand.
31713
9304c1f8 317142004-10-19 Hollis Blanchard <hollis@penguinppc.org>
31715
31716 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
31717 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
31718 -ffreestanding and -msoft-float.
31719
86f4ae25 317202004-10-15 Hollis Blanchard <hollis@penguinppc.org>
31721
31722 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
31723 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
31724 set in grub_ieee1275_flags.
31725
38912228 317262004-10-14 Hollis Blanchard <hollis@penguinppc.org>
31727
31728 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
31729 prototype.
31730 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
31731 grub_console_init first.
31732 Change the memory range used for grub_ieee1275_claim and
31733 grub_mm_init_region.
31734 Print an error message if the claim fails.
31735 Include <grub/misc.h>.
31736
d1923dc8 317372004-10-13 Hollis Blanchard <hollis@penguinppc.org>
31738
31739 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
31740 Call grub_children_iterate for device nodes of type `scsi',
31741 `ide', or `ata'.
31742 (grub_ofdisk_open): Remove manual device alias resolution.
31743 Fix memory leak when device cannot be opened.
f19dbdb7 31744 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 31745 (grub_children_iterate): New prototype.
31746 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
31747 New function.
31748 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31749 Return -1 if args.size was -1.
31750
4512e4f3 317512004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31752
31753 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
31754 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
31755 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
31756 Open Firmware's memory for it; claim memory from _start to _end.
31757 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
31758 (_end): New extern.
31759 (_start): Zero BSS from __bss_start to _end.
31760 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31761 New extern.
31762 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
31763
4d61feb0 317642004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31765
ad0bd20b 31766 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
31767 -1 if args.base was -1.
4d61feb0 31768
026fa2f9 317692004-10-08 Hollis Blanchard <hollis@penguinppc.org>
31770
31771 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
31772 escape sequence instead of a literal ^L. Also call
31773 grub_ofconsole_gotoxy.
31774
9f2220ef 317752004-10-03 Hollis Blanchard <hollis@penguinppc.org>
31776
31777 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
31778 void * arguments to grub_addr_t. All callers updated. Also make
31779 the `result' argument optional.
31780 (grub_ieee1275_release): change void * arguments to grub_addr_t.
31781 All callers updated.
31782
8a572cd7 317832004-09-22 Hollis Blanchard <hollis@penguinppc.org>
31784
31785 * commands/ls.c (grub_ls_list_files): Use the string following the
31786 initial ')', if present, as the filesystem path.
31787 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
31788
31789 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
31790
18aa81f2 317912004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
31792
31793 Make the source code of the menu interface more readable.
f19dbdb7 31794
18aa81f2 31795 * normal/menu.c: Include grub/mm.h.
31796 (TERM_WIDTH): New macro.
31797 (TERM_HEIGHT): Likewise.
31798 (TERM_INFO_HEIGHT): Likewise.
31799 (TERM_MARGIN): Likewise.
31800 (TERM_SCROLL_WIDTH): Likewise.
31801 (TERM_TOP_BORDER_Y): Likewise.
31802 (TERM_LEFT_BORDER_X): Likewise.
31803 (TERM_BORDER_WIDTH): Likewise.
31804 (TERM_MESSAGE_HEIGHT): Likewise.
31805 (TERM_BORDER_HEIGHT): Likewise.
31806 (TERM_NUM_ENTRIES): Likewise.
31807 (TERM_FIRST_ENTRY_Y): Likewise.
31808 (TERM_ENTRY_WIDTH): Likewise.
31809 (TERM_CURSOR_X): Likewise.
31810 (draw_border): Use macros instead of magic numbers.
31811 (print_entry): Likewise.
31812 (print_entries): Likewise.
31813 (run_menu): Likewise. Also, handle the key 'e'.
31814 (run_menu_entry): Ignore empty command lines.
31815 (print_message): Added a new argument EDIT. If EDIT is true,
31816 print a different message.
31817 (init_page): Likewise.
31818 (edit_menu_entry): New function. Not implemented yet.
31819
b47efe30 318202004-09-17 Marco Gerards <metgerards@student.han.nl>
31821
31822 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
31823 can be loaded from normal mode.
f19dbdb7 31824
b47efe30 31825 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
31826 `multiboot.mod'.
31827 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
31828 (multiboot_mod_CFLAGS): New variables.
31829 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 31830 * loader/i386/pc/multiboot_normal.c: Likewise.
31831
b47efe30 31832 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
31833 attribute `unused'.
f19dbdb7 31834
b47efe30 31835 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
31836 `fdiro' to read the mode information from instead of `diro'.
31837
31838 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
31839 looking up a symlink.
31840
31841 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
31842 macro.
31843 * normal/command.c (grub_command_execute): Don't parse the
31844 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
31845 flags of the command.
31846
31847 * normal/menu.c (grub_menu_run): Fix typo.
31848
da75ac71 318492004-09-14 Hollis Blanchard <hollis@penguinppc.org>
31850
31851 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
31852
31853 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
31854 `y + 1' instead of `y - 1'.
31855
31856 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 31857
062b24c2 318582004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
31859
31860 From Hollis Blanchard <hollis@penguinppc.org>:
31861 * kern/misc.c (memmove): New alias for grub_memmove.
31862 (memcmp): New alias for grub_memcmp.
31863 (memset): New alias for grub_memset.
f19dbdb7 31864 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 31865 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 31866 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 31867 (grub_ieee1275_get_property): Likewise.
f19dbdb7 31868
8ddad845 318692004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
31870
31871 Added normal mode command `chainloader' as module chain.mod, which
31872 depends on normal.mod and _chain.mod.
f19dbdb7 31873
8ddad845 31874 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
31875 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
31876 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
31877 Deleted prototype.
31878 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
31879 but arguments parsing moved to ...
31880 (grub_chainloader_cmd): ... here. New function.
31881 * include/grub/i386/pc/chainloader.h: New file.
31882 * loader/i386/pc/chainloader_normal.c: Likewise.
31883
2c1f4ce3 318842004-09-11 Marco Gerards <metgerards@student.han.nl>
31885
31886 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
31887 (grub_mkimage_LDFLAGS): Likewise.
31888 (grub_emu_SOURCES): Likewise.
31889 (kernel_img_HEADERS): Added fshelp.h.
31890 * fs/ext2.c: Include <grub/fshelp.h>.
31891 (FILETYPE_REG): New macro.
31892 (FILETYPE_INO_REG): Likewise.
31893 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
31894 Changed all users.
31895 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
31896 all users.
31897 (grub_fshelp_node): New struct.
31898 (grub_ext2_data): Added member `diropen'. Changed member `inode'
31899 to a pointer.
31900 (grub_ext2_get_file_block): Removed function.
31901 (grub_ext2_read_block): New function.
31902 (grub_ext2_read_file): Replaced parameter `data' by `node'.
31903 This function was written.
31904 (grub_ext2_mount): Read the root inode. Create a diropen struct.
31905 (grub_ext2_find_file): Removed function.
31906 (grub_ext2_read_symlink): New function.
31907 (grub_ext2_iterate_dir): Likewise.
31908 (grub_ext2_open): Rewritten.
31909 (grub_ext2_dir): Rewritten.
31910 * include/grub/fshelp.h: New file.
31911 * fs/fshelp.c: Likewise.
31912
3c52136a 319132004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
31914
31915 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
31916 (print_message): Add a missing newline.
31917 (run_menu): Added timeout support.
31918 (run_menu_entry): New local function.
31919 (grub_menu_run): Added support for booting.
31920
31921 * kern/loader.c (grub_loader_is_loaded): New function.
31922
31923 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
31924 (grub_get_rtc): Exported.
31925
31926 * include/grub/i386/pc/time.h: Include grub/symbol.h.
31927 (grub_get_rtc): Exported.
31928
31929 * include/grub/normal.h (struct grub_command_list): Remove
31930 constant from the member `command'.
31931
31932 * include/grub/loader.h (grub_loader_is_loaded): Declared.
31933
31934 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
31935
31936 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
31937
aa033560 319382004-08-28 Marco Gerards <metgerards@student.han.nl>
31939
31940 Add support for the JFS filesystem.
31941
31942 * fs/jfs.c: New file.
31943 * include/grub/fs.h (grub_jfs_init): New prototype.
31944 (grub_jfs_fini): New prototype.
31945 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
31946 (grub_emu_SOURCES): Likewise.
31947 (pkgdata_MODULES): Add jfs.mod.
31948 (jfs_mod_SOURCES): New variable.
31949 (jfs_mod_CFLAGS): Likewise.
31950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
31951 (grubof_SOURCES): Likewise.
31952 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
31953
31954 * fs/fat.c (grub_fat_find_dir): Convert the filename little
31955 endian to the host endian.
31956 (grub_fat_utf16_to_utf8): Move function from there...
31957 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 31958 the endianness of the source string anymore.
aa033560 31959 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
31960
94bc45af 319612004-08-24 Marco Gerards <metgerards@student.han.nl>
31962
31963 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
31964 (grub_boot_fini) [GRUB_UTIL]: Likewise.
31965 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
31966 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 31967
94bc45af 31968 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
31969 (grub_hfs_iterate_dir): Make the function static. Add prototypes
31970 for `node_found' and `it_dir'.
31971 (grub_hfs_dir): Add prototype for `dir_hook'.
31972
31973 * fs/minix.c (grub_minix_get_file_block): Add prototype for
31974 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
31975 and `indir32' to silence a gcc warning.
31976
31977 * include/grub/fs.h (grub_hfs_init): New prototype.
31978 (grub_hfs_fini): Likewise.
f19dbdb7 31979
31980
97543f08 319812004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31982
31983 Each disk device has its own id now. This is useful to make use
31984 of multiple disk devices.
f19dbdb7 31985
97543f08 31986 * include/grub/disk.h (grub_disk_dev_id): New enum.
31987 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
31988 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
31989
31990 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
31991 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31992
31993 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
31994 GRUB_DISK_DEVICE_OFDISK_ID as an id.
31995
31996 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
31997 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31998
31999 * include/grub/disk.h (struct grub_disk_dev): Added a new member
32000 "id" which is used by the cache manager.
32001
32002 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
32003 of just "GRUB".
32004
64372eb4 320052004-08-18 Marco Gerards <metgerards@student.han.nl>
32006
32007 * fs/hfs.c: New file.
32008 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
32009 (grub_emu_SOURCES): Likewise.
32010 (pkgdata_MODULES): Add hfs.mod.
32011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
32012 (grubof_SOURCES): Likewise.
32013 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
32014
32015 * include/grub/misc.h (grub_strncasecmp): Add prototype.
32016 * kern/misc.c (grub_strncasecmp): Add function.
32017
cc61b58f 320182004-08-14 Marco Gerards <metgerards@student.han.nl>
32019
32020 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
32021 with parentheses.
32022
32023 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
32024 (grub_ext2_dir): In case the directory entry type is unknown, read
32025 it from the inode.
32026
0ef123f6 320272004-08-02 Peter Bruin <pjbruin@dds.nl>
32028
32029 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
32030 grub_load_linux instead of grub_rescue_cmd_linux as second
32031 argument of grub_rescue_register_command.
32032
32033 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
32034
a447c5df 320352004-07-27 Marco Gerards <metgerards@student.han.nl>
32036
32037 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
32038 function.
32039 * commands/boot.c: Remove the check for `GRUB_UTIL'.
32040 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32041 `loader/powerpc/ieee1275/linux.c',
32042 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
32043 * include/grub/powerpc/ieee1275/ieee1275.h
32044 (grub_ieee1275_release): New prototype.
32045 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
32046 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
32047 normal, boot, linux and linux_normal.
32048 * loader/powerpc/ieee1275/linux.c: New file.
32049 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32050
5a9e3546 320512004-07-12 Marco Gerards <metgerards@student.han.nl>
32052
32053 * normal/arg.c (grub_arg_parse): Correct error handling after
32054 reallocating the argumentlist (check if `argl' is not null instead
32055 of checking if `args' is not null).
32056 * kern/mm.c (grub_realloc): Return the same pointer when using the
32057 same region, instead of returning the header address.
32058
e15199cb 320592004-07-11 Marco Gerards <metgerards@student.han.nl>
32060
32061 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
32062 one block instead of two when looking for the initial partition.
32063 (grub_partition_probe): Initialize the local variable `p' with 0.
32064 Use base 10 for the grub_strtoul call.
32065 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
32066 need for one local variable.
32067 (grub_strtoul): Don't add the new value to `num', instead of that
32068 just assign it.
32069
020616c2 320702004-07-11 Marco Gerards <metgerards@student.han.nl>
32071
32072 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
32073 (pxeboot_img_SOURCES): New variable.
32074 (pxeboot_img_ASFLAGS): Likewise.
32075 (pxeboot_img_LDFLAGS): Likewise.
32076 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
32077 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
32078 <lode_leroy@hotmail.com>.
32079
6c51eb64 320802004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32081
32082 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
32083 there was no input.
32084
cfb12aff 320852004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32086
32087 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
32088 the history buffer logic.
32089
6eabba74 320902004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32091
32092 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
32093 (FILETYPE_INO_SYMLINK): New macros.
32094 (grub_ext2_find_file): Check if the node is a directory using the
32095 inode stat information instead of using the filetype in the
32096 dirent. Exclude the first character of an absolute symlink.
32097 (grub_ext2_dir): Mask out the filetype part of the mode member of
32098 the inode.
32099
66e19ef8 321002004-05-24 Marco Gerards <metgerards@student.han.nl>
32101
32102 Add support for UFS version 1 and 2. Add support for the minix
32103 filesystem version 1 and 2, both the variants with 14 and 30 long
32104 filenames.
f19dbdb7 32105
66e19ef8 32106 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
32107 fs/minix.c.
32108 (grub_emu_SOURCES): Likewise.
32109 (pkgdata_MODULES): Add ufs.mod and minix.mod.
32110 (ufs_mod_SOURCES): New variable.
32111 (ufs_mod_CFLAGS): Likewise.
32112 (minix_mod_SOURCES): Likewise.
32113 (minix_mod_CFLAGS): Likewise.
32114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
32115 fs/minix.c.
32116 (grubof_SOURCES): Likewise.
32117 * fs/ufs.c: New file.
32118 * fs/minix.c: New file.
32119 * include/grub/fs.h (grub_ufs_init): New prototype.
32120 (grub_ufs_fini): Likewise.
32121 (grub_minix_init): Likewise.
32122 (grub_minix_fini): Likewise.
32123 * util/grub-emu.c (main): Initialize and deinitialize UFS and
32124 minix fs.
32125
cc2e748a 321262004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
32127
32128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
32129 commands/ls.c, commands/terminal.c, commands/boot.c,
32130 commands/cmp.c and commands/cat.c.
32131 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
32132
32133 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
32134 "env.h"
32135
4b13b216 321362004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32137
32138 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
32139 and grub_, respectively. Because the conversion is trivial and
32140 mechanical, I omit the details here. Please refer to the CVS
32141 if you need more information.
32142
6a142551 321432004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32144
32145 * include/pupa: Renamed to ...
32146 * include/grub: ... this.
32147 * util/i386/pc/pupa-mkimage.c: Renamed to ...
32148 * util/i386/pc/grub-mkimage.c: ... this.
32149 * util/i386/pc/pupa-setup.c: Renamed to ...
32150 * util/i386/pc/grub-setup.c: ... this.
32151 * util/pupa-emu.c: Renamed to ...
32152 * util/grub-emu.c: ... this.
32153
e56cdf21 321542004-03-29 Marco Gerards <metgerards@student.han.nl>
32155
32156 Add support for the newworld apple macintosh (PPC). This has been
32157 tested on the powerbook 2000 only. It only adds support for
32158 generic ieee1275 functions, console and disk support. This should
32159 be easy to port to other architectures with support for Open
32160 Firmware.
f19dbdb7 32161
e56cdf21 32162 * configure.ac: Accept the powerpc as host_cpu. In the case of
32163 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
32164 specific tests are only executed while building for the i386.
32165 Inverse test for crosscompile.
32166 * genmk.rb (Utility): Allow assembler files.
32167 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
32168 * conf/powerpc-ieee1275.rmk: New file.
32169 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
32170 * disk/powerpc/ieee1275/partition.c: Likewise.
32171 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
32172 * include/pupa/powerpc/ieee1275/console.h: Likewise.
32173 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
32174 * include/pupa/powerpc/ieee1275/time.h: Likewise.
32175 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
32176 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
32177 * include/pupa/powerpc/ieee1275/loader.h
32178 * include/pupa/powerpc/setjmp.h: Likewise.
32179 * include/pupa/powerpc/types.h: Likewise.
32180 * kern/powerpc/ieee1275/init.c: Likewise.
32181 * kern/powerpc/ieee1275/openfw.c: Likewise.
32182 * term/powerpc/ieee1275/ofconsole.c: Likewise.
32183
32184 These files were written by Johan Rydberg
32185 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 32186
e56cdf21 32187 * boot/powerpc/ieee1275/cmain.c: New file.
32188 * boot/powerpc/ieee1275/crt0.S: Likewise.
32189 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
32190 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
32191
8c8cc205 321922004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
32193
32194 * Makefile.in: Update copyright.
32195 * genmodsrc.sh: Likewise.
32196 * gensymlist.sh: Likewise.
32197 * term/i386/pc/vga.c: Indent correctly.
32198
32199 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
32200 bugreporting address.
32201 * util/i386/pc/pupa-setup.c (usage): Likewise,
32202 (main): Call pupa_ext2_init and pupa_ext2_fini.
32203
f19dbdb7 32204 * fs/fat.c (log2): Renamed to ...
8c8cc205 32205 (fat_log2): ... this.
32206 All callers changed.
32207 * kern/misc.c (memcpy): Alias to pupa_memmove.
32208 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
32209 lvalue cast.
32210 * util/console.c (pupa_ncurses_fini): Return 0.
32211
32212 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
32213 Move fail label here.
32214 [__GNU__]: Don't warn when using stat.
32215 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
32216 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
32217 long int. Use strtol instead of strtoul.
f19dbdb7 32218
db1771cf 322192004-03-14 Marco Gerards <metgerards@student.han.nl>
32220
32221 * commands/boot.c: New file.
32222 * commands/cat.c: Likewise.
32223 * commands/cmp.c: Likewise.
32224 * commands/ls.c: Likewise.
32225 * commands/terminal.c: Likewise.
32226 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
32227 (pupa_register_command): Changed interface to match the new
32228 argument parser.
32229 (pupa_command_execute): Changed (almost rewritten) so it uses
32230 pupa_split_command. Added support for setting variables using the
32231 syntax `foo=bar'.
32232 (rescue_command): Changed to work with the new argument parser.
32233 (terminal_command): Moved from here to commands/terminal.c.
32234 (set_command): New function.
32235 (unset_command): New function.
32236 (insmod_command): New function.
32237 (rmmod_command): New function.
32238 (lsmod_command): New function.
32239 (pupa_command_init): Don't initialize the command terminal
32240 anymore. Initialize the commands set, unset, insmod, rmmod and
32241 lsmod.
32242 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
32243 (kernel_img_HEADERS): Add arg.h and env.h.
32244 (pupa_mkimage_LDFLAGS): Add kern/env.c.
32245 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
32246 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
32247 normal/arg.c.
32248 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
32249 terminal.mod.
32250 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
32251 (boot_mod_SOURCES): New variable.
32252 (terminal_mod_SOURCES): Likewise.
32253 (ls_mod_SOURCES): Likewise.
32254 (cmp_mod_SOURCES): Likewise.
32255 (cat_mod_SOURCES): Likewise.
32256
32257 * normal/arg.c: New file.
32258 * kern/env.c: Likewise.
32259 * include/pupa/arg.h: Likewise.
32260 * include/pupa/env.h: Likewise.
32261 * font/manager.c (font_command): Changed to match argument parsing
32262 interface changes.
32263 (PUPA_MOD_INIT): Likewise.
32264 * hello/hello.c (pupa_cmd_hello): Likewise.
32265 (PUPA_MOD_INIT): Likewise.
32266 * include/pupa/disk.h: Include <pupa/device.h>.
32267 (pupa_print_partinfo): New prototype.
32268 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
32269 (pupa_dl_get_prefix): Likewise.
32270 * include/pupa/misc.h: Include <pupa/err.h>.
32271 (pupa_isgraph): New prototype.
32272 (pupa_isdigit): Likewise.
32273 (pupa_split_cmdline): Likewise.
32274 * include/pupa/normal.h: Include <pupa/arg.h>.
32275 (pupa_command): Changed the prototype of the member `func' to
32276 match the argument parsing interface. Added member `options'.
32277 (pupa_register_command): Updated to match function.
32278 (pupa_arg_parse): New prototype.
32279 (pupa_hello_init) [PUPA_UTIL]: New prototype.
32280 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
32281 (pupa_ls_init) [PUPA_UTIL]: Likewise.
32282 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
32283 (pupa_cat_init) [PUPA_UTIL]: Likewise.
32284 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
32285 (pupa_boot_init) [PUPA_UTIL]: Likewise.
32286 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
32287 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
32288 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
32289 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
32290 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
32291 * kern/disk.c: Include <pupa/file.h>.
32292 (pupa_print_partinfo): New function.
32293 * kern/dl.c: Include <pupa/env.h>.
32294 (pupa_dl_dir): Variable removed.
32295 (pupa_dl_load): Use the environment variable `prefix' instead of
32296 the variable pupa_dl_dir.
32297 (pupa_dl_set_prefix): Function removed.
32298 (pupa_dl_get_prefix): Likewise.
32299 * kern/i386/pc/init.c: Include <pupa/env.h>.
32300 (pupa_machine_init): Use the environment variable `prefix' instead of
32301 using pupa_dl_set_prefix to set the prefix.
32302 * kern/main.c: Include <pupa/env.h>.
32303 (pupa_set_root_dev): Use the environment variable `prefix' instead of
32304 using pupa_dl_get_prefix to get the prefix.
32305 * kern/misc.c: Include <pupa/env.h>.
32306 (pupa_isdigit): New function.
32307 (pupa_isgraph): Likewise.
32308 (pupa_ftoa): Likewise.
32309 (pupa_vsprintf): Added support for printing values of the type
32310 `double'. Make it possible to format variable output when using
32311 formatting like `%1.2%f'.
32312 (pupa_split_cmdline): New function.
32313 * kern/rescue.c: Include <pupa/env.h>.
32314 (next_word): Removed function.
32315 (pupa_rescue_cmd_prefix): Likewise.
32316 (pupa_rescue_cmd_set): New function.
32317 (pupa_rescue_cmd_unset): New function.
32318 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
32319 split the command line instead of splitting it here. Added
32320 support for setting variables using the syntax `foo=bar'. Don't
32321 initialize the prefix command anymore. Initialized the set and
32322 unset commands.
32323 * normal/cmdline.c: Include <pupa/env.h>.
32324 (pupa_tab_complete): Added prototypes for print_simple_completion,
32325 print_partition_completion, add_completion, iterate_commands,
32326 iterate_dev, iterate_part and iterate_dir. Moved code to print
32327 partition information from here to kern/disk.c.
fe6b695a 32328 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 32329 * normal/main.c: Include <pupa/env.h>.
32330 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
32331 instead of using pupa_dl_get_prefix to get the prefix.
32332 * term/i386/pc/vga.c: Include <pupa/arg.h>.
32333 (check_vga_mem): Cast pointers to `void *' to silence a gcc
32334 warning.
32335 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
32336 (pupa_vga_setcolor): Declare unused variables with `__attribute__
32337 ((unused))' to silence a gcc warning.
32338 (pupa_vga_setcolor): Likewise.
32339 (debug_command): Changed to match argument parsing
32340 interface changes.
32341 * util/pupa-emu.c: Include <pupa/env.h>.
32342 (options): Added 0's for unused fields to silence a gcc warning.
32343 (argp): Likewise.
32344 (main): Use the environment variable `prefix' instead of using
32345 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
32346 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
32347 and terminal.
32348
32349 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
32350 * util/misc.c: Include <malloc.h>.
32351 (pupa_malloc): Rewritten so errors are correctly reported.
32352 (pupa_realloc): Likewise.
32353 (pupa_memalign): Likewise.
32354 (pupa_mm_init_region): Declare unused variables with
32355 `__attribute__ ((unused))' to silence a gcc warning.
32356 * normal/i386/setjmp.S: Remove tab at the end of the file to
32357 silence a gcc warning.
32358 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
32359 variables with `__attribute__ ((unused))' to silence a gcc
32360 warning.
32361 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
32362 local variable i unsigned to silence a gcc warning.
32363
32364 * kern/term.c: Include <pupa/misc.h>.
32365 (pupa_more_lines): New variable.
32366 (pupa_more): Likewise.
32367 (pupa_putcode): When the pager is active pause at the end of every
32368 screen.
32369 (pupa_set_more): New function.
32370 * include/pupa/term.h (pupa_set_more): New prototype.
32371
32372
3b1139cb 323732004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
32374
32375 Now this project is GRUB 2 rather than PUPA. The location of
32376 the CVS repository was moved to GRUB's.
f19dbdb7 32377
3b1139cb 32378 * configure.ac: Use bug-grub as the reporting address.
32379 Use GRUB instead of PUPA.
32380 Change the version number to 1.90.
32381
8367695c 323822004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
32383
32384 * genkernsyms.sh: Updated copyright information.
32385 * genmk.rb: Likewise.
32386 * genmodsrc.sh: Likewise.
32387 * gensymlist.sh: Likewise.
32388 * boot/i386/pc/boot.S: Likewise.
32389 * boot/i386/pc/diskboot.S: Likewise.
32390 * disk/i386/pc/biosdisk.c: Likewise.
32391 * disk/i386/pc/partition.c: Likewise.
32392 * font/manager.c: Likewise.
32393 * fs/ext2.c: Likewise.
32394 * fs/fat.c: Likewise.
32395 * include/pupa/boot.h: Likewise.
32396 * include/pupa/device.h: Likewise.
32397 * include/pupa/disk.h: Likewise.
32398 * include/pupa/dl.h: Likewise.
32399 * include/pupa/elf.h: Likewise.
32400 * include/pupa/err.h: Likewise.
32401 * include/pupa/file.h: Likewise.
32402 * include/pupa/font.h: Likewise.
32403 * include/pupa/fs.h: Likewise.
32404 * include/pupa/kernel.h: Likewise.
32405 * include/pupa/loader.h: Likewise.
32406 * include/pupa/misc.h: Likewise.
32407 * include/pupa/mm.h: Likewise.
32408 * include/pupa/net.h: Likewise.
32409 * include/pupa/normal.h: Likewise.
32410 * include/pupa/rescue.h: Likewise.
32411 * include/pupa/setjmp.h: Likewise.
32412 * include/pupa/symbol.h: Likewise.
32413 * include/pupa/term.h: Likewise.
32414 * include/pupa/types.h: Likewise.
32415 * include/pupa/i386/setjmp.h: Likewise.
32416 * include/pupa/i386/types.h: Likewise.
32417 * include/pupa/i386/pc/biosdisk.h: Likewise.
32418 * include/pupa/i386/pc/boot.h: Likewise.
32419 * include/pupa/i386/pc/console.h: Likewise.
32420 * include/pupa/i386/pc/init.h: Likewise.
32421 * include/pupa/i386/pc/kernel.h: Likewise.
32422 * include/pupa/i386/pc/linux.h: Likewise.
32423 * include/pupa/i386/pc/loader.h: Likewise.
32424 * include/pupa/i386/pc/memory.h: Likewise.
32425 * include/pupa/i386/pc/multiboot.h: Likewise.
32426 * include/pupa/i386/pc/partition.h: Likewise.
32427 * include/pupa/i386/pc/time.h: Likewise.
32428 * include/pupa/i386/pc/vga.h: Likewise.
32429 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
32430 * include/pupa/util/getroot.h: Likewise.
32431 * include/pupa/util/misc.h: Likewise.
32432 * include/pupa/util/resolve.h: Likewise.
32433 * kern/device.c: Likewise.
32434 * kern/disk.c: Likewise.
32435 * kern/dl.c: Likewise.
32436 * kern/err.c: Likewise.
32437 * kern/file.c: Likewise.
32438 * kern/fs.c: Likewise.
32439 * kern/loader.c: Likewise.
32440 * kern/main.c: Likewise.
32441 * kern/misc.c: Likewise.
32442 * kern/mm.c: Likewise.
32443 * kern/rescue.c: Likewise.
32444 * kern/term.c: Likewise.
32445 * kern/i386/dl.c: Likewise.
32446 * kern/i386/pc/init.c: Likewise.
32447 * kern/i386/pc/lzo1x.S: Likewise.
32448 * kern/i386/pc/startup.S: Likewise.
32449 * loader/i386/pc/chainloader.c: Likewise.
32450 * loader/i386/pc/linux.c: Likewise.
32451 * loader/i386/pc/multiboot.c: Likewise.
32452 * normal/cmdline.c: Likewise.
32453 * normal/command.c: Likewise.
32454 * normal/main.c: Likewise.
32455 * normal/menu.c: Likewise.
32456 * normal/i386/setjmp.S: Likewise.
32457 * term/i386/pc/console.c: Likewise.
32458 * term/i386/pc/vga.c: Likewise.
32459 * util/console.c: Likewise.
32460 * util/genmoddep.c: Likewise.
32461 * util/misc.c: Likewise.
32462 * util/pupa-emu.c: Likewise.
32463 * util/resolve.c: Likewise.
32464 * util/unifont2pff.rb: Likewise.
32465 * util/i386/pc/biosdisk.c: Likewise.
32466 * util/i386/pc/getroot.c: Likewise.
32467 * util/i386/pc/pupa-mkimage.c: Likewise.
32468 * util/i386/pc/pupa-setup.c: Likewise.
32469
e6eced71 324702004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
32471
32472 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
32473 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
32474 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
32475 reading and reset it after reading.
32476 (pupa_ext2_close): Return PUPA_ERR_NONE.
32477
32478 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
32479 Correct value.
32480 (struct linux_kernel_header): Add kernel_version and
32481 initrd_addr_max.
32482 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
32483 pupa_file_read succeeds.
32484 (pupa_rescue_cmd_initrd): Implement.
32485
5aded270 324862003-12-03 Marco Gerards <metgerards@student.han.nl>
32487
32488 * fs/ext2.c (pupa_ext2_label): New function.
32489 (pupa_ext2_fs): Added label.
32490 * fs/fat.c (pupa_fat_label): New function.
32491 (pupa_fat_fs): Added label.
32492 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
32493
32494 * kern/misc.c (pupa_strndup): New function.
32495 * include/pupa/misc.h (pupa_strndup): New prototype.
32496
32497 * include/pupa/normal.h: Include <pupa/err.h>.
32498 (pupa_set_history): New prototype.
32499 (pupa_iterate_commands): New prototype.
32500 * normal/cmdline.c: Include <pupa/machine/partition.h>,
32501 <pupa/disk.h>, <pupa/file.h>.
32502 (hist_size): New variable.
32503 (hist_lines): Likewise.
32504 (hist_end): Likewise.
32505 (hist_used): Likewise.
32506 (pupa_set_history): New function.
32507 (pupa_history_get): Likewise.
32508 (pupa_history_add): Likewise.
32509 (pupa_history_replace): Likewise.
32510 (pupa_tab_complete): Likewise.
32511 (pupa_cmdline_run): Added tab completion and history buffer. Tab
32512 completion shows partitionnames while completing partitions, this
32513 feature was suggested by Jeff Bailey.
32514 * normal/command.c (pupa_iterate_commands): New function.
32515 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
32516 (pupa_normal_init): Initialize history buffer.
32517 (PUPA_MOD_INIT): Likewise.
32518 (pupa_normal_fini): Free the history buffer.
32519 (PUPA_MOD_FINI): Likewise.
32520
32521 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
32522 key.
32523
32524 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
32525 * configure.ac [i386]: Check for regparam bug.
32526 (NESTED_FUNC_ATTR) [! i386]: Defined.
32527
1f7315a3 325282003-11-17 Marco Gerards <metgerards@student.han.nl>
32529
32530 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
32531 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
32532 (pupa_emu_SOURCES): New variable.
32533 (pupa_emu_LDFLAGS): Likewise.
32534 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
32535 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
32536 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
32537 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32538 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
32539 (pupa_jmp_buf): New typedef.
32540 (pupa_setjmp) [PUPA_UTIL]: New macro.
32541 (pupa_longjmp) [PUPA_UTIL]: Likewise.
32542 * include/pupa/term.h (struct pupa_term): New member `refresh'.
32543 (pupa_refresh): New prototype.
32544 * include/pupa/util/getroot.h: New file.
32545 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
32546 it.
32547 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
32548 (pupa_rescue_cmd_cat): Likewise.
32549 (pupa_rescue_cmd_ls): Likewise.
32550 (pupa_rescue_cmd_testload): Likewise.
32551 (pupa_rescue_cmd_lsmod): Likewise.
32552 * normal/cmdline.c (pupa_cmdline_get): Likewise.
32553 * normal/menu.c (run_menu): Likewise.
32554 * kern/term.c (pupa_cls): Likewise.
32555 (pupa_refresh): New function.
32556 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
32557 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32558 * util/console.c: New file.
f19dbdb7 32559
1f7315a3 32560 * util/i386/pc/getroot.c: New file.
32561 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
32562 (pupa_putchar): New function.
32563 (pupa_refresh): Likewise.
32564 (xgetcwd): Function moved to ...
32565 (strip_extra_slashes): Likewise.
32566 (get_prefix): Likewise.
f19dbdb7 32567 * util/i386/pc/getroot.c: ... here.
1f7315a3 32568 (find_root_device): Function moved and renamed to...
32569 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
32570 Changed all callers.
32571 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
32572 and renamed to...
32573 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
32574 Changed all callers.
32575 * util/misc.c (pupa_memalign): New function.
32576 (pupa_mm_init_region): Likewise.
32577 (pupa_register_exported_symbols): Likewise.
32578 (pupa_putchar): Function removed.
32579 * util/pupa-emu.c: New file.
32580
9a5c1ade 325812003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
32582
32583 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
32584 (_multiboot_mod_SOURCES): New variable.
32585 (_multiboot_mod_CFLAGS): Likewise.
32586 * loader/i386/pc/multiboot.c: New file.
32587 * include/pupa/i386/pc/multiboot.h: Likewise.
32588 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
32589 (pupa_multiboot_real_boot): New function.
32590 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
32591 (pupa_multiboot_real_boot): New prototype.
32592 (pupa_rescue_cmd_multiboot): Likewise
32593 (pupa_rescue_cmd_module): Likewise.
32594
32595 * kern/loader.c (pupa_loader_set): Continue when
32596 pupa_loader_unload_func() fails.
32597 (pupa_loader_unset): New function.
32598 * include/pupa/loader.h (pupa_loader_unset): New prototype.
32599
32600 * kern/misc.c (pupa_stpcpy): New function.
32601 * include/pupa/misc.h (pupa_stpcpy): New prototype.
32602
8e72a9c0 326032003-11-12 Marco Gerards <metgerards@student.han.nl>
32604
32605 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
32606 for available extensions.
32607
32608 * include/pupa/i386/pc/time.h: New file.
32609 * kern/disk.c: Include <pupa/machine/time.h>.
32610 (PUPA_CACHE_TIMEOUT): New macro.
32611 (pupa_last_time): New variable.
32612 (pupa_disk_open): Flush the cache when there was a timeout.
32613 (pupa_disk_close): Reset the timer.
32614 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
32615 pupa_currticks.
32616 * util/misc.c: Include <sys/times.h>
32617 (pupa_get_rtc): New function.
32618
c4adbd32 326192003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32620
32621 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
32622 as blocks.
32623 (pupa_ext2_get_file_block): Use blocks member.
32624
32625 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
32626 first block. Return -1 instead of pupa_errno on error.
32627
bfd30f06 326282003-10-27 Marco Gerards <metgerards@student.han.nl>
32629
32630 * README: In the pupa-mkimage example use _chain instead of chain
32631 and ext2 instead of fat.
32632 * TODO: Replace ext2fs with jfs as an example. Add an item for
32633 adding journal playback for ext2fs.
32634 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
32635 (pkgdata_MODULES): Added ext2.mod.
32636 (ext2_mod_SOURCES): New variable.
32637 (ext2_mod_CFLAGS): Likewise.
32638 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
32639 * include/pupa/misc.h (pupa_strncpy): New prototype.
32640 (pupa_strcat): Likewise.
32641 (pupa_strncmp): Likewise.
32642 * kern/misc.c (pupa_strcat): Enable function.
32643 (pupa_strncpy): New function.
32644 (pupa_strncmp): Likewise.
32645 * fs/ext2.c: New file.
f19dbdb7 32646
bfd30f06 32647 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
32648 when the read failed before retrying.
32649 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
32650 (_FILE_OFFSET_BITS): Likewise.
32651 * configure.ac: Added AC_SYS_LARGEFILE.
32652
98d15063 326532003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32654
32655 * genmk.rb (PModule#rule): Make sure to get only symbol names
32656 from the output of nm.
59cad637 32657 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 32658
18d9c7cd 326592003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32660
32661 I forgot to check in these changes for a long time. This adds
32662 incomplete support for VGA console, and this is still very
32663 buggy. Also, a lot of consideration is required for I18N,
32664 UNICODE, and VGA font issues. Therefore, assume that this is
32665 such that "better than nothing".
f19dbdb7 32666
18d9c7cd 32667 * font/manager.c: New file.
32668 * include/pupa/font.h: Likewise.
32669 * include/pupa/i386/pc/vga.h: Likewise.
32670 * term/i386/pc/vga.c: Likewise.
32671 * util/unifont2pff.rb: Likewise.
32672
32673 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
32674 (pkgdata_MODULES): Added vga.mod and font.mod.
32675 (vga_mod_SOURCES): New variables.
32676 (vga_mod_CFLAGS): Likewise.
32677 (font_mod_SOURCES): Likewise.
32678 (font_mod_CFLAGS): Likewise.
32679
32680 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
32681
32682 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 32683 (struct pupa_term): Added init and fini.
18d9c7cd 32684 Changed the argument of putchar to pupa_uint32_t.
32685
32686 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
32687 (pupa_console_real_putchar): New prototype.
32688 (pupa_console_putchar): Removed.
32689 (pupa_console_checkkey): Exported.
32690 (pupa_console_getkey): Likewise.
32691
32692 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
32693 characters.
32694
32695 * kern/term.c (pupa_term_set_current): Rewritten.
32696 (pupa_putchar): Likewise.
32697 (pupa_putcode): New function.
32698
32699 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
32700 (pupa_console_real_putchar): ... this.
32701 (pupa_vga_set_mode): New function.
32702 (pupa_vga_get_font): Likewise.
32703
32704 * normal/command.c: Include pupa/term.h.
32705 (terminal_command): New function.
32706 (pupa_command_init): Register the command "terminal".
32707
32708 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
32709 (DISP_UP): Likewise.
32710 (DISP_RIGHT): Likewise.
32711 (DISP_DOWN): Likewise.
32712 (DISP_HLINE): Likewise.
32713 (DISP_VLINE): Likewise.
32714 (DISP_UL): Likewise.
32715 (DISP_UR): Likewise.
32716 (DISP_LL): Likewise.
32717 (DISP_LR): Likewise.
32718
32719 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 32720
977329f5 327212003-02-08 NIIBE Yutaka <gniibe@m17n.org>
32722
32723 * util/resolve.c (pupa_util_resolve_dependencies): BUG
32724 FIX. Reverse the path_list.
32725
32726 * include/pupa/normal.h: Export pupa_register_command and
32727 pupa_unregister_command.
32728
32729 * hello/hello.c (pupa_cmd_hello): New module.
32730 * conf/i386-pc.rmk: Added hello.mod.
32731
1f5ab428 327322003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
32733
32734 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 32735
1f5ab428 32736 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
32737 (compress_kernel): New variable.
32738 (generate_image): Heavily modified to support compressing a
32739 large part of the core image.
32740
32741 * util/misc.c (pupa_util_read_image): Fix a file descriptor
32742 leak.
32743 (pupa_util_load_image): New function.
32744
32745 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
32746 (pupa_compressed_size): New variable.
32747 (codestart): Enable Gate A20 here.
32748 Decompress the compressed part of the core image.
32749 Rearrange the code to put functions and variables which are
32750 required for initialization in the non-compressed part.
32751 Include lzo1x.S.
32752
32753 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
32754 here.
32755
32756 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
32757
f19dbdb7 32758 * include/pupa/i386/pc/kernel.h
1f5ab428 32759 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
32760 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
32761 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32762 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32763 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
32764
32765 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
32766
32767 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
32768 (Utility#rule): Likewise.
32769
32770 * configure.ac: Check if LZO is available.
32771
ce5bf700 327722003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
32773
32774 * include/pupa/normal.h: New file.
32775 * include/pupa/setjmp.h: Likewise.
32776 * include/pupa/i386/setjmp.h: Likewise.
32777 * normal/cmdline.c: Likewise.
32778 * normal/command.c: Likewise.
32779 * normal/main.c: Likewise.
32780 * normal/menu.c: Likewise.
32781 * normal/i386/setjmp.S: Likewise.
f19dbdb7 32782
ce5bf700 32783 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
32784 (pupa_rescue_cmd_initrd): Likewise.
32785
32786 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
32787 Likewise.
32788
32789 * kern/i386/pc/startup.S (translation_table): New variable.
32790 (translate_keycode): New function.
32791 (pupa_console_getkey): Call translate_keycode.
32792
32793 * kern/rescue.c (attempt_normal_mode): New function.
32794 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
32795 it failed, print a message.
32796
32797 * kern/mm.c (pupa_real_malloc): Print more information when a
32798 free magic is broken.
32799 (pupa_free): If the first free header is not free actually, set
32800 it to P.
32801
32802 * kern/main.c (pupa_load_normal_mode): Just load the module
32803 "normal".
32804 (pupa_main): Don't print the message
32805 "Entering into rescue mode..." here.
32806
32807 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
32808 Declared.
32809 (pupa_rescue_cmd_initrd): Likewise.
32810 (pupa_rescue_cmd_initrd): Likewise.
32811
32812 * include/pupa/symbol.h (FUNCTION): Specify the type.
32813 (VARIABLE): Likewise.
32814
32815 * include/pupa/err.h (pupa_err_t): Added
32816 PUPA_ERR_UNKNOWN_COMMAND.
32817
32818 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
32819 (pupa_dl_get_prefix): Likewise.
32820
32821 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
32822 Added _chain.mod and _linux.mod instead of chain.mod and
32823 linux.mod.
32824 (chain_mod_SOURCES): Renamed to ...
32825 (_chain_mod_SOURCES): ... this.
32826 (chain_mod_CFLAGS): Renamed to ...
32827 (_chain_mod_CFLAGS): ... this.
32828 (linux_mod_SOURCES): Renamed to ...
32829 (_linux_mod_SOURCES): ... this.
32830 (linux_mod_CFLAGS): Renamed to ...
32831 (_linux_mod_CFLAGS): ... this.
32832 (normal_mod_SOURCES): New variable.
32833 (normal_mod_CFLAGS): Likewise.
32834 (normal_mod_ASFLAGS): Likewise.
32835
328362003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
32837
32838 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
32839 possible.
32840
fe6b695a 32841 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 32842 recursively.
32843 (pupa_dl_unref): Unrefer depending modules recursively.
32844 Don't call pupa_dl_unload implicitly, because PUPA can crash if
32845 a module is unloaded before one depending on that module is
32846 unloaded.
32847 (pupa_dl_unload): Unload depending modules explicitly,
32848 if possible.
32849
c04da074 328502003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
32851
32852 * include/pupa/i386/pc/linux.h: New file.
32853 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 32854
c04da074 32855 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
32856 Removed.
32857 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
32858 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
32859 of PUPA_CHAINLOADER_BOOT_SECTOR.
32860
32861 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
32862 (pupa_linux_prot_size): New variable.
32863 (pupa_linux_tmp_addr): Likewise.
32864 (pupa_linux_real_addr): Likewise.
32865 (pupa_linux_boot_zimage): New function.
32866 (pupa_linux_boot_bzimage): Likewise.
32867
32868 * kern/i386/pc/init.c (struct mem_region): New structure.
32869 (MAX_REGIONS): New macro.
32870 (mem_regions): New variable.
32871 (num_regions): Likewise.
32872 (pupa_os_area_addr): Likewise.
32873 (pupa_os_area_size): Likewise.
32874 (pupa_lower_mem): Likewise.
32875 (pupa_upper_mem): Likewise.
32876 (add_mem_region): New function.
32877 (compact_mem_regions): Likewise.
32878 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
32879 the size of the conventional memory and that of so-called upper
32880 memory (before the first memory hole).
32881 Instead of adding each found region to free memory, use
32882 add_mem_region and add them after removing overlaps.
32883 Also, add only 1/4 of the upper memory to free memory. The rest
32884 is used for loading OS images. Maybe this is ad hoc, but this
32885 makes it much easier to relocate OS images when booting.
32886
32887 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
32888 (pupa_enter_rescue_mode): Don't register initrd and module.
32889
32890 * kern/mm.c: Include pupa/dl.h.
32891
32892 * kern/main.c: Include pupa/file.h and pupa/device.h.
32893
32894 * kern/loader.c (pupa_loader_load_module_func): Removed.
32895 (pupa_loader_load_module): Likewise.
32896
32897 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
32898 ``.o''.
32899
32900 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
32901 (pupa_linux_tmp_addr): Likewise.
32902 (pupa_linux_real_addr): Likewise.
32903 (pupa_linux_boot_zimage): Likewise.
32904 (pupa_linux_boot_bzimage): Likewise.
32905
32906 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
32907 (pupa_upper_mem): Likewise.
32908 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
32909 module is too dangerous.
32910
32911 * include/pupa/loader.h (pupa_os_area_addr): Declared.
32912 (pupa_os_area_size): Likewise.
32913 (pupa_loader_set): Remove the first argument. Loader doesn't
32914 manage modules or initrd any longer.
32915 (pupa_loader_load_module): Removed.
32916
32917 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
32918 (linux_mod_SOURCES): New variable.
32919 (linux_mod_CFLAGS): Likewise.
32920
a13f9237 329212003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
32922
32923 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
32924 the length of a blocklist correctly.
32925
32926 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
32927 Use ioctl only if the OS file is a block device.
32928 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
32929 not very useful for normal files.
32930
32931 * kern/main.c (pupa_set_root_dev): New function.
32932 (pupa_load_normal_mode): Likewise.
32933 (pupa_main): Call those above.
32934
32935 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
32936 pupa_uint16_t.
32937
32938 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
32939
a5ffe966 329402003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32941
32942 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
32943 (setup): Configure the installed partition information and the
32944 dl prefix.
32945
32946 * loader/i386/pc/chainloader.c (my_mod): New variable.
32947 (pupa_chainloader_unload): New function.
32948 (pupa_rescue_cmd_chainloader): Refer itself.
32949 (PUPA_MOD_INIT): Save its own module in MY_MOD.
32950
32951 * kern/i386/pc/startup.S (install_partition): Removed.
32952 (version_string): Likewise.
32953 (config_file): Likewise.
32954 (pupa_install_dos_part): New variable.
32955 (pupa_install_bsd_part): Likewise.
32956 (pupa_prefix): Likewise.
32957 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
32958
32959 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
32960 and pupa/misc.h.
32961 (make_install_device): New function.
32962 (pupa_machine_init): Set the dl prefix.
32963
32964 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
32965 (buf): Renamed to ...
32966 (linebuf): ... this.
32967 (pupa_rescue_cmd_prefix): New function.
32968 (pupa_rescue_cmd_insmod): Likewise.
32969 (pupa_rescue_cmd_rmmod): Likewise.
32970 (pupa_rescue_cmd_lsmod): Likewise.
32971 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
32972 rmmod and lsmod.
32973
32974 * kern/mm.c (pupa_memalign): If failed even after invalidating
32975 disk caches, unload unneeded modules and retry.
32976
32977 * kern/misc.c (pupa_memmove): New function.
32978 (pupa_memcpy): Removed.
32979 (pupa_strcpy): New function.
32980 (pupa_itoa): Made static.
32981
32982 * kern/dl.c (pupa_dl_iterate): New function.
32983 (pupa_dl_ref): Likewise.
32984 (pupa_dl_unref): Likewise.
32985 (pupa_dl_unload): Return if succeeded or not.
32986 (pupa_dl_unload_unneeded): New function.
32987 (pupa_dl_unload_all): Likewise.
32988 (pupa_dl_init): Renamed to ...
32989 (pupa_dl_set_prefix): ... this.
32990 (pupa_dl_get_prefix): New function.
32991
32992 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
32993 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
32994 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32995 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32996 (pupa_install_dos_part): Declared.
32997 (pupa_install_bsd_part): Likewise.
32998 (pupa_prefix): Likewise.
32999 (pupa_boot_drive): Likewise.
33000
33001 * include/pupa/types.h: Fix a typo.
33002
33003 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
33004 pupa_memmove.
33005 (pupa_memmove): Declared.
33006 (pupa_strcpy): Likewise.
33007
33008 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
33009 pupa_mod_init takes one argument, its own module.
33010 (pupa_dl_unload_unneeded): Declared.
33011 (pupa_dl_unload_all): Likewise.
33012 (pupa_dl_ref): Likewise.
33013 (pupa_dl_unref): Likewise.
33014 (pupa_dl_iterate): Likewise.
33015 (pupa_dl_init): Renamed to ...
33016 (pupa_dl_set_prefix): ... this.
33017 (pupa_dl_get_prefix): Declared.
33018
33019 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 33020 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 33021 unloaded.
33022 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
33023 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
33024
33025 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
33026 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
33027
012d7999 330282003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33029
33030 * util/i386/pc/pupa-setup.c (setup): Define the internal
33031 function find_first_partition_start at the top level, because GCC
33032 3.0.x cannot compile internal functions in deeper scopes
33033 correctly.
33034 (find_root_device): Use lstat instead of stat.
33035 Don't follow symbolic links.
33036 Fix the path-constructing code.
33037
33038 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
33039 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
33040 by a BLKGETSIZE ioctl first, because block devices don't fill
33041 the member st_mode of the structure stat on Linux.
33042 [__linux__] (linux_find_partition): Use a temporary buffer
33043 REAL_DEV for the working space. Copy it to DEV before returning.
33044 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
33045 buffer cache consistent.
33046 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
33047 strncmp. The previous value was merely wrong.
33048 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
33049
33050 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
33051 FAT size is 12. The previous value was merely wrong.
33052
33053 * kern/main.c (pupa_main): Don't split the starting message from
33054 newlines.
33055
33056 * kern/term.c (pupa_putchar): Put CR after LF instead of before
33057 LF, because BIOS goes crazy about character attributes in this
33058 case.
33059
1cc73a62 330602003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33061
33062 * include/i386/pc/util/biosdisk.h: New file.
33063 * util/i386/pc/biosdisk.c: Likewise.
33064 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 33065
1cc73a62 33066 * Makefile.in (INCLUDE_DISTFILES): Added
33067 include/pupa/i386/pc/util/biosdisk.h.
33068 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
33069 directory util/i386/pc.
33070 (install-local): Added a rule for sbin_UTILITIES.
33071 (uninstall): Likewise.
33072
33073 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
33074
33075 * util/misc.c (xrealloc): New function.
33076 (pupa_malloc): Likewise.
33077 (pupa_free): Likewise.
33078 (pupa_realloc): Likewise.
33079 (pupa_stop): Likewise.
33080 (pupa_putchar): Likewise.
33081
33082 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
33083
33084 * include/pupa/util/misc.h (xrealloc): Declared.
33085
33086 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
33087 macro.
33088 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
33089 (PUPA_BOOT_MACHINE_BPB_END): ... this.
33090
33091 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
33092 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33093
33094 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
33095 way should be implemented.
33096 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33097
33098 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
33099 the size of NAME for safety.
33100 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
33101 0x88.
33102
33103 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
33104 (pupa_setup_SOURCES): Likewise.
33105
33106 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
33107
08b70fe8 331082002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33109
33110 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
33111 bunch of pushl's from pusha, because this destroys the return
33112 value.
33113
62ddcc8f 331142002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33115
33116 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
33117 This means that any missing prototypes could be fatal. Also, you
33118 must take care when writing assembly code. See the comments at
33119 the beginning of startup.S, for more details.
f19dbdb7 33120
62ddcc8f 33121 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
33122 compilation mechanism.
33123 (pupa_chainloader_real_boot): Likewise.
33124 (pupa_biosdisk_rw_int13_extensions): Likewise.
33125 (pupa_biosdisk_rw_standard): Likewise.
33126 (pupa_biosdisk_check_int13_extensions): Likewise.
33127 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
33128 (pupa_biosdisk_get_diskinfo_standard): Likewise.
33129 (pupa_get_memsize): Likewise.
33130 (pupa_get_mmap_entry): Likewise.
33131 (pupa_console_putchar): Likewise.
33132 (pupa_console_setcursor): Likewise.
33133 (pupa_getrtsecs): Use pushl instead of push.
33134
33135 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
33136 memory instead of the stack for a mmap entry, because some
33137 BIOSes may ignore the maximum size and overflow.
33138
33139 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
33140
33141 * genmk.rb (PModule#rule): Compile automatically generated
33142 sources with module-specific CFLAGS as well as other sources.
33143
9962ed99 331442002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33145
33146 * configure.ac: Check ld.
33147 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
33148 respectively, before checking endianness and sizes.
33149
33150 * Makefile.in (LD): New variable.
f19dbdb7 33151
abdfc3c5 331522002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33153
33154 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
33155
6a161fa9 331562002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33157
33158 * Changelog: New file.
33159