]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
[grub2.git] / ChangeLog
CommitLineData
9c4cf53b
MRA
12010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2
3 * include/grub/elfload.h (grub_elf32_size): New parameter. All users updated.
4 Return maximum segments alignment.
5 (grub_elf64_size): Likewise.
6 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7 Return maximum segments alignment.
8 (grub_elf64_size): Likewise.
9 * grub-core/loader/powerpc/ieee1275/linux.c:
10 (grub_linux_claimmap_iterate): New function. Uses the "available"property
11 in the "memory" node for memory allocation for kernel in the PowerPC loader.
12 (grub_linux_load32): Correctly find linux entry point offset.
13 (grub_linux_load64): Likewise.
14
d2bf06bf
RM
152010-11-07 Robert Millan <rmh@gnu.org>
16
17 On mips-yeeloong, build with -march=loongson2f when this flag is
18 available (GCC >= 4.4).
19 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20 `-march=mips3'.
21 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22 or otherwise add -march=mips3.
23
898c99a2
BC
242010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
25
87220a68
BC
26 Suppress shell expansion on echo '*' and echo "*" like cases.
27 Reported by: Jordan Uggla.
898c99a2
BC
28
29 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
30 string arguments before shell expansion.
31 * tests/grub_cmd_echo.in: New testcases.
32
4f9b406a
RM
332010-11-07 Robert Millan <rmh@gnu.org>
34
35 * conf/mips-qemu-mips.rmk: Remove stale file from previous
36 transition.
37
80c6d25e
VS
382010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/kern/emu/hostdisk.c
41 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
42
4a1a0153
VS
432010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
46 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
47 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
48
34706ddc
VS
492010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
52
6972dea9
VS
532010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * util/grub-install.in: Replace useless recomendation to pass
56 --modules with a recomendation to report a bug.
57
9c693bd6
VS
582010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
59
60 Properly register serial terminfo.
61 Reported by: Jordan Uggla
62
63 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
64 const.
65 (grub_serial_terminfo_output_template): Likewise.
66 (grub_cmd_serial): Register "serial" with terminfo.
67 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
68 grub_serial_terminfo_output.
69
6c9e4c0c
RM
702010-11-05 Robert Millan <rmh@gnu.org>
71
72 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
73 needed).
74
b9b3839f
RM
752010-11-05 Robert Millan <rmh@gnu.org>
76
77 On Yeeloong, pass machine type information to Linux.
78
79 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
80 (LOONGSON_MACHTYPE): New macro, set to
81 "machtype=lemote-yeeloong-2f-8.9inches".
82 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
83 additional argument to Linux.
84
1a3aaff4
RM
852010-11-04 Robert Millan <rmh@gnu.org>
86
87 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
88 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
89 (its SATA disks are detected as slaveless IDE master drives on
90 kFreeBSD).
91 Reported by Carsten Aulbert.
92
a75f4f62
CW
932010-11-02 Colin Watson <cjwatson@ubuntu.com>
94
95 * util/bin2h.c (main): Fix spelling error in generated output.
96
33b4b0c6
GS
972010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
98
99 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
100
2b36fbf4
VS
1012010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
104 vga= option is supplied.
105
74aaf558
VS
1062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
109 * util/grub.d/10_kfreebsd.in: Likewise.
110 * util/grub.d/10_linux.in: Likewise.
111 * util/grub.d/20_linux_xen.in: Likewise.
112
6428dec3
VS
1132010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
116 argument as an argument to no-argument option.
117
f8729d98
VS
1182010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * util/grub.d/10_linux.in: Add missing load_video with explicit
121 GRUB_GFXPAYLOAD_LINUX.
122
89d68fa6
VS
1232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
126
3a1197cd
VS
1272010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
130 elements with invlid index.
131 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
132 * grub-core/disk/raid.c (insert_array): Automatically reallocate
133 members.
134 * include/grub/raid.h (grub_raid_member): New struct.
135 (grub_raid_array): Transform devices and start_sector into usage of
136 grub_raid_member. All users updated
137 (allocated_devs): New member.
138
71574288
VS
1392010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
142 is modified
143
8d40ec65
BC
1442010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
145
146 NetBSD build fix for getline function conflict from gnulib.
147
148 * Makefile.util.def (libgrubkern.a): New library for grub kernel
149 components that depend on gnulib headers.
150 (libgrubmods.a): Renamed from earlier libgrub.a.
151 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
152
95b9257e
VS
1532010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
156 install rather than creating a broken install.
157
26c53dc6
VS
1582010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * util/grub-setup.c (argp): Remove misleading example of installing to
161 a partition.
162
4171b3c5
VS
1632010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * util/grub-setup.c (setup): Clarify the error message.
166
18568d18
VS
1672010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
170
4f6a2e21
VS
1712010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/kern/emu/misc.c
174 (grub_make_system_path_relative_to_its_root)
175 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
176
1772010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
178
179 * grub-core/kern/emu/misc.c
180 (grub_make_system_path_relative_to_its_root): Revert r2882.
181
e138c458
VS
1822010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
185 useless field head. All users updated.
186 (free_subchunk): Correct handling of IN_REGION subchunk.
187
0cbcdf0e
CW
1882010-10-22 Colin Watson <cjwatson@ubuntu.com>
189
190 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
191 (Supported kernels): Likewise.
192
b65ea155
GS
1932010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
194
195 Make mktemp invocations portable.
196
197 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
198 exit if mktemp fails.
199 * tests/grub_script_blockarg.in: Likewise.
200 * tests/partmap_test.in: Likewise.
201 * tests/util/grub-shell-tester.in: Likewise.
202 * tests/util/grub-shell.in: Likewise.
203 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
204 * Makefile.am: Likewise, and chain shell commands with `&&'
205 instead of ';'.
206 * util/grub-mkrescue.in: Use the same explicit template as above, and
207 exit if mktemp fails.
208
05f43cdd
BC
2092010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
210
211 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
212 Linux kernel, reported by Dennis Schridde.
213
800e6a9b
SJ
2142010-10-17 Szymon Janc <szymon@janc.net.pl>
215
216 * grub-core/normal/auth.c (grub_auth_check_authentication):
217 Set-but-not-used variable removed.
218
d82df574
VS
2192010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * docs/grub.texi (GNU/Linux): Document APM unavailability with
222 32-bit linux protocol.
223
7bced458
VS
2242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
227 cursor shape for sanity.
228
5b027690
VS
2292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * docs/grub.texi (Installation): Document buggy BIOS install.
232
ba5f65cf
VS
2332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * docs/grub.texi (Installation): Indent.
236
fdf2ec9c
VS
2372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * util/grub-setup.c (setup): New parameter allow_floppy.
240 (arguments): New member allow_floppy.
241 (argp_parser): Handle --allow-floppy.
242 (main): Pass allow_floppy.
243 * util/grub-install.in: New option --allow-floppy passed though to
244 grub-setup.
245
861dfd4c
VS
2462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * util/grub-install.in: Handle partitionless disks.
249
f77a8c24
VS
2502010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * util/grub-setup.c (setup): Don't clean blocklists before readability
253 verfification.
254
27d9ee32
VS
2552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * docs/grub.texi (Installation): Document embedding zone. Remove
258 obsolete grub-install example.
259
6bdda8f8
SJ
2602010-10-16 Szymon Janc <szymon@janc.net.pl>
261
262 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
263 Set-but-not-used variable ifdef'ed.
264 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
265 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
266 variable removed.
267 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
268 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
269 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
270 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
271 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
272 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
273 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
274 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
275 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
276 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
277 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
278 Likewise.
279
e19b016b
VS
2802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
283 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
284 enum value.
285
6c8d3002
VS
2862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
289 synonym to _S5_. Needed for some DSDTs.
290
c32b51c9
VS
2912010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
292
293 Userspace ACPI parser debugging.
294
295 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
296 headers and add relevant defines. Don't include standard headers.
297 (main) [GRUB_DSDT_TEST]: New function.
298 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
299 Don't declare functions.
300
fbfbeb39
VS
3012010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
302
303 Remove dead grub_efi_mm_fini.
304
305 * grub-core/kern/efi/mm.c (allocated_page): Removed.
306 (ALLOCATED_PAGES_SIZE): Likewise.
307 (MAX_ALLOCATED_PAGES): Likewise.
308 (allocated_pages): Likewise.
309 (grub_efi_allocate_pages): Don't record allocated pages.
310 (grub_efi_free_pages): Likewise.
311 (grub_efi_mm_init): Likewise.
312 (grub_efi_mm_fini): Removed.
313
65f7ed7c
VS
3142010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
317 (grub_efi_mm_init): Take into account the memory map size increase.
318
24977b44
VS
3192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
322 (serial_hw_put): Wait based on real time rather than port reads. Don't
323 roken ports.
324 * include/grub/serial.h (grub_serial_port): New field broken.
325
1eb01cd2
RM
3262010-10-16 Robert Millan <rmh@gnu.org>
327
328 * grub-core/kern/emu/misc.c
329 (grub_make_system_path_relative_to_its_root): Fix premature return
330 when processing non-root ZFS filesystems.
5f8b440b 331 Reported by Sergio Talens-Oliag.
1eb01cd2 332
2d5fed60
RM
3332010-10-15 Robert Millan <rmh@gnu.org>
334
335 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
336 guarantee compressed ones are processed first.
337
d0f4c1ea
VS
3382010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
341 grub_efiemu_autocore.
342
d87c681f
VS
3432010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
346 rather than 0x1b.
347 (grub_console_getkey): Use correct jae opcode rather than ja.
348
219b3564
RM
3492010-10-12 Robert Millan <rmh@gnu.org>
350
351 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
352 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
353 variable. All references updated.
354
355 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
356
20c6bb7e
VS
3572010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
358
359 Correctly distinguish mdraid flavours.
360
361 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
362 (insert_array): New argument raid.
363 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
364 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
365 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
366
74baff84
VS
3672010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
370 handling of special keys.
371
3ef068df 3722010-10-02 Aleš Nesrsta <starous@volny.cz>
373
c7980ad9
VS
374 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
375 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 376
a9455194 3772010-10-02 Aleš Nesrsta <starous@volny.cz>
378
c7980ad9
VS
379 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
380 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
381 users updated.
a9455194 382 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 383 Use right endpoint when querying descriptor.
a9455194 384
441cfe65
VS
3852010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Clear out 0x80 color bit on EFI.
388 Tested by: decoder
389 Reported by: decoder and meta tech.
390
391 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
392 (grub_console_setcolorstate): Clear out 0x80 bit.
393 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
394 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
395 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
396
bf26bcc4
VS
3972010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
400 Set to "auto".
401
6e3c515d
VS
4022010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
405 mo_file after freeing.
406
e6d983ba
VS
4072010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
410
74ccb5b5
VS
4112010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
414 flags.
415
17821956
VS
4162010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
419 usage.
420
ee74fa48
VS
4212010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
422
423 Put terminfo into core on ieee1275 and yeeloong (needed for console).
424
425 * gentpl.py: New groups terminfoinkernel and terminfomodule.
426 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
427 and terminfo.h when needed.
428 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
429 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
430 (terminfo): Enable only on terminfokernel.
431 (extcmd): Likewise.
432 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
433 * include/grub/lib/arg.h: Likewise.
434 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
435 incorrect usage of ->.
436
aa438e68
VS
4372010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
440 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
441
57994012
VS
4422010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
443
444 Fix coreboot compilation.
445
446 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
447 Take VBE info into account even if only text is supported.
448 (fill_vbe_info): Take into account the case when only VGA text
449 is supported.
450 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
451 on coreboot, multiboot and qemu.
452
2a406611
VS
4532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
456 debug messages.
457 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
458
d33613fc
VS
4592010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
462 parameters.
463
44a1b432
VS
4642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
467 if they were BSD-style.
468
edde54e6
VS
4692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/boot/i386/pc/lnxboot.S: Replace
472 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
473 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
474
b65830fa
VS
4752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
476
477 Write embedding zone using Reed-Solomon.
478
479 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
480 * grub-core/Makefile.am (rs_decoder.S): New target.
481 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
482 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
483 (multiboot): Move to RS part.
484 (post_reed_solomon): New label.
485 (grub_boot_drive): Move to non-RS part since it's modified in memory
486 on boot.
487 Include rs_decoder.S.
488 * grub-core/lib/reed_solomon.c: New file.
489 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
490 New definition.
491 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
492 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
493 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
494 * include/grub/partition.h (grub_partition_map): Change prototype of
495 embed to allow returning additional sectors.
496 * include/grub/reed_solomon.h: New file.
497 * util/grub-setup.c (setup): Handle Reed-Solomon.
498
0b4b227f
CW
4992010-09-28 Colin Watson <cjwatson@ubuntu.com>
500
501 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
502 i386 and x86-64 definedness tests.
503
f772623b
YB
5042010-09-27 Yves Blusseau <blusseau@zetam.org>
505
506 Fix generation of kernel_syms.lst
507
508 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
509 ASM_PREFIX
510
8e57a6ca
RM
5112010-09-26 Robert Millan <rmh@gnu.org>
512
513 Support degraded ZFS arrays in "grub-probe -t device" resolution.
514
515 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
516 the pool is an array of devices, iterate through it and return the
517 first device that passes a stat() test (instead of blindly returning
518 the first one).
519
f9130836
RM
5202010-09-26 Robert Millan <rmh@gnu.org>
521
522 Build fixes for GNU/kFreeBSD.
523
524 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
525 to programs that require ZFS conversion.
526 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
527 kernels that don't have FLOPPY_MAJOR.
528
96510faf
BC
5292010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
530
531 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
532
449333eb
BC
5332010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
534
535 Fix grub-emu build.
536
537 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
538 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
539 mdraid09 and mdraid1x.
540
e1fd1939
CW
5412010-09-24 Colin Watson <cjwatson@ubuntu.com>
542
543 Re-enable grub-extras.
544
545 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
546 avoid confusing Automake. Run autogen only twice, once for the top
547 level and once for grub-core. Add Makefile.util.def and
548 Makefile.core.def from extra modules to the appropriate autogen
549 invocations. If Makefile.common exists in an extra module, include
550 it in both Makefile.util.am and grub-core/Makefile.core.am;
551 similarly, include any Makefile.util.common file in Makefile.util.am
552 and any Makefile.core.common file in grub-core/Makefile.core.am.
553 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
554 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
555 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
556 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
557
558 * gentpl.py (gvar_add): Turn GVARS into a set.
559 (global_variable_initializers): Sort global variables on output.
560 (vars_init): New function.
561 (first_time): Likewise.
562 (library): Ensure that non-global variable initialisations are
563 emitted before the first time we emit code for a library block.
564 Append to variables rather than setting them. Only emit
565 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
566 each conditional path.
567 (program): installdir() emits an Autogen macro, so must be passed to
568 var_add rather than gvar_add.
569 (data): Likewise.
570 (script): Likewise.
571 (rules): New function, centralising handling for different target
572 types. Set up Guile association lists for first_time and vars_init,
573 and send most output to a diversion so that variable initialisations
574 can be emitted first.
575 (module_rules): Use new rules function.
576 (kernel_rules): Likewise.
577 (image_rules): Likewise.
578 (library_rules): Likewise.
579 (program_rules): Likewise.
580 (script_rules): Likewise.
581 (data_rules): Likewise.
582
583 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
584
585 * .bzrignore: Add contrib and grub-core/contrib. Remove
586 grub-core/Makefile.gcry.am.
587
1d12cf29
YB
5882010-09-24 Yves Blusseau <blusseau@zetam.org>
589
590 * grub-core/lib/LzFind.c: Add missing include.
591 * grub-core/lib/LzmaEnc.c: Likewise.
592 * grub-core/script/lexer.c: Likewise.
593 * grub-core/script/yylex.l: Likewise.
594 * util/grub-macho2img.c: Likewise.
595 * util/grub-menulst2cfg.c: Likewise.
596 * util/grub-mklayout.c: Likewise.
597 * util/grub-mkpasswd-pbkdf2.c
598 * util/grub-mkrelpath.c: Likewise.
599 * util/resolve.c: Likewise.
600
dd363028
BC
6012010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
602
603 * Makefile.util.def (example_unit_test): Add
604 grub-core/gnulib/libgnu.a.
605
f5a109e2
GS
6062010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
607
608 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
609
6d0fa83c
VS
6102010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
611
612 Support xz compression on yeeloong.
613
614 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
615 * configure.ac: Check for LZMA.
616 * grub-core/Makefile.core.def (xz_decompress): New target.
617 (none_decompress): Likewise.
618 * grub-core/boot/decompressor/minilib.c: New file.
619 * grub-core/boot/decompressor/none.c: Likewise.
620 * grub-core/boot/decompressor/xz.c: Likewise.
621 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
622 * grub-core/kern/mips/cache_flush.S: Likewise.
623 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
624 * grub-core/kern/mips/startup.S: Move first stage to ...
625 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
626 nomacro.
627 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
628 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
629 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
630 Allocate statically.
631 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
632 Allocate statically or use scratch. Don't check CRC32.
633 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
634 Allocate statically. Don't check CRC32.
635 * include/grub/decompressor.h: New file.
636 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
637 Removed.
638 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
639 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
640 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
641 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
642 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
643 * util/grub-mkimage.c (grub_compression_t): New type.
644 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
645 (image_target_desc): New field default_compression.
646 (image_targets): Adjust yeeloong targets.
647 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
648 (compress_kernel): New parameter comp.
649 (generate_image): Likewise. Handle new compression case.
650 (options): New option --compression
651 (help): Likewise.
652 (main): Handle new option.
653
1b655af6
GS
6542010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
655
656 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
657
8f03f0b5
CW
6582010-09-22 Colin Watson <cjwatson@ubuntu.com>
659
660 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
661 typo in __i386__ conditional.
662
7835dfd3
VS
6632010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
666 include.
667
e255597e
VS
6682010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
669
6d0fa83c 670 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
671
672 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
673 new tags as supported.
674 (acpiv2_size): New function.
675 (grub_multiboot_get_mbi_size): Take new tags into account.
676 (grub_multiboot_make_mbi): Add new tags.
677 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 678
6cc14051 6792010-09-21 Aleš Nesrsta <starous@volny.cz>
680
681 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
682 Added missing configuration of USB device.
683
df7769d8
CW
6842010-09-21 Colin Watson <cjwatson@ubuntu.com>
685
686 * grub-core/normal/menu_entry.c (run): Make sure we always return
687 a value.
688
b031012d
CW
6892010-09-21 Colin Watson <cjwatson@ubuntu.com>
690
691 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
692 NumberOfPages is UINT64 according to the UEFI specification, not
693 UINTN. Fix printf format.
694
174de8f3
CW
6952010-09-21 Colin Watson <cjwatson@ubuntu.com>
696
697 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
698 `err' to grub_usb_err_t.
699 Reported and tested by: KESHAV P.R.
700
d7dbe923
CW
7012010-09-21 Colin Watson <cjwatson@ubuntu.com>
702
703 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
704 tpart non-const, so that we can assign to it. (Since this is a
705 typedef, the constness refers to the pointer rather than what it
706 points to.)
707
8d5e2af3
CW
7082010-09-21 Colin Watson <cjwatson@ubuntu.com>
709
710 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
711 $(top_srcdir)/grub-core/gnulib as well as
712 $(top_builddir)/grub-core/gnulib.
713 Reported by: KESHAV P.R.
714
5c527783
CW
7152010-09-21 Colin Watson <cjwatson@ubuntu.com>
716
717 * util/grub-install.in: Fix the bootloader ID option to be
718 consistently --bootloader-id, not --bootloader_id.
719 Reported by: KESHAV P.R.
720
d309a16e
CW
7212010-09-21 Colin Watson <cjwatson@ubuntu.com>
722
723 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
724 check hash checksum." consistently translatable.
725
b830cd16
YB
7262010-09-21 Yves Blusseau <blusseau@zetam.org>
727
728 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
729 $(top_builddir).
730
c4fe27a8
CW
7312010-09-21 Colin Watson <cjwatson@ubuntu.com>
732
733 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
734 (GRUB_MOD_INIT): Register sha1sum command.
735 (GRUB_MOD_FINI): Unregister sha1sum command.
736
a4c1d277
YB
7372010-09-21 Yves Blusseau <blusseau@zetam.org>
738
739 Keep boot and grub directory names in sync with utils scripts
740
741 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
742 * config.h.in: Add previous macros.
743 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
744 * util/grub-install.in: Use $bootdir and $grubdir variables.
745
4eff79d2
CW
7462010-09-21 Colin Watson <cjwatson@ubuntu.com>
747
748 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
749 convert partition names to disk names if the new `convert' parameter
750 is set.
751 (grub_util_biosdisk_get_grub_dev): If opening the disk device
752 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
753 disk in its own right. This can happen with Xen disk images.
754
934d7e44
YB
7552010-09-21 Yves Blusseau <blusseau@zetam.org>
756
757 * util/grub-editenv.c: Update strings to avoid warnings when generating
758 grub.pot file.
759 * util/grub-setup.c: Likewise.
934d7e44 760
df3367cc
VS
7612010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * configure.ac: Change version to 1.99~beta0.
764
77a94e98
VS
7652010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
768 Add BADRAM.
769 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
770 Likewise.
771 * include/multiboot.h: Resynced with specification.
772 * include/multiboot2.h: Likewise.
773
269004c1
CW
7742010-09-21 Colin Watson <cjwatson@ubuntu.com>
775
776 Fix po directory handling.
777
778 * configure.ac: Create po/Makefile.in rather than po/Makefile.
779 * grub-core/gnulib/Makefile.am: Import gettext module.
780 * m4/gnulib-cache.m4: Likewise.
781 * m4/gnulib-comp.m4: Likewise.
782 * m4/gettext.m4: New file, from gnulib.
783 * m4/glibc2.m4: Likewise.
784 * m4/iconv.m4: Likewise.
785 * m4/intdiv0.m4: Likewise.
786 * m4/intl.m4: Likewise.
787 * m4/intldir.m4: Likewise.
788 * m4/intlmacosx.m4: Likewise.
789 * m4/intmax.m4: Likewise.
790 * m4/inttypes-pri.m4: Likewise.
791 * m4/lcmessage.m4: Likewise.
792 * m4/lib-ld.m4: Likewise.
793 * m4/lib-link.m4: Likewise.
794 * m4/lib-prefix.m4: Likewise.
795 * m4/lock.m4: Likewise.
796 * m4/nls.m4: Likewise.
797 * m4/po.m4: Likewise.
798 * m4/printf-posix.m4: Likewise.
799 * m4/progtest.m4: Likewise.
800 * m4/threadlib.m4: Likewise.
801 * m4/uintmax_t.m4: Likewise.
802 * m4/visibility.m4: Likewise.
803 * po/Makefile.am: Remove.
804 * po/Makefile.in.in: New file, from gettext.
805 ($(DOMAIN).pot-update): Support POTFILES-shell.
806 * po/Makevars: New file.
807 * po/POTFILES-shell: Rename to ...
808 * po/POTFILES-shell.in: ... this. Update.
809 * po/POTFILES: Rename to ...
810 * po/POTFILES.in: ... this. Update.
811 * po/Rules-quot: New file, from gettext.
812 * po/boldquot.sed: Likewise.
813 * po/en@boldquot.header: Likewise.
814 * po/en@quot.header: Likewise.
815 * po/insert-header.sin: Likewise.
816 * po/quot.sed: Likewise.
817 * po/remove-potcdate.sin: Likewise.
818
3e0fa5d0
VS
8192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
822
ade9bd66
VS
8232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * util/grub.d/20_linux_xen.in: Use submenus.
826
fc55cc4c
VS
8272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
828
829 Support submenus.
830
831 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
832 parameter submenu. All users updated.
833 * grub-core/normal/main.c (free_menu): Rename to ...
834 (grub_normal_free_menu): ... this. Made global.
835 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
836 if requested.
837 * grub-core/normal/menu_entry.c (screen): New field submenu.
838 (make_screen): Set submenu.
839 (run): Open new context if requested.
840 * include/grub/menu.h (grub_menu_entry): New field submenu.
841 * include/grub/normal.h (grub_normal_free_menu): New proto.
842
600cedf7
VS
8432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
844
845 Menu entries extractor.
846
847 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
848 variants.
849 (GRUB_MOD_INIT): Register new variants.
850 (GRUB_MOD_FINI): Unregister new variants.
851 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
852 into grub_cmd_legacy_source.
853 (grub_cmd_legacy_source): Implement extractor variants.
854 (GRUB_MOD_INIT): Register new variants.
855 (GRUB_MOD_FINI): Unregister new variants.
856 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
857 as an extractor.
858 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
859 search as an extractor.
860 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
861 test as an extractor.
862 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
863 as an extractor.
864 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
865 (grub_env_new_context): New function.
866 (grub_env_context_open): Likewise.
867 (grub_env_extractor_open): Likewise.
868 (grub_env_extractor_close): Likewise.
869 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
870 grub_extractor_level.
871 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
872 * include/grub/env.h (grub_env_extractor_open): New proto.
873 (grub_env_extractor_close): Likewise.
874 * include/grub/normal.h (grub_extractor_level): New external variable.
875
7bda3a87
VS
8762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
877
878 Make cutmem accept a region specification.
879 Suggested by: Samuel Thibault
880
881 * grub-core/mmap/mmap.c (parsemem): New function.
882 (grub_cmd_cutmem): Handle new arguments.
883
2ea57f88
VS
8842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
885
886 New command cutmem.
887
888 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
889 (GRUB_MOD_INIT): Register new command.
890 (GRUB_MOD_FINI): Unregister new command.
891
74342e31
VS
8922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
893
894 Support some annoying BSD and Minix subpartitions.
895
896 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
897 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
898 Properly handle concatenation.
899 * grub-core/kern/device.c (grub_device_iterate): Likewise.
900 * grub-core/normal/completion.c (iterate_partition): Likewise.
901 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
902 contain partition. All users updated.
903 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
904 struct.
905 (grub_openbsdlabel_partition_map): Likewise.
906 (bsdlabel_partition_map_iterate): Rename to ..
907 (iterate_real): ... this. New arguments sector, freebsd and pmap.
908 (bsdlabel_partition_map_iterate): New function.
909 (netopenbsdlabel_partition_map_iterate): Likewise.
910 (netbsdlabel_partition_map_iterate): Likewise.
911 (openbsdlabel_partition_map_iterate): Likewise.
912 (GRUB_MOD_INIT): Register new partmaps.
913 (GRUB_MOD_FINI): Unregister new partmaps.
914 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
915 (grub_partition_msdos_iterate): ... this. All users updated.
916 Don't support embedding other than in a minix partition.
917 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
918 proto.
919 * include/grub/partition.h (grub_partition): New field msdostype.
920 * util/grub-install.in: Handle openbsd and netbsd types being in
921 part_bsd module.
922
1e8d555b
VS
9232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
924
925 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
926
927 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
928 * grub-core/Makefile.core.def (mdraid): Renamed to ...
929 (mdraid09): ... this.
930 (mdraid1x): New module.
931 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
932 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
933
899d8af4
VS
9342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
937 vsprintf.
938
40901acd
CW
9392010-09-20 Colin Watson <cjwatson@ubuntu.com>
940
941 * grub-core/commands/efi/lsefimmap.c: Correct header.
942 * NEWS: Update.
943
dfe3b247
CW
9442010-09-20 Colin Watson <cjwatson@ubuntu.com>
945
946 * util/grub-editenv.c (argp_parser): Don't pass translated strings
947 as printf format strings; the translations might contain '%' which
948 could cause a crash.
949 (main): Likewise.
950 * util/grub-fstest.c (argp_parser): Likewise.
951 * util/grub-setup.c (argp_parser): Likewise.
952 (main): Likewise.
953
3286a4b4
VS
9542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
955
956 Use argp in grub-fstest.
957
958 * util/grub-fstest.c: Don't include getopt.h.
959 Include argp.h.
960 (root): New variable.
961 (args_count): Likewise.
962 (nparm): Likewise.
963 (num_disks): Likewise.
964 (images): Likewise.
965 (cmd): Likewise.
966 (debug_str): Likewise.
967 (args): Likewise.
968 (options): Transformed to argp.
969 (usage): Removed.
970 (main): Split argument parsing into ...
971 (argp_parser): ... this. Changed to argp format.
972 (argp): New variable.
973 (main): Use argp_parse.
974
3dccbe4b
TG
9752010-09-20 Tristan Gingold <gingold@free.fr>
9762010-09-20 Robert Millan <rmh.grub@aybabtu.com>
9772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/commands/efi/lsefimmap.c: New file.
980 * grub-core/Makefile.core.def (lsefimmap): New module.
981 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
982
38c259a7
VS
9832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
984
985 Pause the execution (10s max) if any errors are displayed so the user
986 has a chance to see them.
987
988 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
989 (grub_print_error): Increment grub_err_printed_errors.
990 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
991 execution if any errors were displayed.
992 (show_menu): Remove old code for pause.
993 * grub-core/normal/menu_entry.c (run): Likewise.
994 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
995 users updated.
996 (grub_normal_get_char_counter): Likewise.
997 * include/grub/err.h (grub_err_printed_errors): New external variable.
998 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
999
f218b09c
VS
10002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 Support multiboot VBE info.
1003
1004 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1005 Take VBE info into account.
1006 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
1007 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1008 Call fill_vbe_info when appropriate.
1009 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
1010 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
1011 as supported.
1012 (grub_multiboot_get_mbi_size): Take new tags into account.
1013 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
1014 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1015 Call fill_vbe_tag when appropriate.
1016 (grub_multiboot_make_mbi): Properly align tags.
1017 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
1018 function.
1019 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
1020 proto.
1021 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
1022
a9cc5438
VS
10232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 Suport manual terminal geometry specification.
1026
1027 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
1028 Save state in grub_ofconsole_terminfo_output.
1029 (grub_ofconsole_term): Use grub_terminfo_getwh.
1030 (grub_ofconsole_getwh): Removed.
1031 * grub-core/term/serial.c (grub_serial_getwh): Removed.
1032 (grub_serial_term): Use grub_terminfo_getwh.
1033 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
1034 (options): New struct.
1035 (OPTION_*): New enum.
1036 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
1037 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
1038 width and height.
1039 (grub_terminfo_getwh): New proto.
1040 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
1041
1a8fed20
VS
10422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 Handle legacy "terminal" command.
1045
1046 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
1047 and FLAG_TERMINAL.
1048 (legacy_commands): Add terminal and title.
1049 (grub_legacy_parse): Handle terminal. Simplify title handling.
1050
41e9c57d
VS
10512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
1054 parameters overflow.
1055
61c874c5
CW
10562010-09-20 Colin Watson <cjwatson@ubuntu.com>
1057
1058 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
1059 widthspec.h.
1060
1061 * docs/grub.texi (Shell-like scripting): Document `!'.
1062 (Network): Simplify using new i386-pc-pxe format. Mention
1063 grub-mknetdir.
1064
1065 * NEWS: Update.
1066
943682b4
CW
10672010-09-20 Colin Watson <cjwatson@ubuntu.com>
1068
1069 * Makefile.am (SUBDIRS): Restore "."; it's important to force
1070 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
1071 when needed.
1072
6d3d698d
CW
10732010-09-20 Colin Watson <cjwatson@ubuntu.com>
1074
1075 * grub-core/commands/efi/lsefisystab.c: Correct header.
1076 * grub-core/commands/efi/lssal.c: Likewise.
1077 * grub-core/commands/testload.c: Likewise.
1078
c982589f
CW
10792010-09-20 Colin Watson <cjwatson@ubuntu.com>
1080
1081 * util/grub-mkrescue.in: Add explicit root argument to --set to
1082 prevent the UUID being interpreted as an argument to --set (matches
1083 previous change to prepare_grub_to_access_device).
1084
a63c31b6
CW
10852010-09-20 Colin Watson <cjwatson@ubuntu.com>
1086
1087 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
1088 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
1089 the verbosity of later #ifs.
1090 (find_partition_start): Define this function on FreeBSD too.
1091 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
1092 function.
1093 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
1094 on FreeBSD.
1095
6439b8ee
YB
10962010-09-20 Yves Blusseau <blusseau@zetam.org>
1097
1098 * util/grub-editenv.c: Use argp instead of getopt.
1099
c5930ec8
YB
11002010-09-20 Yves Blusseau <blusseau@zetam.org>
1101
1102 * util/grub-setup.c: Use argp instead of getopt.
1103
15c69261
YB
11042010-09-20 Yves Blusseau <blusseau@zetam.org>
1105
1106 Use gnulib-tool to create gnulib source files.
1107
1108 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
1109 grub-core/gnulib directories
1110 * .bzignore: Add **/.deps and autogenerated gnulib files
1111 * configure.ac: Assign auxiliary directory to build-aux, add invocation
1112 of gnulib macros, add grub-core/gnulib/Makefile
1113 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
1114 include m4 directory to aclocal.
1115 * Makefile.util.def: Remove direct compilation of gnulib source files
1116 and use the new grub-core/gnulib/libgnu.a.
1117 * build-aux/config.rpath: move config.rpath from top directory to
1118 build-aux
1119 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
1120 in gnulib headers
1121 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
1122 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
1123 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
1124 header.
1125 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
1126 string.
1127
e511c9f5
YB
11282010-09-20 Yves Blusseau <blusseau@zetam.org>
1129
1130 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
1131 grub-core/genmod.sh and grub-core/gensyminfo.sh
1132
c2dede05
BC
11332010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
1134
1135 Add a test for echo command options.
1136
1137 * tests/grub_cmd_echo.in: New test.
1138 * Makefile.util.def: Rules for new test.
1139
c55f5018
SJ
11402010-09-20 Szymon Janc <szymon@janc.net.pl>
1141
1142 Remove crc.mod and move crc command to hashsum.mod.
1143 Remove lib/crc.c - users updated to use gcrypt implementation.
1144
1145 * grub-core/commands/crc.c: Removed.
1146 * grub-core/Makefile.core.def (crc): Module removed.
1147 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
1148 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
1149 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
1150 * grub-core/lib/crc.c: Removed.
1151 * include/grub/lib/crc.h: Removed.
1152 * Makefile.util.def (crc): Remove lib/crc.c
1153 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
1154 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
1155 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
1156 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
1157 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
1158 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
1159
e0337366
VS
11602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
1163
742f9232
VS
11642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 Split config.h for util and core.
1167
1168 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
1169 (ADDR32): Likewise.
1170 (DATA32): Likewise.
1171 (BSS_START_SYMBOL): Likewise.
1172 (END_SYMBOL): Likewise.
1173 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
1174 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
1175 * config.h.in: New file.
1176 * configure.ac: Use config-util.h as config define file.
1177 Rename MACHINE into GRUB_MACHINE. All users updated.
1178 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
1179 updated.
1180 (NESTED_FUNC_ATTR): Likewise.
1181 Substitue new variables.
1182 (COND_HAVE_ASM_USCORE): New conditional.
1183 * grub-core/Makefile.am (ASM_PREFIX): New variable.
1184 (kernel_syms.lst): Use ASM_PREFIX.
1185 * grub-core/kern/emu/console.c: Include config-util.h.
1186 * grub-core/kern/emu/misc.c: Likewise.
1187 * grub-core/kern/emu/mm.c: Likewise.
1188 * include/grub/emu/misc.h: Likewise.
1189 * include/grub/libgcc.h: Likewise.
1190
39feb0e8
VS
11912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
1194 constants usage.
1195 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
1196 Fix GRUB_TERM_KEY_* constants usage.
1197 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
1198
9af6dac3
VS
11992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
1202 print pointer.
1203 * grub-core/bus/usb/uhci.c: Remove empty define.
1204 (grub_uhci_check_transfer): Add missing cast.
1205 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
1206 print pointer.
1207 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
1208 PRIuGRUB_SIZE.
1209 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
1210
d6d94820
VS
12112010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * grub-core/Makefile.core.def (legacycfg): Add
1214 lib/i386/pc/vesa_modes_table.c on emu.
1215
3572f2b6
BC
12162010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1217
1218 Reduce number of temporary files generated by build system.
1219
1220 * grub-core/gencmdlist.sh: Removed.
1221 * grub-core/genfslist.sh: Removed.
1222 * grub-core/genhandlerlist.sh: Removed.
1223 * grub-core/genmodsrc.sh: Removed.
1224 * grub-core/genpartmaplist.sh: Removed.
1225 * grub-core/genparttoollist.sh: Removed.
1226 * grub-core/gentermiinallist.sh: Removed.
1227 * grub-core/genvideolist.sh: Removed.
1228
1229 * grub-core/genmod.sh.in: New file.
1230 * grub-core/gensyminfo.sh.in: New file.
1231
1232 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
1233 * conf/Makefile.extra-dist: Update with new files.
1234 * gentpl.py: Remove rules related to unnecessary temporary files.
1235 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
1236 and und-* files.
1237 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
1238 genmod.sh scripts.
1239 * grub-core/bus/usb/uhci.c: Remove empty #define.
1240 * grub-core/genmoddep.awk: Updated with new syminfo format.
1241 * util/bash-completion.d/Makefile.am: Add config.log to
1242 CLEANFILES.
1243
c836b030
YB
12442010-09-19 Yves Blusseau <blusseau@zetam.org>
1245
1246 * Makefile.util.def: Add forgotten $(LIBINTL) library.
1247
2f4e8053
BC
12482010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1249
1250 * util/grub-mkconfig.in: Check the config script for syntax errors
1251 before saving.
1252
75831c34
CW
12532010-09-19 Colin Watson <cjwatson@ubuntu.com>
12542010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * Makefile.util.def (grub-install): Use util/grub-install.in on all
1257 platforms.
1258 * util/grub-install.in: Add EFI and IEEE1275 support.
1259 * util/i386/efi/grub-install.in: Removed.
1260 * util/ieee1275/grub-install.in: Likewise.
1261
eaf41b25
VS
12622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
1265 (grub_cmd_cmosclean): Likewise.
1266 (GRUB_MOD_INIT): Register command cmosclean.
1267 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
1268 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
1269
1a9130dd
CPE
12702010-09-18 Carles Pina i Estany <carles@pina.cat>
12712010-09-18 Aleš Nesrsta <starous@volny.cz>
12722010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 Add keyboard layouts support.
1275
1276 * Makefile.util.def (grub-mklayout): New file.
1277 (grub-kbdcomp): New script.
1278 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
1279 Add keyboard_layouts.h.
1280 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
1281 commands/boot.c on yeeloong.
1282 (keylayouts): New module.
1283 * grub-core/bus/usb/ohci.c
1284 * grub-core/bus/usb/uhci.c
1285 * grub-core/bus/usb/usbhub.c (rescan): New variable.
1286 (grub_usb_add_hub): Poll interrupt pipe for device handling.
1287 (attach_root_port): Likewise.
1288 (poll_nonroot_hub): Likewise.
1289 (grub_usb_poll_devices): Likewise.
1290 (detach_device): Close transfer.
1291 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
1292 function.
1293 (grub_usb_bulk_setup_readwrite): Likewise.
1294 (grub_usb_bulk_finish_readwrite): Likewise.
1295 * grub-core/commands/keylayouts.c: New file.
1296 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
1297 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
1298 aliases.
1299 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
1300 support scancode 2.
1301 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
1302 * include/grub/keyboard_layouts.h: New file.
1303 * util/grub-mklayout.c: New file.
1304 * util/grub-kbdcomp.in: Likewise.
1305
a1d84a5e
VS
13062010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 Unify memory types.
1309
1310 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
1311 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
1312 types.
1313 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
1314 (grub_upper_mem): Likewise.
1315 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
1316 * include/grub/memory.h (grub_memory_type_t): New enum.
1317 All users updated.
1318
9696382e
VS
13192010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/Makefile.core.def (lsapm): New module.
1322 * grub-core/commands/i386/pc/lsapm.c: New file.
1323 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
1324 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
1325 Likewise.
1326 * include/grub/i386/pc/apm.h: New file.
1327 * include/multiboot.h (multiboot_apm_info): New struct.
1328
13292010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 GRUB-legacy configuration file support.
1332
1333 * Makefile.util.def (grub-menulst2cfg): New util.
1334 * docs/man/grub-menulst2cfg.h2m: New file.
1335 * grub-core/Makefile.core.def (legacycfg): New module.
1336 * grub-core/commands/legacycfg.c: New file.
1337 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
1338 (grub_normal_add_menu_entry): ... this.
1339 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
1340 (grub_normal_set_password): ...this.
1341 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
1342 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
1343 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
1344 * grub-core/lib/legacy_parse.c: New file.
1345 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
1346 * include/grub/i386/pc/vesa_modes_table.h: New file.
1347 * include/grub/legacy_parse.h: Likewise.
1348 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
1349 * util/grub-menulst2cfg.c: New file.
1350
bf8d1338
CW
13512010-09-17 Colin Watson <cjwatson@ubuntu.com>
1352
1353 * grub-core/kern/emu/hostdisk.c
1354 (convert_system_partition_to_system_disk): Initialise node.
1355
9c0bad2e
CW
13562010-09-17 Colin Watson <cjwatson@ubuntu.com>
1357
1358 * grub-core/kern/emu/hostdisk.c
1359 (convert_system_partition_to_system_disk): Fix devmapper memory pool
1360 leak.
1361 Reported and based on patch by: Modestas Vainius.
1362
a939d135
CW
13632010-09-17 Colin Watson <cjwatson@ubuntu.com>
1364
1365 Fix DM-RAID probing with recent versions of device-mapper udev
1366 rules.
1367
1368 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
1369 canonicalise device paths under /dev/mapper/.
1370 (convert_system_partition_to_system_disk): Compare the
1371 uncanonicalised path to /dev/mapper/ rather than the canonicalised
1372 path, since device nodes under /dev/mapper/ are often symlinks.
1373
0f7ee3c9
YB
13742010-09-17 Yves Blusseau <blusseau@zetam.org>
1375
1376 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
1377
10854d0d
YB
13782010-09-16 Yves Blusseau <blusseau@zetam.org>
1379
1380 * configure.ac: Avoid some annoying error messages if freetype-config
1381 program is not found.
1382
108538d8
CW
13832010-09-16 Colin Watson <cjwatson@ubuntu.com>
1384
1385 Support RAID on virtio devices, and others.
1386
1387 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
1388 Rename to ...
1389 [__MINGW32__] (grub_find_device): ... this.
1390 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
1391 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
1392 reasonable default if dir is NULL.
1393 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
1394 ...
1395 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
1396 (grub_guess_root_device): Update callers.
1397 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
1398
1399 * util/raid.c (grub_util_getdiskname): Remove.
1400 (grub_util_raid_getmembers): Use grub_find_device rather than
1401 grub_util_getdiskname.
1402
e5bfc130
CW
14032010-09-16 Colin Watson <cjwatson@ubuntu.com>
1404
1405 * docs/grub.texi (serial): Remove obsolete comment about GRUB
1406 needing to be compiled with serial support.
1407 (ls): Indicate that multiple files are accepted.
1408 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
1409 indicate that multiple files are accepted.
1410
be458ae2
CW
14112010-09-16 Colin Watson <cjwatson@ubuntu.com>
1412
1413 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
1414 libgrub_a_init.c, and util/bash-completion.d/grub.
1415
cb731b5e
VS
14162010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * util/grub-setup.c (setup): Fix incorrect container semantics.
1419
35139e8a
VS
14202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
1423 misusage.
1424 Reported by: J. Nick Terry
1425
e50fca4a
VS
14262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 Move embedding routines to partmap sources files.
1429
1430 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
1431 [GRUB_UTIL]: New variable.
1432 (gpt_partition_map_iterate): Set part.parent.
1433 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
1434 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
1435 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
1436 New function.
1437 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
1438 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
1439 (grub_partition_map) [GRUB_UTIL]: New field embed.
1440 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
1441 (setup): Use ->embed.
1442
f00478b7
VS
14432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
1446 function.
1447 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
1448 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
1449
2b94e3ff
YB
14502010-09-15 Yves Blusseau <blusseau@zetam.org>
1451
1452 Add function to get completions from usage.
1453
1454 * util/bash-completion.d/grub-completion.bash.in: Add function to get
1455 completions from usage. Use LC_ALL=C to get options properly.
1456
2e04a006
VS
14572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/gnulib/basename-lgpl.c: Imported.
1460 * grub-core/gnulib/basename.c: Likewise.
1461 * grub-core/gnulib/dirname-lgpl.c: Likewise.
1462 * grub-core/gnulib/dirname.c: Likewise.
1463 * grub-core/gnulib/dirname.h: Likewise.
1464 * grub-core/gnulib/stripslash.c: Likewise.
1465
5dcdf93a
VS
14662010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/gnulib/error.c: Resynced.
1469 * grub-core/gnulib/getopt.c: Likewise.
1470 * grub-core/gnulib/getopt_int.h: Likewise.
1471 * grub-core/gnulib/regex.h: Likewise.
1472 * grub-core/gnulib/regex_internal.c: Likewise.
1473 * grub-core/gnulib/regex_internal.h: Likewise.
1474
014f47b7
SJ
14752010-09-15 Szymon Janc <szymon@janc.net.pl>
1476
1477 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
1478 CRC calculations and validity checks.
1479 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
1480 calculations.
1481
dd521a4a
SJ
14822010-09-15 Szymon Janc <szymon@janc.net.pl>
1483
1484 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
1485
79c4eeb9
VS
14862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 Fix incorrect echo options handling.
1489 Reported by: Yves Blusseau.
1490
1491 * include/grub/command.h (grub_command_flags_t): New flags
1492 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
1493 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
1494 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
1495
ed80f7d5
VS
14962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
1499 users updated.
1500 (GRUB_COMMAND_FLAG_MENU): Likewise.
1501 (GRUB_COMMAND_FLAG_BOTH): Likewise.
1502 (GRUB_COMMAND_FLAG_TITLE): Removed.
1503 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
1504 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
1505 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
1506 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
1507 (grub_command_flags_t): New enum. All users updated.
1508
5fe7620a
SG
15092010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
1510
1511 Fix solaris compilation.
1512
1513 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
1514 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
1515 (grub-emu-list): Likewise.
1516
545b752f
VS
15172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 Remove deprecated root command.
1520
1521 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
1522 updated.
1523
6c1a338c
VS
15242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * util/i386/pc/grub-setup.c: Merge this ...
1527 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
1528 * util/grub-setup.c: ... into this.
1529 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
1530 New struct.
1531
15322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
1535 possible.
1536
d2ea4551
VS
15372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
1540 allocate p.
1541
3c3b5040
VS
15422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1545 explicit root argument to set to prevent UUID to be interpreted as
1546 argument to set.
1547
b71c3fae
VS
15482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
1551
275433e6
VS
15522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 Don't export grub_gate_a20.
1555
1556 * grub-core/kern/i386/pc/init.c: Remove leftovers.
1557 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
1558 to ...
1559 (grub_gate_a20): ... this. All users updated.
1560 * include/grub/i386/pc/init.h: Removed. All users updated.
1561
a5dbb1f1
VS
15622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 Create euro.pf2 which supports most European languages.
1565
1566 * Makefile.am (grubdata_DATA): Add euro.pf2.
1567 (euro.pf2): New target.
1568 (CLEANFILES): Add euro.pf2.
1569
62a747cb
VS
15702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * configure.ac: Disable emu-usb by default to prevent inadvertent
1573 device takeover.
1574
608e43b1
VS
15752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 Disable usbserial on grub-emu since our libusb code isn't good enough
1578 yet.
1579
1580 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
1581 (usbserial_pl2303): Likewise.
1582 (usbserial_ftdi): Likewise.
1583
94564f81
VS
15842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * include/grub/disk.h (grub_disk): Remove has_partitions.
1587 All users updated.
1588 * disk/loopback.c (grub_loopback): Remove has_partitions.
1589 All users updated.
1590 (options): Remove partitions. All users updated.
1591 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
1592 * util/i386/pc/grub-setup.c (setup): copy partition table only when
1593 actual partition table is found.
1594
3352800b
VS
15952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 Remove readability checks (too many false negatives).
1598
1599 * util/grub-install.in: Remove readability checks.
1600 * util/grub-mkconfig.in: Likewise.
1601 * util/grub.d/10_hurd.in: Likewise.
1602 * util/grub.d/10_kfreebsd.in: Likewise.
1603 * util/grub.d/10_linux.in: Likewise.
1604 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
1605 way.
1606
2419f17a
VS
16072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 Enable acpi shutdown on all ACPI platforms.
1610
1611 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
1612 on coreboo, multiboot and EFI.
1613 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
1614 (grub_acpi_halt): Likewise.
1615 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
1616 (grub_cmd_halt): Don't call grub_acpi_halt directly.
1617 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
1618 * grub-core/lib/i386/halt.c (grub_halt)
1619 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
1620
0575c7c3
VS
16212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
1624 context.
1625
54ac3cd1
VS
16262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/video/efi_gop.c: Fix over-80-chars line.
1629 * grub-core/video/efi_uga.c: Likewise.
1630
b2a30ac5
VS
16312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 Filter devaliases and never open same device twice.
1634
1635 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
1636 (last_ihandle): Likewise.
1637 (ofdisk_hash_ent): New member shortest.
1638 (ofdisk_hash_add): Add canonical path too.
1639 (scan): New function.
1640 (grub_ofdisk_iterate): Iterate over hashed entries.
1641 (compute_dev_path): Don't add :0.
1642 (grub_ofdisk_open): Don't really open the disk.
1643 (grub_ofdisk_close): Avoid closing unrelated disk.
1644 (grub_ofdisk_read): Implement reopen logic.
1645 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
1646 New function.
1647 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
1648 New proto.
1649
fb53b340
VS
16502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Fix sparc64.
1653
1654 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
1655 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
1656 right address. Add sparc64_ieee1275_ldflags.
1657 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
1658 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
1659 to grub_host_to_target_addr
1660 (load_image): Likewise.
1661
f452b040
VS
16622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * grub-core/normal/completion.c (complete_file): Handle device
1665 containing slash.
1666 Fix based on patch by Doug Nazar.
1667
9b5b2541
VS
16682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 grub-mknetdir script.
1671
1672 * Makefile.util.def (grub-mknetdir): New module.
1673 * tests/util/grub-shell.in: Support boot=net
1674 * util/grub-mknetdir.in: New file.
1675
9d2be652
VS
16762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 videoinfo on non-vbe.
1679
1680 * grub-core/Makefile.core.def (vbeinfo): Removed.
1681 (vbetest): Removed.
1682 (videoinfo): New module.
1683 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
1684 * grub-core/commands/i386/pc/vbetest.c: Removed.
1685 * grub-core/commands/videoinfo.c: New file.
1686 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
1687 specification.
1688 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
1689 as vbetest.
1690 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
1691 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
1692 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
1693 mode_number. New parameter mode. All users updated.
1694 (grub_video_gop_iterate): New function.
1695 (grub_video_efi_gop): New member iterate.
1696 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
1697 (grub_vbe_set_video_mode): Remove setting useless fields.
1698 (vbe2videoinfo): New function.
1699 (grub_video_vbe_iterate): Likewise.
1700 (grub_video_vbe_setup): Use vbe2videoinfo.
1701 (grub_video_vbe_print_adapter_specific_info): New function.
1702 (grub_video_vbe_adapter): New fields iterate and
1703 print_adapter_specific_info.
1704 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
1705 All users updated.
1706 (grub_video_mode_info): New field mode_number.
1707 (grub_video_adapter): New fields iterate and
1708 print_adapter_specific_info.
1709
179503f5
TG
17102010-09-13 Tristan Gingold <gingold@free.fr>
17112010-09-13 Robert Millan <rmh.grub@aybabtu.com>
17122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/commands/efi/lsefisystab.c: New file.
1715 * grub-core/commands/efi/lssal.c: Likewise.
1716 * grub-core/Makefile.core.def (lsacpi): New module.
1717 (lsefisystab): Likewise.
1718 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
1719 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
1720 (grub_efi_sal_system_table): New struct.
1721 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
1722 (grub_efi_sal_system_table_memory_descriptor): Likewise.
1723 (grub_efi_sal_system_table_platform_features): Likewise.
1724 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
1725 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
1726 (grub_efi_sal_system_table_ap_wakeup): Likewise.
1727 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
1728
cf9827de
VS
17292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 Support explicit user claim that a device is BIOS-visible.
1732
1733 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
1734 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
1735 * grub-core/kern/emu/hostdisk.c
1736 (convert_system_partition_to_system_disk): Support mdX.
1737 (find_system_device): New parameter add. All users updated.
1738 (grub_util_biosdisk_is_present): New function.
1739 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
1740 proto.
1741
53f0eb1f
VS
17422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 Search hints support.
1745
1746 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
1747 All users updated.
1748
b23ffd70
YB
17492010-09-13 Yves Blusseau <blusseau@zetam.org>
1750
1751 Bash completion script for util commands
1752
1753 * Makefile.am: Add util/bash-completion.d directory
1754 * configure.ac: Likewise.
1755 * util/bash-completion.d/Makefile.am: New file.
1756 * util/bash-completion.d/grub-completion.bash.in: Likewise.
1757
d547dc28
VS
17582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
1761 (print_backlog): set backlog_ucs4 and backlog_glyphs.
1762 Reported by: Yves Blusseau.
1763
2fc8ccb9
VS
17642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
1767 partition size and offset.
1768
d8a84076
VS
17692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
1772
84fb3b3d
VS
17732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
1776
768ec2e2
VS
17772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
1780 (grub_xvasprintf): Likewise.
1781
4870900f
VS
17822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
1785
faca6bec
VS
17862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
1789 args ending with NULL.
1790
17912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
1792
1793 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
1794 pointer.
1795
3c70f225
SJ
17962010-09-11 Szymon Janc <szymon@janc.net.pl>
1797
1798 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
1799
4df7996d
VS
18002010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 Shutdown using ACPI.
1803
1804 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
1805 * grub-core/commands/acpihalt.c: New file.
1806 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
1807 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
1808 (grub_acpi_halt): New proto.
1809 (GRUB_ACPI_SLP_EN): New const.
1810 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
1811 (GRUB_ACPI_OPCODE_*): New enum.
1812 (GRUB_ACPI_EXTOPCODE_*): Likewise.
1813
126b4c32
TG
18142010-09-11 Tristan Gingold <gingold@free.fr>
18152010-09-11 Robert Millan <rmh.grub@aybabtu.com>
18162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * commands/lsacpi.c: New file.
1819 * grub-core/Makefile.core.def (lsacpi): New module.
1820 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
1821 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
1822 (grub_acpi_madt_entry_header): New struct.
1823 (grub_acpi_madt): Likewise.
1824 (grub_acpi_madt_entry_interrupt_override): Likewise.
1825 (grub_acpi_madt_entry_sapic): Likewise.
1826 (grub_acpi_madt_entry_lsapic): Likewise.
1827 (grub_acpi_madt_entry_platform_int_source): Likewise.
1828 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
1829 (PRIuGRUB_UINT32_T): Likewise.
1830 (PRIxGRUB_UINT64_T): Likewise.
1831
1aa4fe88
VS
18322010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 Implement loading palette on ieee1275_fb.
1835
1836 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
1837 (have_setcolors): Likewise.
1838 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
1839 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
1840 (grub_video_ieee1275_set_palette): Implement.
1841
25761e13
VS
18422010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18432010-09-11 Colin Watson <cjwatson@ubuntu.com>
1844
1845 * util/grub-install.in (grub_partition): New variable.
1846 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
1847 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
1848 Fixes a bug reported by Yves Blusseau.
1849
050abaea
VS
18502010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 Fix emu on mipsel.
1853
1854 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
1855 =grub_cpu_flush_cache on all mips and not only yeeloong.
1856 * configure.ac (COND_mips): New conditional.
1857 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
1858 platforms.
1859 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
1860 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
1861 [GRUB_LINKER_HAVE_INIT]: New function.
1862 (grub_emu_post_init): Likewise.
1863 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
1864 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
1865 * include/grub/cache.h (_mips): Include mips/cache.h.
1866 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
1867 LVM and RAID prototypes.
1868 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
1869 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
1870 function.
1871
5ed7d816
CW
18722010-09-10 Colin Watson <cjwatson@ubuntu.com>
1873
1874 * util/grub-install.in: Don't try to verify core.img until after
1875 running grub-mkimage to create it.
1876
90367e04
RM
18772010-09-10 Robert Millan <rmh@gnu.org>
1878
1879 * util/grub.d/10_hurd.in: Add misc readability checks.
1880 * util/grub.d/10_kfreebsd.in: Likewise.
1881 * util/grub.d/10_linux.in: Likewise.
1882
c452fa66
CW
18832010-09-10 Colin Watson <cjwatson@ubuntu.com>
1884
1885 * util/grub-install.in: ${imgext} won't be defined here until the
1886 install branch is merged. For the meantime, only verify core.img on
1887 i386-pc and sparc64-ieee1275 platforms.
1888
c38fe9f4
RM
18892010-09-10 Robert Millan <rmh@gnu.org>
1890
1891 Solaris support in grub_find_zpool_from_dir(). Thanks
1892 Seth Goldberg for referring to getextmntent() facility.
1893
1894 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
1895 `sys/mkdev.h'.
1896 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
1897 `<sys/mnttab.h>'.
1898 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
1899 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
1900 method for finding zpool name.
1901
905f7773
CW
19022010-09-10 Colin Watson <cjwatson@ubuntu.com>
1903
1904 grub-fstest needs the host and hostfs modules while other utilities
1905 actively require those modules to be absent, so grub-fstest needs
1906 its own initialisation and finalisation code.
1907
1908 * Makefile.am (grub_fstest.pp): New target.
1909 (grub_fstest_init.lst): Likewise.
1910 (grub_fstest_init.c): Likewise.
1911 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
1912
fb90b546
RM
19132010-09-10 Robert Millan <rmh@gnu.org>
1914
1915 * configure.ac: Check for `struct statfs.f_fstypename' and
1916 `struct statfs.f_mntfromname'.
1917
1918 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
1919 kFreeBSD-specific code.
1920
66d4bea5
RM
19212010-09-10 Robert Millan <rmh@gnu.org>
1922
1923 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
1924 on ZFS. Now non-main filesystems are supported as / too.
1925
b6a690ee
CW
19262010-09-09 Colin Watson <cjwatson@ubuntu.com>
1927
1928 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
1929 and grub-core/disk/host.c to ...
1930 (grub-fstest): ... here. Having the host disk implementation
1931 present confuses grub-probe and other utility programs.
1932
1933 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
1934 when writing to a file, not when writing to stdout.
1935
8901b00c 19362010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
1937
1938 * tests/partmap_test.in: New test for partitions.
1939 * Makefile.util.def: Rules for new test.
1940
7bf45fdd
RM
19412010-09-09 Robert Millan <rmh@gnu.org>
1942
1943 * util/grub-probe.c (probe): Fix a pair of unhandled error
1944 conditions.
1945
4dfbc574
RM
19462010-09-09 Robert Millan <rmh@gnu.org>
1947
1948 Basic Btrfs support (detection and UUID).
1949
1950 * grub-core/fs/btrfs.c: New file.
1951 * Makefile.util.def (library): Register btrfs.c.
1952 * grub-core/Makefile.core.def: Likewise.
1953
6b8e78ae
RM
19542010-09-08 Robert Millan <rmh@gnu.org>
1955
1956 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
1957 with (optional) parameters to specify device and relative path.
1958 * util/grub-install.in: Use is_path_readable_by_grub() to
1959 verify readability of a few critical files.
1960 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
1961 verify readability of grub.cfg.new.
1962
27f21a8b
VS
19632010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 Split minix.mod into minix.mod and minix2.mod.
1966
1967 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
1968 * grub-core/Makefile.core.def (minix2): New module.
1969 * grub-core/fs/minix.c: Use definitions instead of runtime version
1970 checking.
1971 * grub-core/fs/minix2.c: New file.
1972
c0e53ea5
YB
19732010-09-08 Yves Blusseau <blusseau@zetam.org>
1974
1975 Add new --boot-directory option to replace --root-directory
1976
1977 * util/grub-install.in: Add new --boot-directory option
1978 * util/grub-reboot.in: Likewise.
1979 * util/grub-set-default.in: Likewise.
1980
b9fe6ea2
YB
19812010-09-08 Yves Blusseau <blusseau@zetam.org>
1982
1983 * util/grub-mkconfig.in: Use new variable.
1984
d87aedff
YB
19852010-09-08 Yves Blusseau <blusseau@zetam.org>
1986
1987 * configure.ac: Define some useful variables.
1988
e55e8495
VS
19892010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1992 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
1993 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
1994 Use terminfo and don't use cursor-on/cursor-off unless it's known
1995 to work.
1996 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
1997 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
1998
6fa6d675
CW
19992010-09-08 Colin Watson <cjwatson@ubuntu.com>
2000
2001 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
2002 starts with "(,", fill the drive containing the loaded image in
2003 between those two characters, but expect that a full partition
2004 specification including partition map names will follow.
2005
92f2aef0
RM
20062010-09-08 Robert Millan <rmh@gnu.org>
2007
2008 * configure.ac: Remove `--enable-grub-fstest' option.
2009 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
2010
2011 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
2012 `grub-fstest' instead of `grub-probe' for readability verification.
2013 * util/grub-probe.c (probe): Remove readability verification kludge.
2014
99fd620d
RM
20152010-09-08 Robert Millan <rmh@gnu.org>
2016
2017 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
2018 initializing `GRUB_FS'.
2019
058e30ac 20202010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
2021
2022 Not command (!) support to GRUB script.
2023
2024 * tests/grub_script_not.in: New test.
2025 * Makefile.util.def: Rules for new test.
2026
2027 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2028 ! command as a special case.
2029 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
2030
b61d05ed 20312010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2032
058e30ac 2033 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
2034 grub_free.
b61d05ed 2035
4d69c786 20362010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2037
2038 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
2039
aa3119c4 20402010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2041
2042 * docs/grub.texi (Shell-like scripting): Documentation for break,
2043 continue, shift and return commands.
2044
db0f7e3d
VS
20452010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 Rename CD-ROM to cd on BIOS.
2048
2049 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
2050 "cd".
2051 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
2052
88b87c93
VS
20532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
2056 * util/grub-probe.c (main): Likewise.
2057 * util/i386/pc/grub-setup.c (main): Likewise.
2058 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2059 Reported and debugged by: alexxy
2060
294f324d
VS
20612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
2064 diagnostic info.
2065
d7ee3441
JS
20662010-09-05 Jo Shields <directhex@apebox.org>
2067
2068 * util/grub.d/30_os-prober.in: Add missing classes.
2069
d7e06c1f
VS
20702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * docs/grub.texi (Theme file format): Document new position format.
2073
fc157e53
VS
20742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
2077 a table. Use @code instead of @verbatim.
2078
506e9a1c
CB
20792010-09-05 Colin D Bennett <colin@gibibit.com>
2080
2081 Gfxmenu documentation.
2082
2083 * docs/grub.texi (Theme file format): New chapter.
2084
f0aff67c
SJ
20852010-09-05 Szymon Janc <szymon@janc.net.pl>
2086
2087 * grub-core/Makefile.core.def (xzio): New module.
2088 * grub-core/io/xzio.c: New file.
2089 * grub-core/lib/xzembed/xz.h: New file (from xembed).
2090 * grub-core/lib/xzembed/xz_config.h: Likewise.
2091 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
2092 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
2093 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
2094 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
2095 * grub-core/lib/xzembed/xz_private.h: Likewise.
2096 * grub-core/lib/xzembed/xz_stream.h: Likewise.
2097 * include/grub/file.h (grub_file_filter_id): New compression filter
2098 GRUB_FILE_FILTER_XZIO.
2099
82a85062
VS
21002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
2103 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
2104 size.
2105
3579415d
VS
21062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
2109 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
2110
5124ae6d
VS
21112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 Uncompressed checksum support.
2114
2115 * grub-core/commands/hashsum.c (options): Add option --uncompress.
2116 (check_list): New parameter uncompress.
2117 (grub_cmd_hashsum): Handle --uncompress.
2118
9aadb3d1
VS
21192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 Reintroduce testload.
2122
2123 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
2124 from here ...
2125 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
2126 (GRUB_MOD_INIT): New function.
2127 (GRUB_MOD_FINI): Likewise.
2128 * grub-core/Makefile.core.def (testload): New module.
2129
a17792c3
SJ
21302010-09-05 Szymon Janc <szymon@janc.net.pl>
2131
2132 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
2133 (uint8_t): New type.
2134 (uint16_t): Likewise.
2135 (uint32_t): Likewise.
2136 (uint64_t): Likewise.
2137
b81e40a3
SJ
21382010-09-05 Szymon Janc <szymon@janc.net.pl>
2139
2140 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
2141
fc2ef117
VS
21422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
2145 Made static.
2146 (grub_gzfile_open): Removed. All users updated.
2147 (GRUB_MOD_INIT): New function.
2148 (GRUB_MOD_FINI): Likewise.
2149 * grub-core/kern/file.c (grub_file_filters_all): New variable.
2150 (grub_file_filters_enabled): Likewise.
2151 (grub_file_open): Handle filters.
2152 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
2153 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
2154 * include/grub/file.h (grub_file_filter_id_t): New type.
2155 (grub_file_filter_t): Likewise.
2156 (grub_file_filters_all): New extern variable.
2157 (grub_file_filters_enabled): Likewise.
2158 (grub_file_filter_register): New inline function.
2159 (grub_file_filter_unregister): Likewise.
2160 (grub_file_filter_disable): Likewise.
2161 (grub_file_filter_disable_compression): Likewise.
2162 * include/grub/gzio.h: Removed.
2163
35ee15e0
BC
21642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2165
2166 Filename expansion support for wildcards in GRUB script.
2167
2168 * tests/grub_script_expansion.in: New test.
2169 * Makefile.util.def: Rule for new test.
2170
2171 * grub-core/commands/wildcard.c: New file, implements filename
2172 expansion support for GRUB script.
2173 * grub-core/Makefile.core.def: Rule update for regexp.mod.
2174 * grub-core/script/argv.c: Cosmetic changes.
2175 * grub-core/script/execute.c (grub_script_arglist_to_argv):
2176 Refactored to perform wildcard expansion on arguments.
2177 * include/grub/script_sh.h (grub_script_wildcard_translator): New
2178 struct.
2179
2180 * tests/util/grub-shell.in: Fix quoting for read input.
2181
5f0c4aca
BC
21822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2183
2184 Support for updating environment variables with matched substrings
2185 of regexp.
2186
2187 * tests/grub_cmd_regexp.in: New test.
2188 * Makefile.util.def: Rule for new test.
2189
2190 * grub-core/commands/regexp.c: New option -s to update environment
2191 variables with regexp matches.
2192
3759a35f
SJ
21932010-09-04 Szymon Janc <szymon@janc.net.pl>
2194
2195 * include/grub/file.h (grub_file): New member not_easly_seekable.
2196 (grub_file_seekable): New inline function.
2197 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
2198 easily seekable.
2199 (grub_gzio_open): Set not_easly_seekable.
2200 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
2201 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
2202
ed8c6dec
BC
22032010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2204
2205 Support for options to appear multiple times on cmdline.
2206
2207 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
2208 * grub-core/commands/extcmd.c: Support for repeatable option.
2209 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
2210 repeatable option support.
2211
2212 Refactor menuentry into a regular command.
2213
2214 * grub-core/commands/menuentry.c: New file, menuentry command
2215 implementation.
2216 * grub-core/Makefile.core.def: Rule update for normal.mod.
2217 * grub-core/normal/main.c: Moved menuentry creation to
2218 grub-core/commands/menuentry.c.
2219 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
2220 (grub_menu_execute_entry_real): Removed.
2221 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
2222 function.
2223 (grub_script_execute_menuentry): Removed.
2224 * grub-core/script/parser.y (menuentry): Removed.
2225 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
2226 * grub-core/script/yylex.l (menuentry): Removed.
2227 * include/grub/menu.h (grub_menu_init): New prototype.
2228 (grub_menu_fini): New prototype.
2229 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
2230 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
2231 (grub_script_execute_sourcecode): New prototype.
2232
dacd0cf0
BC
22332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2234
2235 "return" command for GRUB script functions.
2236
2237 * tests/grub_script_return.in: New test.
2238 * Makefile.util.def: Rules for new test.
2239
2240 * grub-core/script/execute.c (grub_script_return): New function.
2241 * grub-core/script/main.c: Register/unregister return commaond.
2242 * include/grub/script_sh.h (grub_script_return): New prototype.
2243
52e72f9d
BC
22442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2245
2246 "setparams" command to update positional parameters.
2247
2248 * tests/grub_script_setparams.in: New test.
2249 * Makefile.util.def: Rules for new test.
2250
2251 * grub-core/script/argv.c (grub_script_argv_make): New function.
2252 * grub-core/script/execute.c (replace_scope): New function.
2253 (grub_script_setparams): New function.
2254 * grub-core/script/lexer.c: Remove unused variables.
2255 * grub-core/script/main.c: Register/unregister setparams command.
2256 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
2257 (grub_script_setparams): New prototype.
2258
25b60c91
BC
22592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2260
2261 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
2262 grub_free order.
2263
37e7bf68
BC
22642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2265
2266 Support for passing block of commands as an argument to extcmds.
2267
2268 * Makefile.util.def: Rules for new test.
2269 * tests/grub_script_blockarg.in: New test.
2270 * grub-core/tests/test_blockarg.c: New file, block argument
2271 command used in the test.
2272
2273 * include/grub/extcmd.h (grub_extcmd_context): New struct.
2274 (grub_register_extcmd_prio): New function prototype.
2275 (grub_extcmd_dispatcher): New function prototype.
2276 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
2277 type.
2278 * include/grub/script_sh.h (struct grub_script): New members
2279 `children', `next_siblings' and `refcnt' for block arguments and
2280 reference counting.
2281 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
2282 (grub_script_arg): New member `script' for block argument.
2283 (grub_script_argv): New member `script' for block argument.
2284 (grub_parser_param): New member `scripts' for block argument.
2285 (grub_script_mem_free): New extern function prototype.
2286 (grub_script_ref): New function prototype.
2287 (grub_script_unref): New function prototype.
2288
2289 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
2290 extcmd form to support block arguments.
2291 * grub-core/script/argv.c: Block arguments support.
2292 * grub-core/script/execute.c: Likewise.
2293 * grub-core/script/lexer.c: Likewise.
2294 * grub-core/script/main.c: Likewise.
2295 * grub-core/script/script.c: Likewise.
2296 * grub-core/script/parser.y: Likewise. New `block' and `block0'
2297 non-terminals.
2298
2299 * grub-core/commands/acpi.c: Update extcmd implementations with
2300 grub_extcmd_context_t.
2301 * grub-core/commands/cat.c: Likewise.
2302 * grub-core/commands/echo.c: Likewise.
2303 * grub-core/commands/extcmd.c: Likewise.
2304 * grub-core/commands/hashsum.c: Likewise.
2305 * grub-core/commands/hdparm.c: Likewise.
2306 * grub-core/commands/help.c: Likewise.
2307 * grub-core/commands/hexdump.c: Likewise.
2308 * grub-core/commands/i386/cpuid.c: Likewise.
2309 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2310 * grub-core/commands/i386/pc/halt.c: Likewise.
2311 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2312 * grub-core/commands/iorw.c: Likewise.
2313 * grub-core/commands/keystatus.c: Likewise.
2314 * grub-core/commands/loadenv.c: Likewise.
2315 * grub-core/commands/ls.c: Likewise.
2316 * grub-core/commands/lspci.c: Likewise.
2317 * grub-core/commands/memrw.c: Likewise.
2318 * grub-core/commands/probe.c: Likewise.
2319 * grub-core/commands/search_wrap.c: Likewise.
2320 * grub-core/commands/setpci.c: Likewise.
2321 * grub-core/commands/sleep.c: Likewise.
2322 * grub-core/disk/loopback.c: Likewise.
2323 * grub-core/hello/hello.c: Likewise.
2324 * grub-core/loader/i386/bsd.c: Likewise.
2325 * grub-core/loader/xnu.c: Likewise.
2326 * grub-core/term/gfxterm.c: Likewise.
2327 * grub-core/term/serial.c: Likewise.
2328 * grub-core/tests/lib/functional_test.c: Likewise.
2329
888d1500
BC
23302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2331
2332 Multi-line quoted strings support.
2333
2334 * grub-core/script/lexer.c (append_newline): Removed.
2335 (grub_script_lexer_yywrap): Refactored.
2336 (grub_script_lexer_init): Refactored.
2337 * grub-core/script/yylex.l (yywrap): New function.
2338 (grub_lexer_resplit): New function.
2339 (grub_lexer_unput): New function.
2340 * include/grub/script_sh.h (grub_lexer_param): New members, unput
2341 and resplit.
2342 * tests/grub_script_echo1.in: Added few more testcases.
2343
dda060dd
VS
23442010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/kern/misc.c: Don't add abort alias in utils.
2347 Reported by: echoline.
2348
6556eba9
BC
23492010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
2350
2351 Add missing files into "make dist" tarball for other platforms.
2352
2353 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
2354 * conf/Makefile.common (dist_noinst_DATA): New variable.
2355 * conf/Makefile.extra-dist: Added missing make dist files.
2356 * grub-core/Makefile.core.def: Likewise.
2357
c8e7bf5f
VS
23582010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 Compress grub_prefix.
2361
2362 * grub-core/boot/i386/pc/lnxboot.S: Use
2363 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
2364 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
2365 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
2366 GRUB_MACHINE_PREFIX_END. All users updated.
2367 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
2368 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
2369 + 0x40.
2370 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2371 * util/grub-mkimage.c (image_target_desc): Change data_end to
2372 prefix_end. All users updated.
2373
a7c00cdb
VS
23742010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
2377 value.
2378 (grub_openbsd_boot): Likewise.
2379 (grub_netbsd_boot): Likewise.
2380 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
2381 (grub_xnu_boot): Likewise.
2382
9f915872
VS
23832010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * configure.ac: Clean LIBS variable after tests.
2386
efa1bee7
CW
23872010-09-02 Colin Watson <cjwatson@ubuntu.com>
2388
2389 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
2390
61d720e5
VS
23912010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
2394 echo if libdevmapper will be used.
2395
ef8e0ec8
IT
23962010-09-02 Ian Turner <Ian.Turner@deshaw.com>
2397
2398 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
2399 constant for the same file.
2400
03e261d8
VS
24012010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
2404
c2a4eba6
CW
24052010-09-02 Colin Watson <cjwatson@ubuntu.com>
2406
2407 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
2408 grub-core/*.pp.
2409
9056cbf3
CW
24102010-09-02 Colin Watson <cjwatson@ubuntu.com>
2411
2412 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
2413 required by the boot protocol.
2414
2415 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
2416 ebp and edi members.
2417 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
2418 state.ebp and state.edi.
2419 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
2420 %ebp and %edi according to grub_relocator32_ebp and
2421 grub_relocator32_edi respectively.
2422 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
2423 and state.edi.
2424
529cc99a
VS
24252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 Add i386-pc-pxe image target.
2428
2429 * util/grub-mkimage.c (image_target_desc): New enum value
2430 IMAGE_I386_PC_PXE.
2431 (image_targets): New target i386-pc-pxe.
2432 (generate_image): Handle i386-pc-pxe image.
2433
9a093920
VS
24342010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 Fix grub_pxe_scan.
2437
2438 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
2439 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
2440 All users updated.
2441 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
2442 (grub_pxe_pxenv): Correct type.
2443
f9cefc4e
CW
24442010-09-01 Colin Watson <cjwatson@ubuntu.com>
2445
2446 * NEWS: Document most of the important changes since 1.98.
2447
4066f57f
CW
24482010-09-01 Colin Watson <cjwatson@ubuntu.com>
2449
2450 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
2451 generated manual page) a little.
2452
da2891f9
CW
24532010-09-01 Colin Watson <cjwatson@ubuntu.com>
2454
2455 * docs/grub.texi: Add myself as an author.
2456
ad717fae
VS
24572010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * Makefile.util.def (libgrub.a): Add missing sunpc.
2460 Reported by: Seth Goldberg.
2461
eefe8abd
VS
24622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 Interrupt wrapping and code simplifications.
2465
9494ef9a
VS
2466 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
2467 x86_noieee1275 which are functionaly equivalent in this case.
2468 (grub-install): Make source on each platform explicit. Enable on
2469 all noemu.
2470 * gentpl.py (x86_efi_pc): Removed group.
2471 (x86_noefi): Likewise.
2472 (i386_noefi): Likewise.
2473 (x86_noieee1275): Likewise.
2474 (i386_noieee1275): Likewise.
2475 (i386_noefi_noieee1275): Likewise.
2476 (i386_pc_qemu_coreboot): Likewise.
2477 (i386_coreboot_multiboot): Likewise.
2478 (i386_pc_coreboot_multiboot_qemu): Likewise.
2479 (x86_noefi_mips): Likewise.
2480 (noieee1275): Likewise.
2481 (ieee1275_mips): Likewise.
2482 (noemu_noieee1275): Likewise.
2483 (cmos): New group.
2484 (usb): Likewise.
2485 (videoinkernel): Likewise.
2486 (videomodules): Likewise.
eefe8abd 2487 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
2488 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
2489 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
2490 include/grub/loader.h, include/grub/msdos_partition.h,
2491 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
2492 include/grub/machine/console.h, include/grub/machine/vga.h,
2493 include/grub/machine/vbe.h, include/grub/machine/init.h,
2494 include/grub/machine/kernel.h, include/grub/cpu/time.h,
2495 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 2496 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
2497 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
2498 * grub-core/Makefile.core.def (kernel): Explicit the source for
2499 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
2500 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
2501 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
2502 Use videoinkernel tag.
2503 (usb): Enable on all usb.
2504 (usbserial_common): Likewise.
2505 (usbserial_pl2303): Likewise.
2506 (usbserial_ftdi): Likewise.
2507 (uhci): Enable on all x86.
2508 (ohci): Enable on all pci.
2509 (cmostest): Enable on all CMOS.
2510 (acpi): Include commands/acpi.c on all platforms.
2511 (halt): Add relevant lib/*/halt.c.
2512 (hdparm): Enable on all pci.
2513 (lspci): Likewise.
2514 (usbtest): Enable on all usb.
2515 (ata): Enable on all pci.
2516 (ata_pthru): Likewise.
2517 (usbms): Enable on all usb.
2518 (usb_keyboard): Likewise.
2519 (font): Use tag videomodules.
2520 (bufio): Likewise.
2521 (datetime): Use tag cmos. Enable on all noemu.
2522 (mmap): Use tags common and x86.
2523 (gfxterm): Use tag videomodules.
2524 (bitmap): Likewise.
2525 (bitmap_scale): Likewise.
2526 (video_fb): Likewise.
2527 (video): Likewise.
2528 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
2529 adjust padding accordingly. All users updated.
2530 (grub_ohci_transaction): Fix bad format specification.
2531 (GRUB_MOD_INIT): Add asserts for struct size.
2532 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
2533 (grub_alloc_td): Likewise.
2534 (grub_free_queue): Likewise.
2535 (grub_uhci_transfer): Likewise.
2536 (grub_uhci_transaction): Fix bad format specification.
2537 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2538 (grub_usb_bulk_readwrite): Likewise.
2539 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
2540 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
2541 Made static.
2542 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
2543 Made static.
2544 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
2545 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
2546 Transformed into C.
2547 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
2548 Moved from here ...
2549 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
2550 ... here. Transformed into C. Made static.
2551 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
2552 Moved from here ...
2553 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
2554 ... here. Transformed into C. Made static.
2555 * grub-core/kern/i386/pc/startup.S
2556 (grub_biosdisk_check_int13_extensions): Moved from here ...
2557 * grub-core/disk/i386/pc/biosdisk.c
2558 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
2559 Made static.
2560 * grub-core/kern/i386/pc/startup.S
2561 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
2562 * grub-core/disk/i386/pc/biosdisk.c
2563 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
2564 Transformed into C. Made static.
2565 * grub-core/kern/i386/pc/startup.S
2566 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
2567 * grub-core/disk/i386/pc/biosdisk.c
2568 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
2569 Transformed into C. Made static.
2570 * grub-core/kern/i386/pc/startup.S
2571 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
2572 * grub-core/disk/i386/pc/biosdisk.c
2573 (grub_biosdisk_get_diskinfo_standard): ... here.
2574 Transformed into C. Made static.
2575 * grub-core/kern/i386/pc/startup.S
2576 (grub_biosdisk_get_num_floppies): Moved from here ...
2577 * grub-core/disk/i386/pc/biosdisk.c
2578 (grub_biosdisk_get_num_floppies): ... here.
2579 Transformed into C. Made static.
2580 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
2581 New function.
2582 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
2583 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
2584 Transformed into C. Made static.
2585 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
2586 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
2587 Transformed into C. Made static.
2588 * grub-core/kern/i386/ieee1275/init.c: Removed.
2589 * grub-core/kern/i386/misc.S: Likewise.
2590 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
2591 Splitted from here ...
2592 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
2593 Transformed into C. Made static. All users updated.
2594 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
2595 Transformed into C. Made static. All users updated.
2596 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
2597 Moved from here...
2598 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
2599 Transformed into C. Made static. All users updated.
2600 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
2601 Moved from here...
2602 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
2603 Transformed into C. Made static. All users updated.
2604 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
2605 Removed (replaced by C version).
2606 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
2607 Moved from here...
2608 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
2609 Transformed into C. Made static.
2610 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
2611 Moved from here...
2612 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
2613 ... here. Transformed into C.
2614 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
2615 Moved from here...
2616 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
2617 ... here. Transformed into C.
2618 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
2619 Moved from here...
2620 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
2621 ... here. Transformed into C. Made static.
2622 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
2623 Moved from here...
2624 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
2625 ... here. Transformed into C.
21ed554b
VS
2626 * grub-core/kern/i386/pc/startup.S
2627 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
2628 * grub-core/video/i386/pc/vbe.c
2629 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
2630 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
2631 Moved from here...
2632 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
2633 ... here. Transformed into C.
2634 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
2635 Moved from here...
2636 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
2637 ... here. Transformed into C.
2638 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
2639 Moved from here...
2640 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
2641 ... here. Transformed into C.
2642 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
2643 Moved from here...
2644 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
2645 ... here. Transformed into C.
2646 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
2647 Moved from here...
2648 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
2649 ... here. Transformed into C. Made static.
2650 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
2651 Moved from here...
2652 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
2653 ... here. Transformed into C. Made static.
2654 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
2655 Moved from here...
2656 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
2657 ... here. Transformed into C. Made static.
2658 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
2659 pxe_rm_entry as third argument.
2660 (grub_bios_interrupt): New function.
2661 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
2662 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
2663 of calling grub_stop.
2664 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
2665 * grub-core/lib/efi/halt.c (grub_halt): ...here.
2666 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
2667 * grub-core/lib/emu/halt.c (grub_halt): ... here.
2668 * grub-core/lib/i386/halt.c: Moved from here ...
2669 * grub-core/lib/i386/halt.c: ... here.
2670 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
2671 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
2672 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
2673 grub_stop_floppy.
2674 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
2675 * include/grub/i386/coreboot/init.h: Removed.
2676 * include/grub/i386/multiboot/init.h: Likewise.
2677 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
2678 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
2679 * include/grub/i386/pc/int.h: New file.
2680 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
2681 (grub_pxe_scan): Removed.
2682 (grub_pxe_call): Update prototype.
2683 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
2684 prototypes.
2685 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
2686 * include/grub/i386/qemu/init.h: Removed.
2687 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
2688 noreturn.
2689 (grub_halt): Likewise.
2690 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
2691 (grub_reboot): Likewise.
2692 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
2693 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
2694 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
2695
215dd471
RM
26962010-08-30 Robert Millan <rmh@gnu.org>
2697
2698 * NEWS: Document addition of ZFS support in `grub-install' and
2699 `grub-mkconfig'.
2700
ebd65b82
BC
27012010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
2702
2703 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
2704 dprintf output.
2705
11721d19
VS
27062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 Remove leftover embedding of font objects.
2709
2710 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2711 * util/grub-install.in (font): Removed.
2712 * util/grub-mkimage.c (generate_image): Remove font support. All users
2713 updated.
2714
37837d4e
VS
27152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 Remove leftover embedding of font objects.
2718
2719 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2720 * util/grub-install.in (font): Removed.
2721 * util/grub-mkimage.c (generate_image): Remove font support. All users
2722 updated.
2723
b4c1aae0
VS
27242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 2727 Reported by: Ian Turner
b4c1aae0 2728
8920a08d
VS
27292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
2732 timeout to avoid indefinite boot stalling.
2733
f21db033
VS
27342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
2737 (grub_env_write_color_highlight): Likewise.
2738
9a9de209
VS
27392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 * grub-core/normal/term.c (print_more): Return to normal and not
2742 to standard state after printing "---MORE---".
2743
3dca01d7
VS
27442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
2747 Mask out the bit 0x80 since it has other meaning that specifiing color.
2748
0b986c40
VS
27492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 New relocator. Allows for more kernel support and more straightforward
2752 loader writing.
2753
2754 * Makefile.am (BOOTTARGET): New variable.
2755 (QEMU32): Likewise.
2756 (linux.init.x86_64): New target.
2757 (linux.init.i386): Likewise.
2758 (multiboot.elf): Likewise.
2759 (kfreebsd.elf): Likewise.
2760 (kfreebsd.aout): Likewise.
2761 (pc-chainloader.elf): Likewise.
2762 (pc-chainloader.bin): Likewise.
2763 (ntldr.elf): Likewise.
2764 (ntldr.bin): Likewise.
2765 (multiboot2.elf): Likewise.
2766 (kfreebsd.init.x86_64): Likewise.
2767 (kfreebsd.init.i386): Likewise.
2768 (knetbsd.init.i386): Likewise.
2769 (kopenbsd.init.i386): Likewise.
2770 (knetbsd.init.x86_64): Likewise.
2771 (kopenbsd.init.x86_64): Likewise.
2772 (linux-initramfs.i386): Likewise.
2773 (linux-initramfs.x86_64): Likewise.
2774 (kfreebsd-mfsroot.i386.img): Likewise.
2775 (knetbsd.image.i386): Likewise.
2776 (kopenbsd.image.i386): Likewise.
2777 (kopenbsd.image.x86_64): Likewise.
2778 (knetbsd.miniroot-image.i386.img): Likewise.
2779 (kfreebsd-mfsroot.x86_64.img): Likewise.
2780 (knetbsd.image.x86_64): Likewise.
2781 (knetbsd.miniroot-image.x86_64.img): Likewise.
2782 (kfreebsd-mfsroot.i386.gz): Likewise.
2783 (bootcheck-kfreebsd-i386): Likewise.
2784 (kfreebsd-mfsroot.x86_64.gz): Likewise.
2785 (bootcheck-kfreebsd-x86_64): Likewise.
2786 (knetbsd.miniroot-image.i386.gz): Likewise.
2787 (bootcheck-knetbsd-i386): Likewise.
2788 (bootcheck-kopenbsd-i386): Likewise.
2789 (bootcheck-kopenbsd-x86_64): Likewise.
2790 (knetbsd.miniroot-image.x86_64.gz): Likewise.
2791 (bootcheck-knetbsd-x86_64): Likewise.
2792 (bootcheck-linux-i386): Likewise.
2793 (bootcheck-linux-x86_64): Likewise.
2794 (bootcheck-linux16-i386): Likewise.
2795 (bootcheck-linux16-x86_64): Likewise.
2796 (bootcheck-multiboot): Likewise.
2797 (bootcheck-multiboot2): Likewise.
2798 (bootcheck-kfreebsd-aout): Likewise.
2799 (bootcheck-pc-chainloader): Likewise.
2800 (bootcheck-ntldr): Likewise.
2801 (CLEANFILES): Add new targets.
2802 (BOOTCHECKS): New variable.
2803 (.PHONY): Add bootchecks.
2804 (SUCCESSFUL_BOOT_STRING): New variable.
2805 (BOOTCHECK_TIMEOUT): Likewise.
2806 (bootcheck): New target
2807 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
2808 * configure.ac: Correct efiemu excuse.
2809 * docs/grub.texi (Supported kernels): New chapter.
2810 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
2811 include/grub/mm_private.h. Simplify inclusion of
2812 include/grub/boot.h, include/grub/loader.h
2813 and include/grub/msdos_partition.h
2814 (KERNEL_HEADER_FILES) [i386_coreboot]:
2815 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
2816 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
2817 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
2818 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
2819 include/grub/machine/loader.h.
2820 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
2821 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
2822 extra_dist.
2823 (pci.mod): Enable on i386-multiboot.
2824 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
2825 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
2826 i386-qemu.
2827 (relocator.mod): Rewritten.
2828 (aout.mod): Enable on all x86.
2829 (bsd.mod): Likewise.
2830 (ntldr.mod): New module.
2831 (linux.mod): Use loader/i386/linux.c on all x86.
2832 (xnu.mod): Enable on all x86.
2833 (vga_text.mod): disable on EFI and QEMU.
2834 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
2835 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
2836 * grub-core/efiemu/loadcore.c: Likewise.
2837 * grub-core/efiemu/main.c: Likewise.
2838 (grub_efiemu_exit_boot_services): Removed.
2839 (grub_efiemu_finish_boot_services): Likewise.
2840 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
2841 function.
2842 * grub-core/efiemu/i386/nocfgtables.c: New file.
2843 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
2844 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
2845 (grub_efi_finish_boot_services): Moved from here ...
2846 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
2847 Fille finish memory map and related data.
2848 (finish_mmap_buf): New variable.
2849 (grub_efi_uintn_t finish_mmap_size): Likewise.
2850 (grub_efi_uintn_t finish_key): Likewise.
2851 (grub_efi_uintn_t finish_desc_size): Likewise.
2852 (grub_efi_uint32_t finish_desc_version): Likewise.
2853 (grub_efi_is_finished): Likewise.
2854 (grub_efi_get_memory_map): Use saved memory map if EFI is already
2855 finished.
2856 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
2857 (grub_elf64_phdr_iterate): Likewise.
2858 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
2859 (grub_os_area_size): Likewise.
2860 (grub_machine_init): Don't reserve os area.
2861 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
2862 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2863 * grub-core/kern/i386/loader.S: Removed.
2864 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
2865 (grub_os_area_size): Likewise.
2866 (grub_machine_init): Don't reserve os area.
2867 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2868 Don't call grub_dl_unload_all.
2869 Don't include loader.S.
2870 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2871 Declare the memory after _end as available.
2872 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 2873 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 2874 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
2875 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
2876 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
2877 * include/grub/mm_private.h (grub_mm_header): ... here.
2878 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
2879 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
2880 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
2881 (grub_mm_region): ..here. Removed addr. Added pre_size.
2882 All users updated.
2883 * grub-core/kern/mm.c (base): Renamed to ...
2884 (grub_mm_base): ... this. Made global.
2885 (grub_real_malloc): Alloc from end of region.
2886 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
2887 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
2888 * grub-core/kern/powerpc/cache_flush.S: ... here.
2889 * grub-core/lib/efi/relocator.c: New file.
2890 * grub-core/lib/i386/relocator.c: Rewritten.
2891 * grub-core/lib/i386/relocator16.S: New file.
2892 * grub-core/lib/i386/relocator32.S: Likewise.
2893 * grub-core/lib/i386/relocator64.S: Likewise.
2894 * grub-core/lib/i386/relocator_asm.S: Rewritten.
2895 * grub-core/lib/i386/relocator_common.S: New file.
2896 * grub-core/lib/ieee1275/relocator.c: Likewise.
2897 * grub-core/lib/mips/relocator.c: Rewritten.
2898 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
2899 stylistic adjustments.
2900 * grub-core/lib/powerpc/relocator.c: New file.
2901 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
2902 * grub-core/lib/relocator.c: Rewritten.
2903 * grub-core/lib/x86_64/relocator_asm.S: New file.
2904 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
2905 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
2906 (bsd_tag): New struct.
2907 (tags): New variable.
2908 (tags_last): Likewise.
2909 (netbsd_module): New struct.
2910 (netbsd_mods): New variable.
2911 (netbsd_mods_last): Likewise.
2912 (openbsd_opts): New parameter "serial".
2913 (OPENBSD_SERIAL_ARG): New definition.
2914 (netbsd_opts): New parameter "serial".
2915 (NETBSD_SERIAL_ARG): New definition.
2916 (grub_freebsd_add_meta): Reorganised into ...
2917 (grub_bsd_add_meta): ...this. All users updated.
2918 (grub_freebsd_add_mmap): Reorganised into ...
2919 (generate_e820_mmap): ...this...
2920 (grub_bsd_add_mmap): ...and this. All users updated.
2921 (grub_freebsd_list_modules): Use tags.
2922 (grub_netbsd_add_meta_module): New function.
2923 (grub_netbsd_list_modules): Likewise.
2924 (grub_freebsd_boot): Use relocator and finish EFI.
2925 (grub_openbsd_boot): Likewise.
2926 (grub_netbsd_setup_video): New function.
2927 (grub_netbsd_add_modules): Likewise.
2928 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
2929 and finish EFI.
2930 (grub_bsd_unload): Unload tags.
2931 (grub_bsd_load_aout): Use relocator.
2932 (grub_bsd_elf32_size_hook): New function.
2933 (grub_bsd_elf32_hook): Use relocator.
2934 (grub_bsd_elf64_size_hook): New function.
2935 (grub_bsd_elf64_hook): Use relocator.
2936 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
2937 (grub_bsd_load): Zero-out openbsd_ramdisk.
2938 (grub_bsd_load): Use relocator.
2939 (grub_cmd_openbsd): Support serial.
2940 (grub_cmd_netbsd): Support modules.
2941 (grub_cmd_freebsd_module): Use relocator.
2942 (grub_netbsd_module_load): New function.
2943 (grub_cmd_netbsd_module): Likewise.
2944 (grub_cmd_openbsd_ramdisk): Likewise.
2945 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
2946 kopenbsd_ramdisk.
2947 (GRUB_MOD_FINI): Unregister new commands.
2948 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
2949 (grub_freebsd_load_elfmodule_obj): Use relocator.
2950 (grub_freebsd_load_elfmodule): Likewise.
2951 (grub_freebsd_load_elf_meta): Likewise.
2952 (grub_netbsd_load_elf_meta): New function.
2953 (grub_openbsd_find_ramdisk): Likewise.
2954 * grub-core/loader/i386/bsd_helper.S: Removed.
2955 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
2956 * grub-core/loader/i386/bsd_trampoline.S: Removed.
2957 * grub-core/loader/i386/efi/linux.c: Likewise.
2958 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
2959 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
2960 (DEFAULT_VIDEO_MODE): Likewise.
2961 (real_mode_target): New variable.
2962 (prot_mode_target): Likewise.
2963 (initrd_mem_target): Likewise.
2964 (relocator): Likewise.
2965 (efi_mmap_buf): Likewise.
2966 (efi_mmap_size): Likewise.
2967 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
2968 (free_pages): Use relocator.
2969 (allocate_pages): Account for efi_mmap and use relocator. Return error.
2970 (grub_linux_setup_video): Return error.
2971 (grub_linux_trampoline_start): Removed.
2972 (grub_linux_trampoline_end): Likewise.
2973 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
2974 andd video parameters depending on firmware.
2975 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
2976 [GRUB_MACHINE_EFI]: Pass EFI parameters.
2977 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
2978 (grub_cmd_initrd): Use relocator.
2979 * grub-core/loader/i386/linux_trampoline.S: Removed.
2980 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
2981 (elf_sec_entsize): Likewise.
2982 (elf_sec_shstrndx): Likewise.
2983 (elf_sections): Likewise.
2984 (grub_multiboot_load): Use relocator.
2985 (grub_multiboot_get_mbi_size): Account for sections.
2986 (grub_multiboot_make_mbi): Use relocator and support sections.
2987 (grub_multiboot_add_elfsyms): New function.
2988 (grub_multiboot_free_mbi): Free sections.
2989 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
2990 (grub_linux_real_target): Likewise.
2991 (grub_linux_real_chunk): Likewise.
2992 (grub_linux16_prot_size): Likewise.
2993 (grub_linux16_boot): Use relocator.
2994 (grub_linux_unload): Unload relocator.
2995 (grub_cmd_linux): Use relocator.
2996 (grub_cmd_initrd): Likewise.
2997 * grub-core/loader/i386/pc/ntldr.c: New file.
2998 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
2999 Don't try to guess CPU frequency.
3000 (grub_xnu_set_video): Stretch bitmap.
3001 (grub_xnu_boot): Use relocator.
3002 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
3003 (grub_linux_unload): Free relocator.
3004 (grub_linux_load32): Use relocator.
3005 (grub_linux_load64): Likewise.
3006 (grub_cmd_initrd): Likewise.
3007 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
3008 (grub_multiboot_unload): Unload relocator.
3009 (grub_cmd_multiboot): Use relocator.
3010 (grub_cmd_module): Likewise.
3011 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
3012 Use relocator and support sections.
3013 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
3014 (elf_sec_entsize): Likewise.
3015 (elf_sec_shstrndx): Likewise.
3016 (elf_sections): Likewise.
3017 (grub_multiboot_load): Use relocator.
3018 (grub_multiboot_get_mbi_size): Account for sections.
3019 (grub_multiboot_make_mbi): Use relocator and support sections.
3020 (grub_multiboot_add_elfsyms): New function.
3021 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
3022 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
3023 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
3024 Prototype changed. All users updated.
3025 (grub_xnu_align_heap): Simplified.
3026 (grub_xnu_writetree_toheap): Likewise.
3027 (grub_xnu_unload): Unload relocator.
3028 (grub_cmd_xnu_kernel): Use relocator.
3029 (grub_cmd_xnu_kernel64): Likewise.
3030 (grub_xnu_register_memory): Simplified.
3031 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
3032 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
3033 EFI is finished.
3034 (grub_console_checkkey): Likewise.
3035 (grub_console_getkey): Likewise.
3036 (grub_console_getwh): Likewise.
3037 (grub_console_getxy): Likewise.
3038 (grub_console_gotoxy): Likewise.
3039 (grub_console_cls): Likewise.
3040 (grub_console_setcolorstate): Likewise.
3041 (grub_console_setcursor): Likewise.
3042 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
3043 * grub-core/tests/boot/kbsd.init-i386.S: New file.
3044 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
3045 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
3046 * grub-core/tests/boot/kernel-8086.S: Likewise.
3047 * grub-core/tests/boot/kernel-i386.S: Likewise.
3048 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
3049 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
3050 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
3051 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
3052 * grub-core/tests/boot/knetbsd.cfg: Likewise.
3053 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
3054 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
3055 * grub-core/tests/boot/linux.cfg: Likewise.
3056 * grub-core/tests/boot/linux.init-i386.S: Likewise.
3057 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
3058 * grub-core/tests/boot/linux16.cfg: Likewise.
3059 * grub-core/tests/boot/multiboot.cfg: Likewise.
3060 * grub-core/tests/boot/multiboot2.cfg: Likewise.
3061 * grub-core/tests/boot/ntldr.cfg: Likewise.
3062 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
3063 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
3064 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
3065 New definition.
3066 * include/grub/dl.h (grub_dl_unload_all): Removed.
3067 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
3068 (grub_efi_finish_boot_services): Change prototype.
3069 (grub_efi_is_finished): New variable.
3070 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
3071 Changed prototype.
3072 (grub_efiemu_finish_boot_services): Removed.
3073 (grub_machine_efiemu_init_tables): New prototype.
3074 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
3075 (grub_elf64_phdr_iterate): Likewise.
3076 * include/grub/i386/bsd.h: Include relocator.h.
3077 (freebsd_tag_header): New struct.
3078 (grub_openbsd_bios_mmap): Removed.
3079 (grub_unix_real_boot): Removed.
3080 (grub_freebsd_load_elfmodule32): Changed prototype.
3081 (grub_freebsd_load_elfmodule_obj64): Likewise.
3082 (grub_freebsd_load_elf_meta32): Likewise.
3083 (grub_freebsd_load_elf_meta64): Likewise.
3084 (grub_freebsd_add_meta): Removed.
3085 (grub_netbsd_load_elf_meta32): New prototype.
3086 (grub_netbsd_load_elf_meta64): Likewise.
3087 (grub_bsd_add_meta): Likewise.
3088 (grub_openbsd_ramdisk_descriptor): New struct.
3089 (grub_openbsd_find_ramdisk32): New prototype.
3090 (grub_openbsd_find_ramdisk64): Likewise.
3091 * include/grub/i386/coreboot/loader.h: Removed.
3092 * include/grub/i386/efi/loader.h: Likewise.
3093 * include/grub/i386/ieee1275/loader.h: Likewise.
3094 * include/grub/i386/linux.h (linux_kernel_header): Change void *
3095 to grub_uint32_t.
3096 * include/grub/i386/loader.h: Removed.
3097 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
3098 value.
3099 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
3100 (grub_phys_addr_t): New type.
3101 (grub_vtop): New inline function.
3102 (grub_map_memory): Likewise.
3103 (grub_unmap_memory): Likewise.
3104 * include/grub/i386/multiboot/loader.h: Removed.
3105 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
3106 (NETBSD_BTINFO_CONSOLE): New definition.
3107 (NETBSD_BTINFO_SYMTAB): Likewise.
3108 (NETBSD_BTINFO_MODULES): Likewise.
3109 (NETBSD_BTINFO_FRAMEBUF): Likewise.
3110 (grub_netbsd_bootinfo): New struct.
3111 (grub_netbsd_btinfo_common): Use explicit bitsize.
3112 (grub_netbsd_btinfo_mmap_entry): Removed.
3113 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
3114 (grub_netbsd_btinfo_bootdisk): New struct.
3115 (grub_netbsd_btinfo_symtab): Likewise.
3116 (grub_netbsd_btinfo_serial): Likewise.
3117 (grub_netbsd_btinfo_modules): Likewise.
3118 (grub_netbsd_btinfo_framebuf): Likewise.
3119 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
3120 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
3121 Likewise.
3122 (grub_openbsd_bootargs): Use explicit bitsize.
3123 (grub_openbsd_bootarg_console): New struct.
3124 (GRUB_OPENBSD_COM_MAJOR): New definition.
3125 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
3126 * include/grub/i386/pc/efiemu.h: Removed.
3127 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
3128 * include/grub/i386/qemu/loader.h: Removed.
3129 * include/grub/i386/relocator.h: Rewritten.
3130 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
3131 * include/grub/mips/memory.h: New file.
3132 * include/grub/mips/multiboot.h: Rewritten.
3133 * include/grub/mips/relocator.h: Rewritten.
3134 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
3135 (grub_vtop): New function.
3136 (grub_map_memory): Likewise.
3137 (grub_unmap_memory): Likewise.
3138 * include/grub/misc.h (ALIGN_DOWN): New definition.
3139 * include/grub/mm.h (grub_mm_check_real): New proto.
3140 (GRUB_MM_CHECK): New definition.
3141 * include/grub/mm_private.h: New file.
3142 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
3143 (grub_multiboot_get_mbi_size): Removed.
3144 (grub_multiboot_make_mbi): Change prottype.
3145 (grub_multiboot_set_accepts_video): New proto.
3146 (grub_multiboot_add_elfsyms): Likewise.
3147 (grub_multiboot_payload_eip): New variable.
3148 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
3149 New prototype.
3150 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
3151 New definition.
3152 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
3153 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
3154 * include/grub/powerpc/ieee1275/loader.h: Removed.
3155 * include/grub/powerpc/memory.h: New file.
3156 * include/grub/powerpc/relocator.h: Likewise.
3157 * include/grub/relocator.h: Likewise.
3158 * include/grub/relocator_private.h: Likewise.
3159 * include/grub/sparc64/ieee1275/loader.h: Removed.
3160 * include/grub/x86_64/memory.h: New file.
3161 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
3162 (grub_xnu_heap_malloc): Likewise.
3163 (grub_xnu_heap_real_start): Removed.
3164 (grub_xnu_heap_start): Likewise.
3165 (grub_xnu_relocator): New variable.
3166 (grub_xnu_heap_target_start): Likewise.
3167 * tests/util/grub-shell.in: Support non-pc.
3168 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 3169
5303b85d
VS
31702010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
3173 on malloc error.
3174 (grub_bidi_logical_to_visual): Check that malloc succeded.
3175 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
3176 puts.
3177 (grub_xputs_normal): Likewise.
3178
d768d159
VS
31792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
3182 extra_dist.
3183
31842010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * grub-core/efiemu/runtime/efiemu.sh: Removed.
3187
5bf84df4
VS
31882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
3191
3626810e
VS
31922010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
3195 dprintf.
3196
a7363f53
BC
31972010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
3198
3199 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
3200
902f75f6
VS
32012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/normal/term.c (print_more): Fix a memory leak.
3204 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
3205 (grub_xputs_normal): Likewise.
3206
3c707967
VS
32072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
3210 the begining of the string
3211
2053cc07
VS
32122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/script/script.c (grub_script_parse): Free parsed on
3215 failure.
3216
46422ebf
VS
32172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
3220 on failure.
3221
9e0fa3f6
VS
32222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
3225 return.
3226
3393cf16
VS
32272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
3230 (scroll_up): Fix a memory leak.
3231
b17540cb
VS
32322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
3235 errors.
3236
67140446
VS
32372010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 Handle USB pendrives exposed as floppies.
3240
3241 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
3242 floppy.
3243 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3244 Check for partitions on all devices.
3245
e35e46fc
VS
32462010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
3249 (readkey): Likewise.
3250
d24c6190
BC
32512010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3252
3253 Multiple variable names support to "export" command.
3254
3255 * normal/context.c (grub_cmd_export): "export" command supports
3256 multiple variable names.
3257
04ddcc6a
ST
32582010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
3259
3260 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
3261 --target=drive output to Mach device name.
3262
0c8b61d8
BC
32632010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3264
3265 New Automake based build system for GRUB.
3266
3267 * ABOUT-NLS: New file.
3268 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
3269 in Makefile.util.def file.
3270 * Makefile.util.def: New file. Autogen build definitions file for
3271 GRUB host utils.
3272 * conf/Makefile.common: New file. Common variables for GRUB host
3273 utils and target modules.
3274 * conf/Makefile.extra-dist: New file. Extra files for make dist.
3275 * docs/Makefile.am: New file. Automake file for docs.
3276 * gentpl.py: New file. Python script to generate Autogen
3277 template.
3278 * grub-core/Makefile.am: New file. GRUB target modules' rules
3279 that doesn't fit in Makefile.core.def file.
3280 * grub-core/Makefile.core.def: New file. Autogen build
3281 definitions file for GRUB target modules.
3282 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
3283 specific setjmp.S file.
3284 * po/Makefile.am: New file.
3285
3286 * .bzrignore: New ignores.
3287 * INSTALL: New requirements, without Ruby.
3288 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
3289 * autogen.sh: Updated to invoke autogen as necessary.
3290 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
3291 and defines for Automake conditionals.
3292 * geninit.sh: Refactoring.
3293
3294 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
3295 necessary.
3296 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
3297 New prototype.
3298
3299 * include/grub/test.h: Fix functional test modules' naming.
3300 * grub-core/tests/example_functional_test.c: Fix test module name.
3301
3302 * util/misc.c: Hosted versions' of grub functions for libgrub.a
3303 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
3304 * util/grub-editenv.c: Likewise.
3305 * util/grub-fstest.c: Likewise.
3306 * util/grub-mkdevicemap.c: Likewise.
3307 * util/grub-mkfont.c: Likewise.
3308 * util/grub-mkimage.c: Likewise.
3309 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3310 * util/grub-probe.c: Likewise.
3311 * util/grub-script-check.c: Likewise.
3312 * util/i386/pc/grub-setup.c: Likewise.
3313 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3314
3315 * tests/util/grub-shell.in: Fix override directory path.
3316 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
3317 * util/import_gcry.py: Create Makefile.gcry.def file instead.
3318
3319 * util/lvm.c: Update #includes.
3320 * util/raid.c: Likewise.
3321 * util/resolve.c: Likewise.
3322 * grub-core/bus/emu/pci.c: Likewise.
3323 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
3324 * grub-core/lib/posix_wrap/string.h: Likewise.
3325 * grub-core/kern/emu/main.c: Likewise.
3326
3327 * grub-core/gensymlist.sh: New file. Script for generating kernel
3328 symbols file.
3329 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
3330
3331 * grub-core/gentrigtables.c: Fix unused variable warnings.
3332
3333 * Makefile.in: Removed.
3334 * conf/any-emu.rmk: Removed.
3335 * conf/common.rmk: Removed.
3336 * conf/i386-coreboot.rmk: Removed.
3337 * conf/i386-efi.rmk: Removed.
3338 * conf/i386-ieee1275.rmk: Removed.
3339 * conf/i386-multiboot.rmk: Removed.
3340 * conf/i386-pc.rmk: Removed.
3341 * conf/i386-qemu.rmk: Removed.
3342 * conf/i386.rmk: Removed.
3343 * conf/mips-yeeloong.rmk: Removed.
3344 * conf/mips.rmk: Removed.
3345 * conf/powerpc-ieee1275.rmk: Removed.
3346 * conf/sparc64-ieee1275.rmk: Removed.
3347 * conf/tests.rmk: Removed.
3348 * conf/x86-efi.rmk: Removed.
3349 * conf/x86_64-efi.rmk: Removed.
3350 * gendistlist.sh: Removed.
3351 * geninitheader.sh: Removed.
3352 * genkernsyms.sh.in: Removed.
3353 * genmk.rb: Removed.
3354 * gensymlist.sh.in: Removed.
3355 * mkinstalldirs: Removed.
3356 * boot: Moved ...
3357 * grub-core/boot: ... to here.
3358 * bus: Moved ...
3359 * grub-core/bus: ... to here.
3360 * commands: Moved ...
3361 * grub-core/commands: ... to here.
3362 * disk: Moved ...
3363 * grub-core/disk: ... to here.
3364 * efiemu: Moved ...
3365 * grub-core/efiemu: ... to here.
3366 * font: Moved ...
3367 * grub-core/font: ... to here.
3368 * fs: Moved ...
3369 * grub-core/fs: ... to here.
3370 * gencmdlist.sh: Moved ...
3371 * grub-core/gencmdlist.sh: ... to here.
3372 * genemuinit.sh: Moved ...
3373 * grub-core/genemuinit.sh: ... to here.
3374 * genemuinitheader.sh: Moved ...
3375 * grub-core/genemuinitheader.sh: ... to here.
3376 * genfslist.sh: Moved ...
3377 * grub-core/genfslist.sh: ... to here.
3378 * genhandlerlist.sh: Moved ...
3379 * grub-core/genhandlerlist.sh: ... to here.
3380 * genmoddep.awk: Moved ...
3381 * grub-core/genmoddep.awk: ... to here.
3382 * genmodsrc.sh: Moved ...
3383 * grub-core/genmodsrc.sh: ... to here.
3384 * genpartmaplist.sh: Moved ...
3385 * grub-core/genpartmaplist.sh: ... to here.
3386 * genparttoollist.sh: Moved ...
3387 * grub-core/genparttoollist.sh: ... to here.
3388 * genterminallist.sh: Moved ...
3389 * grub-core/genterminallist.sh: ... to here.
3390 * gentrigtables.c: Moved ...
3391 * grub-core/gentrigtables.c: ... to here.
3392 * genvideolist.sh: Moved ...
3393 * grub-core/genvideolist.sh: ... to here.
3394 * gettext: Moved ...
3395 * grub-core/gettext: ... to here.
3396 * gfxmenu: Moved ...
3397 * grub-core/gfxmenu: ... to here.
3398 * gnulib: Moved ...
3399 * grub-core/gnulib: ... to here.
3400 * hello: Moved ...
3401 * grub-core/hello: ... to here.
3402 * hook: Moved ...
3403 * grub-core/hook: ... to here.
3404 * io: Moved ...
3405 * grub-core/io: ... to here.
3406 * kern: Moved ...
3407 * grub-core/kern: ... to here.
3408 * lib: Moved ...
3409 * grub-core/lib: ... to here.
3410 * loader: Moved ...
3411 * grub-core/loader: ... to here.
3412 * mmap: Moved ...
3413 * grub-core/mmap: ... to here.
3414 * normal: Moved ...
3415 * grub-core/normal: ... to here.
3416 * partmap: Moved ...
3417 * grub-core/partmap: ... to here.
3418 * parttool: Moved ...
3419 * grub-core/parttool: ... to here.
3420 * script: Moved ...
3421 * grub-core/script: ... to here.
3422 * term: Moved ...
3423 * grub-core/term: ... to here
3424 * tests/example_functional_test.c: Moved ...
3425 * grub-core/tests/example_functional_test.c: ... to here.
3426 * tests/lib/functional_test.c: Moved ...
3427 * grub-core/tests/lib/functional_test.c: ... to here.
3428 * tests/lib/test.c: Moved ...
3429 * grub-core/tests/lib/test.c: ... to here.
3430 * video: Moved ...
3431 * grub-core/video: ... to here.
3432
645586e6
BC
34332010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3434
3435 Replace --enable-grub-emu-modules with grub-emu-lite.
3436
3437 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
3438 cache.S.
3439
3440 * include/grub/emu/misc.h (grub_emu_init): New prototype.
3441 * kern/emu/full.c: New file. For grub-emu specific initialization.
3442 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
3443 * kern/emu/main.c: Call initialization function grub_emu_init.
3444
3445 * Makefile.in: Include grub-emu-lite in install.
3446 * commands/parttool.c: Use grub_no_autoload to differentiate
3447 between grub-emu and grub-emu-lite.
3448 * include/grub/misc.h: New variable grub_no_autoload.
3449
3450 * conf/any-emu.rmk: New rules for grub-emu-lite.
3451 * configure.ac: Remove --enable-grub-emu-modules.
3452 * genmk.rb: Cleanup unnecessary rules.
3453 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
3454
3455 * normal/main.c: Don't load list files on grub-emu-lite.
3456 * util/misc.c (grub_arch_sync_caches): Removed.
3457
f86a4030
CW
34582010-08-23 Colin Watson <cjwatson@ubuntu.com>
3459
3460 * kern/mips/startup.S (grub_prefix): Update comment to refer to
3461 grub-mkimage rather than grub-mkelfimage.
3462 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3463
06776944
VS
34642010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
3467 a key after CapsLock or NumLock. It's just a qemu bug.
3468
df262419
VS
34692010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
3472 needed by libusb wrapper.
3473
b40ea81b
ST
34742010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3475
3476 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
3477
dee50575
VS
34782010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
3481 --nounzip is passed.
3482
fb1d7b79
VS
34832010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 USB hotunplugging and USB serial support.
3486
3487 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
3488 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
3489 (grub_uhci_transfer): Respect timeout and set *actual.
3490 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
3491 non-standard length.
3492 (grub_usb_device_attach): Autoload modules.
3493 (GRUB_MOD_INIT): Set grub_term_poll_usb.
3494 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
3495 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
3496 users updated.
3497 (grub_usb_add_hub): Fill nports and children.
3498 (attach_root_port): Receive hub instead of controller.
3499 All users updated. Fill hub->devices.
3500 (grub_usb_root_hub): Allocate hub->devices.
3501 (detach_device): New function.
3502 (poll_nonroot_hub): Fill children and detach devices.
3503 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
3504 actual arguments. All users updated.
3505 (grub_usb_bulk_read_extended): New function.
3506 * bus/usb/serial/common.c: New file.
3507 * bus/usb/serial/ftdi.c: Likewise.
3508 * bus/usb/serial/pl2303.c: Likewise.
3509 * commands/terminal.c (handle_command): Support wildcard.
3510 * commands/usbtest.c: Output "Unknown" instead of empty string.
3511 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
3512 (usbserial_common_mod_SOURCES): New variable.
3513 (usbserial_common_mod_CFLAGS): Likewise.
3514 (usbserial_common_mod_LDFLAGS): Likewise.
3515 (pkglib_MODULES): Add usbserial_pl2303.mod.
3516 (usbserial_pl2303_mod_SOURCES): New variable.
3517 (usbserial_pl2303_mod_CFLAGS): Likewise.
3518 (usbserial_pl2303_mod_LDFLAGS): Likewise.
3519 (pkglib_MODULES): Add usbserial_ftdi.mod.
3520 (usbserial_ftdi_mod_SOURCES): New variable.
3521 (usbserial_ftdi_mod_CFLAGS): Likewise.
3522 (usbserial_ftdi_mod_LDFLAGS): Likewise.
3523 (pkglib_MODULES): Add serial.mod.
3524 (serial_mod_SOURCES): New variable.
3525 (serial_mod_CFLAGS): Likewise.
3526 (serial_mod_LDFLAGS): Likewise.
3527 * conf/i386-pc.rmk: Likewise.
3528 * conf/mips-yeeloong.rmk: Likewise.
3529 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
3530 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3531 * disk/usbms.c (first_available_slot): New variable.
3532 (grub_usbms_attach): Don't reuse free slots due to potential cache
3533 problems.
3534 * include/grub/serial.h: Moved to ..
3535 * include/grub/ns8250.h: ...this.
3536 * include/grub/serial.h: New file.
3537 * include/grub/term.h (grub_term_poll_usb): New variable.
3538 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
3539 readkey. All users updated.
3540 (grub_terminfo_output_state): Pass term to put.
3541 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
3542 (grub_usb_controller_dev): Add timeout and actual arguments to
3543 transfer. All users updated.
3544 (grub_usb_interface): New field detach_data.
3545 (grub_usb_device): New fields children and nports.
3546 (grub_usb_ep_type_t): New type.
3547 (grub_usb_get_ep_type): New function.
3548 (grub_usb_bulk_read_extended): Likewise.
3549 * include/grub/usbdesc.h (grub_usb_desc): New type.
3550 * include/grub/usbserial.h: New file.
3551 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
3552 * kern/term.c (grub_term_poll_usb): New variable.
3553 (grub_getkey): Call grub_term_poll_usb if set.
3554 (grub_checkkey): Likewise.
3555 (grub_getkeystatus): Likewise.
3556 * term/serial.c: Moved controller-specific parts to ...
3557 * term/ns8250.c: ... here.
3558 * term/serial.c: Mostly rewritten.
3559 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
3560 according to spec.
3561
21a313de
RM
35622010-08-20 Robert Millan <rmh@gnu.org>
3563
3564 Make kFreeBSD code more generic to support ext2fs as root, ufs as
3565 a separate module and maybe other interesting combinations.
3566
3567 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
3568 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
3569 (kfreebsd_entry): Add generic filesystem module load routine.
3570 Map GRUB `ext2' to kFreeBSD `ext2fs'.
3571
63c734a6
CW
35722010-08-20 Colin Watson <cjwatson@ubuntu.com>
3573
3574 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
3575 "numcenter" (I misunderstood the purpose of this entry).
3576 * docs/grub.texi (sendkey): Likewise.
3577
c4d16542
CW
35782010-08-20 Colin Watson <cjwatson@ubuntu.com>
3579
3580 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
3581 status flag options; simply omitting the option is equivalent and
3582 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
3583 (keysym_table): Rename "num5numlock" to "numlock".
3584 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
3585 can uniformly say that only the last of multiple `sendkey'
3586 invocations has any effect.
3587 * docs/grub.texi (sendkey): New section.
3588
93541d66
CW
35892010-08-19 Colin Watson <cjwatson@ubuntu.com>
3590
3591 * commands/i386/pc/sendkey.c (options): Fix three typos.
3592
b4ece5e1
VS
35932010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 Implement sendkey support.
3596
3597 * commands/i386/pc/sendkey.c: New file.
3598 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
3599 (sendkey_mod_SOURCES): New variable.
3600 (sendkey_mod_CFLAGS): Likewise.
3601 (sendkey_mod_LDFLAGS): Likewise.
3602
51f1f5af
CW
36032010-08-18 Colin Watson <cjwatson@ubuntu.com>
3604
3605 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
3606 fix warnings from Autoconf.
3607
9da94e05
CW
36082010-08-18 Colin Watson <cjwatson@ubuntu.com>
3609
3610 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
3611 to avoid false positives with some assemblers that output things
3612 like "someprefix_func" as part of their output.
3613
729a0f2e
RM
36142010-08-15 Robert Millan <rmh@gnu.org>
3615
3616 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
3617 errors.
3618 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
3619 grub_get_libzfs_handle() errors.
3620
f3710e08
RM
36212010-08-14 Robert Millan <rmh@gnu.org>
3622
3623 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
3624 filesystem is not ZFS.
3625
7a3c13de
BC
36262010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3627
3628 Fix for misspelled color names defaulting to black/black (bug
3629 reported by Doug Nazar)
3630
3631 * include/grub/normal.h (grub_parse_color_name_pair): Add return
3632 status to prototype.
3633 * normal/color.c (grub_parse_color_name_pair): Return failure
3634 status.
3635 (grub_env_write_color_normal): Ignore bad color names.
3636 (grub_env_write_color_highlight): Likewise.
3637 * normal/main.c (GRUB_MOD_INIT): Set default color names.
3638
ab8ba50d
BC
36392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3640
3641 "shift" command support to GRUB script.
3642
3643 * include/grub/script_sh.h (grub_script_shift): New prototype.
3644 * script/execute.c (grub_script_shift): New function.
3645 * script/main.c (grub_script_init): Register shift command.
3646 (grub_script_fini): Unregister shift command.
3647 * util/grub-script-check.c (grub_script_cmd_shift): New function.
3648
3649 * tests/grub_script_shift.in: New testcase.
3650 * conf/tests.rmk: Rules for new testcase.
3651
4d61999e
BC
36522010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3653
3654 "continue" command support to GRUB script.
3655
3656 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
3657 (grub_script_break): Continue support.
3658 * script/main.c (grub_script_init): Register continue command.
3659 (grub_script_fini): Unregister continue command.
3660
3661 * tests/grub_script_continue.in: New testcase.
3662 * conf/tests.rmk: Rules for new testcase.
3663
4df51e00
BC
36642010-08-12 BVK Chaitanya <bvk@dbook>
3665
3666 "break" command support to GRUB script.
3667
3668 * conf/common.rmk: Rule updates to grub-script-check.
3669 * include/grub/misc.h (grub_min): New function.
3670 * include/grub/script_sh.h (grub_script_init): New prototype.
3671 (grub_script_fini): New prototype.
3672 (grub_script_break): New prototype.
3673 * script/main.c (grub_script_init): New function.
3674 (grub_script_fini): New function.
3675 * script/execute.c (grub_script_break): New function.
3676 * normal/main.c: Calls to grub_script_{init,fini}.
3677 * util/grub-script-check.c (grub_script_break): New function.
3678
3679 * tests/grub_script_break.in: New testcase.
3680 * conf/tests.rmk: Rules for new test case.
3681
f12c8420
BC
36822010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3683
3684 Function parameters support to GRUB script.
3685
3686 * script/yylex.l (VARIABLE): Regular expression update.
3687 * script/function.c (grub_script_function_call): Moved ...
3688 * script/execute.c (grub_script_function_call): ... to here.
3689 (grub_script_execute_arglist_to_argv): Removed.
3690 (grub_script_arglist_to_argv): New function.
3691 * script/argv.c: New file.
3692 (grub_script_argv_free): New function.
3693 (grub_script_argv_next): Likewise.
3694 (grub_script_argv_append): Likewise.
3695 (grub_script_argv_split_append): Likewise.
3696 * include/grub/script_sh.h (grub_script_argv): New struct.
3697 (grub_script_argv_free): New function.
3698 (grub_script_argv_next): Likewise.
3699 (grub_script_argv_append): Likewise.
3700 (grub_script_argv_split_append): Likewise.
3701
3702 * conf/common.rmk (normal.mod): New source script/argv.c.
3703
3704 * tests/grub_script_echo1.in: More tests.
3705 * tests/grub_script_vars1.in: Likewise.
3706 * tests/grub_script_functions.in: New test case.
3707 * conf/tests.rmk: Rules for new testcase.
3708
8022b748
BC
37092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3710
3711 Remove grub_script_cmdblock struct.
3712
3713 * include/grub/script_sh.h: Remove grub_script_cmdblock.
3714 * script/parser.y: Likewise.
3715 * script/execute.c: Rename cmdblock suffix to cmdlist.
3716 * script/script.c: Likewise.
3717 * util/grub-script-check.c: Likewise.
3718
79a6ba61
YB
37192010-08-11 Yves Blusseau <blusseau@zetam.org>
3720
3721 * .bzrignore: add grub-macho2img
3722
d04b9414
VS
37232010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
3726
f947ab49
VS
37272010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 Remove the dump of sm712 initialisation sequence.
3730
3731 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
3732 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
3733 (GRUB_VGA_IO_MISC_WRITE): Likewise.
3734 (GRUB_VGA_CR_*): Added many registers.
3735 (GRUB_VGA_SR_*): Likewise.
3736 (GRUB_VGA_GR_*): Likewise.
3737 (grub_vga_write_arx): New function.
3738 (grub_video_hw_config): New struct.
3739 (grub_vga_set_geometry): New function.
3740 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
3741 GRUB_PCI_CLASS_SUBCLASS_VGA.
3742 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
3743 * video/sm712.c (grub_sm712_write_reg): New function
3744 (grub_sm712_read_reg): Likewise.
3745 (grub_sm712_sr_write): Likewise.
3746 (grub_sm712_gr_write): Likewise.
3747 (grub_sm712_cr_write): Likewise.
3748 (grub_sm712_write_arx): Likewise.
3749 (grub_sm712_cr_shadow_write): Likewise.
3750 (grub_sm712_write_dda_lookup): Likewise.
3751 (grub_video_sm712_setup): Initialise the video rather then
3752 blindly replay the dump.
3753 (main) [TEST]: Add a routine to be able to compile as standalone for
3754 tests.
3755 * video/sm712_init.c (sm712_init): Removed.
3756 (sm712_sr_seq1): New array.
3757 (sm712_sr_seq2): Likewise.
3758
f0206638
VS
37592010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * include/grub/vga.h: Add missing grub/pci.h include.
3762
2764da3b
YB
37632010-08-10 Yves Blusseau <blusseau@zetam.org>
3764
3765 * util/grub-macho2img.c (main): fix typo
3766
cf0c775e
VS
37672010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
3770 (grub_vga_gr_read): Likewise.
3771 (grub_vga_cr_write): Likewise.
3772 (grub_vga_cr_read): Likewise.
3773 (grub_vga_sr_write): Likewise.
3774 (grub_vga_sr_read): Likewise.
3775 (grub_vga_palette_read): Likewise.
3776 (grub_vga_palette_write): Likewise.
3777 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
3778 (grub_sm712_sr_read): New function.
3779 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
3780 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
3781
07f360e9
RM
37822010-08-09 Robert Millan <rmh@gnu.org>
3783
3784 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
3785 out unused variables on non-ZFS build.
3786
346c2072
RM
37872010-08-08 Robert Millan <rmh@gnu.org>
3788
3789 Fix path generation for sub-filesystems in ZFS.
3790
3791 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
3792 missing slash.
3793
71175420
RM
37942010-08-08 Robert Millan <rmh@gnu.org>
3795
3796 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
3797
0d8286f3
RM
37982010-08-08 Robert Millan <rmh@gnu.org>
3799
3800 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
3801 exist, issue a proper error message (rely on `ls' for translated
3802 strings).
3803
55dd2924
RM
38042010-08-08 Robert Millan <rmh@gnu.org>
3805
3806 Fix grub-probe invocation.
3807
3808 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
3809
d3dd9e80
RM
38102010-08-04 Robert Millan <rmh@gnu.org>
3811
3812 * configure.ac: Remove checks for getfsstat() and getmntany().
3813 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
3814 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
3815 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
3816 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
3817 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
3818 function.
3819 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
3820 via find_mount_point_from_dir() and getfsstat() / getmntany().
3821
0de22aa9
RM
38222010-08-04 Robert Millan <rmh@gnu.org>
3823
3824 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3825 (grub_find_zpool_from_mount_point): Merge into ...
3826 (grub_find_zpool_from_dir): ... this.
3827 * kern/emu/misc.c: Likewise.
3828
3829 * kern/emu/misc.c
3830 (grub_make_system_path_relative_to_its_root): Replace
3831 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
3832 with grub_find_zpool_from_dir().
3833 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
3834
62858144
RM
38352010-08-04 Robert Millan <rmh@gnu.org>
3836
3837 Support OpenSolaris in ZFS device resolution.
3838
3839 * configure.ac: Check for getmntany().
3840 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
3841 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
3842 support.
3843
9dd6fd50
RM
38442010-08-03 Robert Millan <rmh@gnu.org>
3845
3846 Fix grub-emu build.
3847
3848 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
3849 * include/grub/emu/misc.h: ... here.
3850
3851 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
3852 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
3853
3854 * util/misc.c: Remove `<grub/util/libzfs.h>'.
3855 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
3856 (grub_get_libzfs_handle): Move to ...
3857 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
3858 (grub_get_libzfs_handle): ... here.
3859
c9f7ff97
BC
38602010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
3861
3862 * script/execute.c (grub_script_execute_cmdline): Check for NULL
3863 as command name case.
3864
a870a783
CW
38652010-08-02 Colin Watson <cjwatson@ubuntu.com>
3866
3867 * disk/raid.c (insert_array): Select unique numbers for named arrays
3868 as well, for use as keys in the disk cache.
3869
c7db243b
RM
38702010-08-01 Robert Millan <rmh@gnu.org>
3871
3872 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
3873 kFreeBSD device name, except on ZFS where the filesystem label is
3874 used.
3875 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
3876 `/boot/zfs/zpool.cache'.
3877 Set mountfrom kernel variable using ${kfreebsd_device}.
3878
f7abdefb
RM
38792010-08-01 Robert Millan <rmh@gnu.org>
3880
3881 Make it even harder to use uninitialized `libzfs_handle' (and
3882 make the interface a bit simpler).
3883
3884 * include/grub/util/misc.h (grub_util_init_libzfs)
3885 (libzfs_handle): Remove.
3886 (grub_get_libzfs_handle): New prototype.
3887
3888 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
3889 attribute.
3890 (grub_util_init_libzfs): Remove.
3891 (grub_get_libzfs_handle): New function.
3892
3893 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
3894 grub_get_libzfs_handle() to obtain a libzfs handle instead of
3895 accessing `libzfs_handle' directly.
3896
c882acc0
RM
38972010-08-01 Robert Millan <rmh@gnu.org>
3898
3899 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3900 (grub_find_zpool_from_mount_point): New function prototypes.
3901
3902 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3903 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3904
3905 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3906 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3907 `static' attribute.
3908
3909 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3910 finding zpool from mount point into ...
3911 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3912
3913 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3914 requested path is part of a ZFS pool, use
3915 grub_find_zpool_from_mount_point() to detect its filesystem name,
3916 and generate a path with `/fsname@path' syntax.
3917
8bfe31d8
CW
39182010-08-01 Colin Watson <cjwatson@ubuntu.com>
3919
3920 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
3921 (void) rather than () so that this is a proper prototype.
3922
553df63d
VS
39232010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
3926
8687cf07
VS
39272010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
3930 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
3931
ea9be8ea
CW
39322010-08-01 Colin Watson <cjwatson@ubuntu.com>
3933
3934 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
3935
6eea041a
CW
39362010-08-01 Colin Watson <cjwatson@ubuntu.com>
3937
3938 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
3939
2cfb45df
CW
39402010-08-01 Colin Watson <cjwatson@ubuntu.com>
3941
3942 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
3943 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
3944 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
3945 disable gfxpayload.
3946 (Shell-like scripting): Add real content.
3947 (Serial terminal): Suggest `terminal_input serial; terminal_output
3948 serial' rather than putting the two commands on separate lines,
3949 since console input will be inoperative after the first command.
3950 (menuentry): Document --class, --users, and --hotkey options.
3951 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
3952 Vladimir Serbinenko).
3953
7decd202
VS
39542010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
39552010-08-01 Colin Watson <cjwatson@ubuntu.com>
3956
3957 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
3958
c882acc0
RM
39592010-08-01 Robert Millan <rmh@gnu.org>
3960
3961 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3962 (grub_find_zpool_from_mount_point): New function prototypes.
3963
3964 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3965 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3966
3967 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3968 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3969 `static' attribute.
3970
3971 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3972 finding zpool from mount point into ...
3973 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3974
3975 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3976 requested path is part of a ZFS pool, use
3977 grub_find_zpool_from_mount_point() to detect its filesystem name,
3978 and generate a path with `/fsname@path' syntax.
3979
deb0caa3
RM
39802010-08-01 Robert Millan <rmh@gnu.org>
3981
3982 Prevent accidental use of uninitialized libzfs_handle.
3983
3984 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
3985 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
3986 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
3987
ce04ef47
CW
39882010-08-01 Colin Watson <cjwatson@ubuntu.com>
3989
3990 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
3991 util/grub.d/10_linux.in). Fixes Debian bug #591093.
3992
ebf53056
RM
39932010-08-01 Robert Millan <rmh@gnu.org>
3994
3995 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 3996
3710bb6b
RM
39972010-07-31 Robert Millan <rmh@gnu.org>
3998
3999 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
4000
8072efeb
RM
40012010-07-31 Robert Millan <rmh@gnu.org>
4002
4003 * kern/emu/misc.c: Add missing license header.
4004
3169f4c7
RM
40052010-07-31 Robert Millan <rmh@gnu.org>
4006
4007 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
4008
4009 * include/grub/util/libnvpair.h: Include `<config.h>'.
4010 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
4011 declaring libnvpair prototypes ourselves.
4012 * include/grub/util/libzfs.h: Include `<config.h>'.
4013 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
4014 declaring libzfs prototypes ourselves.
4015
4016 (libzfs_handle): Moved to ...
4017 * include/grub/util/misc.h (libzfs_handle): ... here.
4018 Include `<grub/util/libzfs.h>'.
4019
c9a00aee
RM
40202010-07-30 Robert Millan <rmh@gnu.org>
4021
4022 * include/grub/emu/misc.h: Add missing license header.
4023
a184f9c8
RM
40242010-07-30 Robert Millan <rmh@gnu.org>
4025
4026 Enable `grub-probe -t device' resolution on ZFS.
4027
4028 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
4029 * include/grub/util/libnvpair.h: New file.
4030 * include/grub/util/libzfs.h: New file.
4031
4032 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
4033 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
4034 `<grub/util/libnvpair.h>'.
4035 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
4036
4037 (find_mount_point_from_dir): New static function.
4038 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
4039 function.
4040 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
4041 find_root_device_from_libzfs() before ressorting to find_root_device().
4042
4043 * include/grub/util/misc.h (grub_util_init_libzfs): New function
4044 prototype.
4045 * util/misc.c: Include `<grub/util/libzfs.h>'.
4046 (grub_util_init_libzfs): New function.
4047 [HAVE_LIBZFS] (libzfs_handle): New global variable.
4048 [HAVE_LIBZFS] (fini_libzfs): New static function.
4049 (grub_util_init_libzfs): New function.
4050 * util/grub-probe.c (main): Call grub_util_init_libzfs().
4051
f7790cdd
RM
40522010-07-30 Robert Millan <rmh@gnu.org>
4053
4054 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
4055 (xmalloc, xrealloc, xstrdup, xasprintf): Add
4056 `warn_unused_result' attribute.
4057 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
4058 (grub_xasprintf, grub_xvasprintf): Likewise.
4059 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
4060
0806b63c
RM
40612010-07-29 Robert Millan <rmh@gnu.org>
4062
4063 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
4064 (probe): Handle `PRINT_FS_LABEL'.
4065 (main): Handle `-t fs_label'.
4066
9f841f5c
RM
40672010-07-29 Robert Millan <rmh@gnu.org>
4068
4069 * configure.ac: Remove grub-mkisofs checks.
4070
46371121
VS
40712010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * util/ieee1275/grub-install.in: Don't use empty grub_device.
4074 Reported by: Lennart Sorensen.
4075
40762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
4079 prior to terminal_input/terminal_output separation. It's been over 1.5
4080 years and those versions weren't widely deployed.
4081
a9600892
CW
40822010-07-22 Colin Watson <cjwatson@ubuntu.com>
4083
4084 * disk/raid.c (insert_array): Don't count named arrays when looking
4085 for unused array numbers.
697e053c 4086 Reported and tested by: Michael Guntsche.
a9600892 4087
c03507df
CW
40882010-07-20 Colin Watson <cjwatson@ubuntu.com>
4089
4090 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
4091 implementation of this so that grub-emu links again, with a note
4092 that this should support hotplugging in the future.
4093
b26f1c11
CW
40942010-07-20 Colin Watson <cjwatson@ubuntu.com>
4095
4096 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4097
efc9d7f1
CW
40982010-07-20 Colin Watson <cjwatson@ubuntu.com>
4099
4100 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
4101 handle on failure.
4102 (grub_loopback_close): Remove empty function.
4103 (grub_loopback_dev): Remove close method.
4104
dd8ff5c9
CW
41052010-07-20 Colin Watson <cjwatson@ubuntu.com>
4106
4107 Disable EFI cursor when the EFI console becomes inactive.
4108
4109 * term/efi/console.c (grub_efi_console_init): New function.
4110 (grub_efi_console_fini): New function.
4111 (grub_console_term_output): Register init and fini methods.
4112
5e3bec67
VS
41132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * tests/util/grub-shell-tester.in: Remove bashism and declare as
4116 sh script.
4117
afaec079
VS
41182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * disk/loopback.c (grub_loopback): Replace filename with file.
4121 (delete_loopback): Handle new semantics.
4122 (grub_cmd_loopback): Likewise.
4123 (grub_loopback_iterate): Likewise.
4124 (grub_loopback_close): Likewise.
4125
a6a11f3c
VS
41262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
4129 with -p "".
4130 Reported by: Tito Keitel.
4131
64a638b0
VS
41322010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * docs/grub.texi (Naming convention): Document new naming convention.
4135
ab8ba957
VS
41362010-07-20 Vadim Solomin <vadic052@gmail.com>
41372010-07-20 Colin Watson <cjwatson@ubuntu.com>
4138
4139 Generate device.map in something closer to the old ordering.
4140
4141 * util/deviceiter.c (struct device): New declaration.
4142 (compare_file_names): Rename to ...
4143 (compare_devices): ... this. Sort by kernel name in preference to
4144 the stable by-id name, but keep the latter as a fallback comparison.
4145 Update header comment.
4146 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
4147 of `struct device' rather than of plain file names.
4148
a29d6a4b
TF
41492010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
4150
4151 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
4152 on i386.
4153
39d824e8
VS
41542010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * commands/acpi.c (setup_common_tables): Use sizeof instead of
4157 hardcoding size.
4158 (setv1table): Likewise.
4159
f058276b
FZ
41602010-07-20 Colin Watson <cjwatson@ubuntu.com>
4161
4162 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
4163 removing the homehost if present.
4164 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
4165 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
4166 removing the homehost if present.
4167 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
4168 if possible.
4169 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
4170
4171 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
4172 parameter. Set its pointer target to 0.
4173 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
4174 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
4175 `data_offset' value from the superblock for 1.x metadata.
4176 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
4177 data on the device.
4178 (insert_array): Record the start sector of data on the device.
4179 (grub_raid_register): Pass start_sector parameters to
4180 grub_raid_list->detect and insert_array.
4181 * include/grub/raid.h (struct grub_raid_array): Add start_sector
4182 member.
4183 (struct grub_raid): Add start_sector parameter to `detect'.
4184
4185 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
4186 __attribute__ ((packed)), leaving a comment.
4187 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
4188 (grub_mdraid_detect_09): ... here and ...
4189 (grub_mdraid_detect_1x): ... here.
4190
41912010-07-20 Peter Henn <peter.henn@web.de>
4192
4193 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
4194 chunk size and disk size, which are already given as sector counts
4195 as distinct from the 0.90 units. Fetch the correct device number
4196 from the role table instead of using the table index.
4197
41982010-07-20 Felix Zielcke <fzielcke@z-51.de>
4199
4200 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
4201 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
4202 (WriteMostly1): New macro.
4203 Set array->name to NULL for metadata format 0.90. Add support for
4204 metadata 1.x. Fix some comments.
4205 * disk/raid.c (): Add support for name based RAID arrays. Fix a
4206 few comments.
4207 * util/getroot.c (grub_util_get_grub_dev): Add support for
4208 /dev/md/name style devices.
4209
4b761da9
CW
42102010-07-20 Colin Watson <cjwatson@ubuntu.com>
4211
4212 * .bzrignore: Ignore 20_linux_xen.
4213
5771289a
CW
42142010-07-17 Colin Watson <cjwatson@ubuntu.com>
4215
4216 * util/import_unicode.py: Remove unnecessary imports.
4217
5dab68df
AN
42182010-07-17 Aleš Nesrsta <starous@volny.cz>
4219
4220 Hotplugging and USB hub support.
4221
4222 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
4223 (grub_ohci): Likewise.
4224 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
4225 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
4226 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
4227 (GRUB_OHCI_CTRL_EDS): Likewise.
4228 (GRUB_OHCI_BULK_EDS): Likewise.
4229 (GRUB_OHCI_TDS): Likewise.
4230 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
4231 (grub_ohci_ed_phys2virt): New function.
4232 (grub_ohci_virt_to_phys): Likewise.
4233 (grub_ohci_td_phys2virt): Likewise.
4234 (grub_ohci_td_virt2phys): Likewise.
4235 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
4236 attachment.
4237 (grub_ohci_find_ed): New function.
4238 (grub_ohci_alloc_td): Likewise.
4239 (grub_ohci_free_td): Likewise.
4240 (grub_ohci_free_tds): Likewise.
4241 (grub_ohci_transfer): Use previously allocated memory.
4242 (grub_ohci_portstatus): Reset status changed bit.
4243 (grub_ohci_detect_dev): Supply status changed.
4244 (grub_ohci_fini_hw): Free memory.
4245 (grub_ohci_restore_hw): Reallocate memory.
4246 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
4247 Reset status change.
4248 (grub_uhci_detect_dev): Supply status_change.
4249 * bus/usb/usb.c (attach_hooks): New var.
4250 (grub_usb_device_attach): New function.
4251 (grub_usb_register_attach_hook_class): Likewise.
4252 (grub_usb_unregister_attach_hook_class): Likewise.
4253 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
4254 (grub_usb_add_hub): Reset connection changed bit.
4255 (attach_root_port): New function.
4256 (grub_usb_root_hub): Likewise.
4257 (poll_nonroot_hub): Likewise.
4258 (grub_usb_poll_devices): Likewise.
4259 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
4260 * disk/usbms.c (grub_usbms_open): Use device hooks.
4261 (grub_usbms_iterate) :Poll devices.
4262 (grub_usbms_finddevs): Split into ...
4263 (grub_usbms_attach): ... this ...
4264 (grub_usbms_attach): ... and this.
4265 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
4266 in detect_dev.
4267 (grub_usb_interface): New fields attached and detach_hook.
4268 (grub_usb_attach_hook_class): New type.
4269 (grub_usb_attach_desc): New struct.
4270 (grub_usb_register_attach_hook_class): New function.
4271 (grub_usb_unregister_attach_hook_class): Likewise.
4272 (grub_usb_poll_devices): Likewise.
4273 (grub_usb_device_attach): Likewise.
4274 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
4275 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
4276
3222efaf
VS
42772010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
4280 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
4281 delta determination style. Works with most NetBSD partitions too.
4282
139b714a
VS
42832010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
4286 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
4287
986aad56
VS
42882010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
4291
99be513c
AB
42922010-07-14 Anton Blanchard <anton@samba.org>
4293
4294 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
4295 ET_DYN files.
4296
18075f62
GS
42972010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4298
4299 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
4300
8d9a5b15
GS
43012010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4302
4303 * kern/partition.c (grub_partition_check_containment): New function to
4304 check that a partition is physically contained in a parent. Since
4305 offsets are relative (and non-negative), this reduces to checking that
4306 the partition ends before its parent.
4307 (grub_partition_map_probe): Discard out-of-range sub-partitions.
4308 (grub_partition_iterate): Likewise.
4309 * include/grub/partition.h (grub_partition_map): Slightly more detailed
4310 comments.
4311 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
4312 partitions that start before their parent, and add debug printfs.
4313
19563c25
CW
43142010-07-13 Colin Watson <cjwatson@ubuntu.com>
4315
4316 * Makefile.in (.SUFFIX): Spell correctly, as ...
4317 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
4318 bare module name without `.mod', e.g. `test') tried to invoke a
4319 Modula-2 compiler.
4320
1a1f1e67
CW
43212010-07-13 Colin Watson <cjwatson@ubuntu.com>
4322
4323 * README: Point to the Info manual.
4324
811b0dca
JS
43252010-07-13 Jiro SEKIBA <jir@unicus.jp>
4326
4327 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
4328 2nd superblock position from partition size.
4329
e4f4eafc
CW
43302010-07-10 Colin Watson <cjwatson@ubuntu.com>
4331
4332 * Makefile.in (MAINTAINER_CLEANFILES): Remove
4333 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
4334 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
4335 outputs.
4336
4274c30f
VS
43372010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 Restructure SCSI .id handling.
4340 Reported and tested by: Aleš Nesrsta.
4341
4342 * disk/ata.c (grub_atapi_close): Removed. All users updated.
4343 (grub_atapi_dev): Changed .name to "ata". New field .id.
4344 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
4345 (grub_usbms_dev): New field .id.
4346 * disk/scsi.c (grub_scsi_iterate): Generate name.
4347 (grub_scsi_open): Parse name.
4348 * include/grub/scsi.h (grub_make_scsi_id): New function.
4349 (grub_scsi_dev): Change iterate and open to number instead of naming
4350 busses. All users updated.
4351 (grub_scsi): Remove name. Add .bus.
4352
5bc24388
VS
43532010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * commands/help.c (grub_cmd_help): Fix a typo.
4356
249975ba
VS
43572010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
4360 Reported and tested by: Colin Watson.
4361
3eaac1a1
VS
43622010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
4365 in this context.
4366
becce1b1
VS
43672010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
4370
f7bf0918
CW
43712010-07-07 Colin Watson <cjwatson@ubuntu.com>
4372
4373 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
4374 indentation.
4375
0b0f9620
CW
43762010-07-06 Colin Watson <cjwatson@ubuntu.com>
4377
4378 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
4379 and disk/raid6_recover.c.
4380 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4381 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4382
1e545469
CW
43832010-07-06 Colin Watson <cjwatson@ubuntu.com>
4384
4385 * term/gfxterm.c (repaint_schedulded): Rename to ...
4386 (repaint_scheduled): ... this. Update all callers.
4387 (repaint_was_schedulded): Rename to ...
4388 (repaint_was_scheduled): ... this. Update all callers.
4389
5357687a
CW
43902010-07-06 Colin Watson <cjwatson@ubuntu.com>
4391
4392 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
4393 which we expect to be handled by upper layers.
4394
29d7e783
BC
43952010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
4396
4397 * bus/usb/usbhub.c: #include time.h header.
4398
37582066
CW
43992010-07-06 Colin Watson <cjwatson@ubuntu.com>
4400
4401 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
4402 entry_name also for entries without stat blocks (e.g. ".."); fixes
4403 corruption of the first entry in a directory.
4404
c8c06953
CW
44052010-07-06 Colin Watson <cjwatson@ubuntu.com>
4406
4407 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
4408 after setting gfxterm as the active terminal. GRUB_BACKGROUND
4409 doesn't work otherwise.
4410
e75056f1
CW
44112010-07-05 Colin Watson <cjwatson@ubuntu.com>
4412
4413 * docs/grub.texi (Features): Update list of supported file systems.
4414 (GNU/Linux): Update for GRUB 2.
4415 (Serial terminal): Remove mention of --disable-serial, which was a
4416 GRUB Legacy configure option. Update instructions to use
4417 `terminal_input' and `terminal_output' rather than `terminal'.
4418 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
4419 configuration' and `Installing GRUB using grub-install'.
4420 (Menu entry editor): Update for GRUB 2.
4421 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
4422 Document new -a, -u, and -v options.
4423 (initrd): New section.
4424 (initrd16): New section.
4425 (linux): New section.
4426 (linux16): New section.
4427 (search): The `var' argument to `--set' is optional.
4428 (GRUB only offers a rescue shell): Go into a little more detail on
4429 drive ordering.
4430
5cf69151
CW
44312010-07-05 Colin Watson <cjwatson@ubuntu.com>
4432
4433 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
4434
e3f90044
CW
44352010-07-05 Colin Watson <cjwatson@ubuntu.com>
4436
4437 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
4438 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
4439
38d8f4f3
CW
44402010-07-05 Colin Watson <cjwatson@ubuntu.com>
4441
4442 * util/i386/pc/grub-setup.c (setup): Rename prefix to
4443 install_prefix, in line with install_dos_part and install_bsd_part.
4444 Add new prefix variable, which is copied to install_prefix after
4445 comparing core.img in memory with the one read from disk in the
4446 no-embedding case, and use that rather than overwriting
4447 install_prefix immediately when installing to a partition.
4448 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
4449 Bicakci.
4450
57ebd41e
GS
44512010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4452
4453 * configure.ac: Avoid == in test command, it's not portable.
4454 * util/grub.d/30_os-prober.in: Likewise.
4455
cb7f64b2
CW
44562010-07-04 Colin Watson <cjwatson@ubuntu.com>
4457
4458 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
4459
6b654bb0
GS
44602010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4461
4462 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
4463 multiple (top-level) partmaps.
4464
72a2026d
VS
44652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 4468 Reported by: Tino Keitel.
72a2026d 4469
df3eb88f
VS
44702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 Bidi and diacritics support.
4473
4474 * Makefile.in (widthspec.bin): New target.
4475 (widthspec.h): Likewise.
4476 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
4477 * autogen.sh: Generate unidata.c.
4478 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
4479 * commands/ls.c (grub_ls_list_devices): Likewise.
4480 (grub_ls_list_files): Likewise.
4481 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
4482 (grub_mini_cmd_lsmod): Likewise.
4483 * commands/read.c: Likewise.
4484 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
4485 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
4486 * lib/arg.c (grub_arg_show_help): Likewise.
4487 * lib/crypto.c (grub_password_get): Likewise.
4488 * normal/auth.c (grub_username_get): Likewise.
4489 * normal/misc.c (grub_normal_print_device_info): Likewise.
4490 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
4491 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
4492 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
4493 (normal/charset.c_DEPENDENCIES): New variable.
4494 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
4495 (pkglib_MODULES): Remove charset.mod.
4496 (charset_mod_SOURCES): Removed.
4497 (charset_mod_CFLAGS): Likewise.
4498 (charset_mod_LDFLAGS): Likewise.
4499 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
4500 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
4501 and term/tparm.c.
4502 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4503 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4504 (kernel_img_HEADERS): Add terminfo.h.
4505 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
4506 Fill ->font. Reverse ascii bitmaps.
4507 (grub_font_get_xheight): New function.
4508 * font/font.c (grub_font_get_string_width): Moved from here ...
4509 * gfxmenu/font.c (grub_font_get_string_width): ... here.
4510 * font/font.c (grub_font_draw_string): Moved from here ...
4511 * gfxmenu/font.c (grub_font_draw_string): ... here.
4512 * font/font.c (grub_font_dup_glyph): New function.
4513 (grub_font_blit_glyph): Likewise.
4514 (grub_font_blit_glyph_mirror): Likewise.
4515 (blit_comb): Likewise.
4516 (grub_font_construct_dry_run): Likewise.
4517 (grub_font_get_constructed_device_width): Likewise.
4518 (grub_font_construct_glyph): Likewise.
4519 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
4520 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
4521 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
4522 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
4523 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
4524 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
4525 (grub_font_get_xheight): New proto.
4526 (grub_font_get_constructed_device_width): Likewise.
4527 (grub_font_construct_glyph): Likewise.
4528 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
4529 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
4530 * include/grub/font.h (grub_font_draw_string): Moved from here ...
4531 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
4532 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
4533 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
4534 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
4535 (grub_console_getcharwidth): Likewise.
4536 * include/grub/misc.h (grub_xputs): New proto.
4537 (grub_puts): Inlined.
4538 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
4539 (grub_normal_get_line_counter): Removed.
4540 (grub_install_newline_hook): Likewise.
4541 (grub_normal_get_char_counter): New proto.
4542 (grub_normal_reset_more): Likewise.
4543 (grub_xputs_normal): Likewise.
4544 * include/grub/powerpc/ieee1275/console.h: Removed.
4545 * include/grub/sparc64/ieee1275/console.h: Likewise.
4546 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
4547 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
4548 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
4549 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
4550 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
4551 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
4552 (grub_term_input): Pass reference to self. All users updated.
4553 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
4554 Pass reference to self. New fields normal_color, highlight_color and
4555 data. All users updated.
4556 (grub_putchar): Removed.
4557 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
4558 (grub_unicode_estimate_width): New function.
4559 (grub_term_getcharwidth): Add defaults.
4560 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
4561 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
4562 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
4563 (grub_cls): Remove EXPORT_FUNC.
4564 (grub_setcolorstate): Inline.
4565 (grub_newline_hook): Removed.
4566 * include/grub/terminfo.h: Rewritten. All users updated.
4567 * include/grub/unicode.h: New file.
4568 * include/grub/video.h (grub_video_signed_rect): New type.
4569 * kern/emu/console.c (grub_console_highlight_color): Removed.
4570 (grub_console_normal_color): Likewise.
4571 (grub_console_standard_color): Made static.
4572 (grub_ncurses_putchar): Remove mapping.
4573 (grub_ncurses_getcharwidth): Removed.
4574 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4575 (grub_ncurses_setcolor): Removed.
4576 (grub_ncurses_getcolor): Likewise.
4577 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
4578 (grub_console_putchar): ... this.
4579 (grub_console_putchar): Handle argument difference.
4580 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
4581 console_init_early and console_init_lately.
4582 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
4583 * kern/misc.c (grub_puts): Removed.
4584 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
4585 (grub_vsnprintf_real): Remove str = NULL support.
4586 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
4587 * normal/charset.c (grub_utf8_to_ucs4): ... here.
4588 * kern/term.c (grub_putcode): Renamed to ...
4589 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
4590 (grub_putchar): Removed.
4591 (grub_xputs_dumb): New function.
4592 (grub_xputs): New variable.
4593 * lib/charset.c: Move from here ...
4594 * normal/charset.c: ... to here.
4595 (grub_ucs4_to_utf8): New function.
4596 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
4597 (join_types): New variable.
4598 (unpack_join): New function.
4599 (bidi_types): New variable.
4600 (unpack_bidi): New function.
4601 (get_bidi_type): Likewise.
4602 (get_join_type): Likewise.
4603 (is_mirrored): Likewise.
4604 (grub_unicode_get_comb_type): Likewise.
4605 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
4606 (is_type_after): Likewise.
4607 (grub_unicode_aglomerate_comb): Likewise.
4608 (bidi_line_wrap): Likewise.
4609 (grub_bidi_line_logical_to_visual): Likewise.
4610 (grub_bidi_logical_to_visual): Likewise.
4611 (grub_unicode_mirror_code): Likewise.
4612 (grub_unicode_shape_code): Likewise.
4613 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
4614 Don't use grub_putchar.
4615 * normal/main.c (grub_normal_init_page): Use grub_putcode.
4616 (grub_normal_reader_init): Likewise.
4617 (grub_xputs_saved): New variable.
4618 (GRUB_MOD_INIT): Set grub_xputs.
4619 (GRUB_MOD_FINI): Restore grub_xputs.
4620 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
4621 (menu_init): Avoid printing gfxmenu error.
4622 (show_menu): Use grub_normal_get_char_counter.
4623 * normal/menu_entry.c (update_screen): Fix out-of-array.
4624 (complete): Avoid NULL dereferencing.
4625 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
4626 * normal/menu_text.c (print_spaces): Removed.
4627 (grub_print_ucs4): Likewise.
4628 (grub_print_message_indented): Use grub_print_ucs4.
4629 (print_message): Use grub_putcode.
4630 (print_entry): Hanlde diacritics.
4631 * normal/term.c (term_state): New type.
4632 (grub_more_lines): Removed.
4633 (term_states): New variable.
4634 (grub_normal_line_counter): Renamed to ..
4635 (grub_normal_char_counter): ...this. All users updated.
4636 (grub_normal_get_line_counter): Renamed to ...
4637 (grub_normal_get_char_counter): ... this.
4638 (grub_normal_reset_more): New function.
4639 (process_newline): Removed.
4640 (print_more): New function.
4641 (grub_install_newline_hook): Removed.
4642 (map_code): New function.
4643 (grub_puts_terminal): Use grub_print_ucs4.
4644 (putglyph): New function.
4645 (putcode_real): Likewise.
4646 (grub_putcode): Use putcode_real.
4647 (get_maxwidth): New function.
4648 (get_startwidth): Likewise.
4649 (print_ucs4_terminal): Likewise.
4650 (find_term_state): Likewise.
4651 (put_glyphs_terminal): Likewise.
4652 (print_backlog): Likewise.
4653 (print_ucs4_real): Likewise.
4654 (grub_print_ucs4): Likewise.
4655 (grub_xputs_normal): Likewise.
4656 * term/efi/console.c (grub_console_putchar): Output diacritics.
4657 (grub_console_getcharwidth): Removed.
4658 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4659 * term/gfxterm.c (clear_char): Free chars.
4660 (scroll_up): Avoid leaking memory.
4661 (grub_gfxterm_putchar): Support diacritics.
4662 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4663 * term/i386/pc/console.c (grub_console_term_output): Declare as
4664 GRUB_TERM_CODE_TYPE_VGA.
4665 * term/i386/pc/vga.c (grub_vga_term): Declare as
4666 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
4667 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
4668 GRUB_TERM_CODE_TYPE_VGA.
4669 * term/i386/vga_common.c (map_char): Removed.
4670 (grub_console_putchar): Likewise.
4671 (grub_console_getcharwidth): Likewise.
4672 * term/ieee1275/ofconsole.c: Simplify using terminfo.
4673 (colors): Reordered to match terminfo.
4674 (grub_ofconsole_normal_color): Removed.
4675 (grub_ofconsole_writeesc): Likewise.
4676 (grub_ofconsole_highlight_color): Likewise.
4677 (grub_ofconsole_getcharwidth): Likewise.
4678 (grub_ofconsole_setcolorstate): Likewise.
4679 (grub_ofconsole_setcolor): Likewise.
4680 (grub_ofconsole_getcolor): Likewise.
4681 (grub_ofconsole_readkey): Renamed to ...
4682 (readkey): ... this. Remove escape sequence handling. Return -1 on no
4683 key.
4684 (grub_ofconsole_checkkey): Removed.
4685 (grub_ofconsole_getkey): Likewise.
4686 (grub_ofconsole_getxy): Likewise.
4687 (grub_ofconsole_gotoxy): Likewise.
4688 (grub_ofconsole_cls): Likewise.
4689 (grub_ofconsole_refresh): Likewise.
4690 (grub_ofconsole_terminfo_input): New struct.
4691 (grub_ofconsole_terminfo_output): Likewise.
4692 (grub_ofconsole_term_input): Use terminfo.
4693 (grub_ofconsole_term_output): Likewise.
4694 (grub_console_init): Split into ...
4695 (grub_console_init_early): ...this and ...
4696 (grub_console_init_lately): ...this. Use terminfo.
4697 (grub_ofconsole_putchar): Renamed to ...
4698 (put): ... this. Remove mapping.
4699 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4700 * term/serial.c: Simplify using terminfo.
4701 (xpos): Removed.
4702 (ypos): Likewise.
4703 (keep_track): Likewise.
4704 (registered): Likewise.
4705 (input_buf): Likewise.
4706 (npending): Likewise.
4707 (serial_translate_key_sequence): Likewise.
4708 (fill_input_buf): Likewise.
4709 (grub_serial_checkkey): Likewise.
4710 (grub_serial_getkey): Likewise.
4711 (grub_serial_getxy): Likewise.
4712 (grub_serial_gotoxy): Likewise.
4713 (grub_serial_putchar): Likewise.
4714 (grub_serial_cls): Likewise.
4715 (grub_serial_setcolorstate): Likewise.
4716 (grub_serial_setcursor): Likewise.
4717 (serial_hw_init): Use serial_hw_fetch.
4718 (grub_serial_terminfo_input): New variable.
4719 (grub_serial_terminfo_output): Likewise.
4720 (grub_serial_term_input): Use terminfo.
4721 (grub_serial_term_output): Likewise.
4722 * term/terminfo.c (putstr): Use put.
4723 (grub_terminfo_all_free): New function
4724 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
4725 (grub_terminfo_output_register): New function.
4726 (grub_terminfo_output_unregister): Likewise.
4727 (grub_terminfo_getxy): Likewise.
4728 (grub_terminfo_readkey): Likewise.
4729 (grub_terminfo_checkkey): Likewise.
4730 (grub_terminfo_getkey): Likewise.
4731 (grub_terminfo_input_init): Likewise.
4732 (print_terminfo): Likewise.
4733 (grub_cmd_terminfo): Handle encoding.
4734 (grub_terminfo_gotoxy): Track position.
4735 (grub_terminfo_cls): Likewise.
4736 (grub_terminfo_putchar): Likewise.
4737 (grub_terminfo_setcolorstate): Handle colors
4738 (grub_terminfo_cursor_on): This ...
4739 (grub_terminfo_cursor_off): ... and this merged into ...
4740 (grub_terminfo_setcursor): ... this.
4741 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
4742 * unicode/ArabicShaping.txt: New file (imported from Unicode).
4743 * unicode/BidiMirroring.txt: Likewise.
4744 * unicode/UnicodeData.txt: Likewise.
4745 * unicode/COPYING: Likewise.
4746 * util/grub-editenv.c (grub_putchar): Removed.
4747 (grub_xputs_real): New function.
4748 (grub_xputs): New variable.
4749 * util/grub-fstest.c (grub_putchar): Removed.
4750 (grub_xputs_real): New function.
4751 (grub_xputs): New variable.
4752 * util/grub-mkdevicemap.c (grub_putchar): Removed.
4753 (grub_xputs_real): New function.
4754 (grub_xputs): New variable.
4755 * util/grub-probe.c (grub_putchar): Removed.
4756 (grub_xputs_real): New function.
4757 (grub_xputs): New variable.
4758 * util/grub-script-check.c (grub_putchar): Removed.
4759 (grub_xputs_real): New function.
4760 (grub_xputs): New variable.
4761 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
4762 (grub_xputs_real): New function.
4763 (grub_xputs): New variable.
4764 * util/import_unicode.py: New file.
4765 * util/grub-mkfont.c (ft_errmsgs): New array.
4766 (grub_glyph_info): Make bitmap a pointer.
4767 (file_formats): New type WIDTH_SPEC.
4768 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
4769 (options): Add width-spec.
4770 (help): Likewise.
4771 (add_char): Renamed to ...
4772 (add_glyph): ... this.
4773 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
4774 (glyph_replace): New type.
4775 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
4776 (add_char): New function.
4777 (add_subst): Likewise.
4778 (process_cursive): Likewise.
4779 (add_font): Handle GSUB.
4780 (write_font_width_spec): New function.
4781 (main): Sort glyphs.
4782 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
4783 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
4784 * kern/term.c (grub_cls): Moved from here...
4785 * normal/term.c (grub_cls): ... here.
4786
50f0bcda
CW
47872010-07-02 Colin Watson <cjwatson@ubuntu.com>
4788
4789 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
4790 suitable for using within the format argument of printf when
4791 converting grub_size_t.
4792 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
4793 "x" to convert grub_size_t arguments.
4794
40372103
VS
47952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
4798 too long captions.
4799 (list_get_minimal_size): Take selection box into account.
4800
942a10c7
VS
48012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
4804 NULL font.
4805
2bdb2892
CW
48062010-07-02 Colin Watson <cjwatson@ubuntu.com>
4807
4808 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
4809 devices when iterating over /dev/disk/by-id; they will be handled
4810 later if appropriate, which they aren't always (e.g. LVM).
4811
e03ed6c1
CW
48122010-07-02 Colin Watson <cjwatson@ubuntu.com>
4813
4814 * include/grub/misc.h (grub_reboot): Declare as noreturn.
4815 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
4816 fails.
4817 (grub_halt): Likewise.
4818 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
4819 reset-all fails.
4820 (grub_halt): Don't return, even if all of shut-down, power-off, and
4821 poweroff fail.
4822
47695765
CW
48232010-07-02 Colin Watson <cjwatson@ubuntu.com>
4824
4825 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
4826 arguments, not three.
4827
507736c8
CW
48282010-07-02 Colin Watson <cjwatson@ubuntu.com>
4829
4830 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
4831 * util/grub.d/10_linux.in: Use it to check for LVM, so that
4832 LVM-on-RAID is handled correctly.
4833
e3c8cd37
CW
48342010-07-02 Colin Watson <cjwatson@ubuntu.com>
4835
4836 * docs/grub.texi (Changes from GRUB Legacy): New section.
4837 (Future): Fix typo.
4838
8d4a2fec
CW
48392010-07-02 Colin Watson <cjwatson@ubuntu.com>
4840
4841 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
4842 grub.d/README accidentally ends up executable for one reason or
4843 another. Ignore it.
4844
1c4827be
VS
48452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
4848 (gpt_partition_map_iterate): Support non-512B sectors.
4849
d9a0c941
VS
48502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * kern/efi/init.c (grub_efi_init): Disable watchdog.
4853 Tested by: Seth Goldberg.
4854
48f27e87
VS
48552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
4858 Properly align mbi.
4859 Reported by: Seth Goldberg.
4860
b0c4f956
VS
48612010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * util/grub-mkrescue.in: Avoid module duplication.
4864
105a2e8c
SF
48652010-07-01 Sean Finney <seanius@seanius.net>
4866
4867 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
4868
5944958c
SF
48692010-07-01 Sean Finney <seanius@seanius.net>
4870
4871 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
4872
48732010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * disk/lvm.c (grub_lvm_checkvalue): New function.
4876 (grub_lvm_check_flag): Likewise.
4877
b79889ba
RM
48782010-07-01 Robert Millan <rmh@gnu.org>
4879
4880 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
4881 Support 'p' as partition separator on kernel of FreeBSD (used
4882 with GPT labels).
4883 (grub_util_biosdisk_get_grub_dev): Likewise.
4884
ec1d04f1
VS
48852010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 Yeeloong firmware port.
4888
4889 * boot/mips/yeeloong/fwstart.S: New file.
4890 * bus/cs5536.c (gpiodump): New const.
4891 (set_io_space): New function.
4892 (set_iod): Likewise.
4893 (set_p2d): Likewise.
4894 (grub_cs5536_init_geode): Likewise.
4895 * commands/mips/yeeloong/lsspd.c: New file.
4896 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
4897 (serial_mod_SOURCES): New variable.
4898 (serial_mod_CFLAGS): Likewise.
4899 (serial_mod_LDFLAGS): Likewise.
4900 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
4901 term/terminfo.c and term/tparm.c.
4902 (pkglib_IMAGES): Add fwstart.img.
4903 (fwstart_img_SOURCES): New variable.
4904 (fwstart_img_CFLAGS): Likewise.
4905 (fwstart_img_ASFLAGS): Likewise.
4906 (fwstart_img_LDFLAGS): Likewise.
4907 (fwstart_img_FORMAT): Likewise.
4908 (pkglib_MODULES): Add lsspd.mod.
4909 (lsspd_mod_SOURCES): New variable.
4910 (lsspd_mod_CFLAGS): Likewise.
4911 (lsspd_mod_LDFLAGS): Likewise.
4912 (pkglib_MODULES): Add halt.mod.
4913 (halt_mod_SOURCES): New variable.
4914 (halt_mod_CFLAGS): Likewise.
4915 (halt_mod_LDFLAGS): Likewise.
4916 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
4917 (serial_mod_SOURCES): Removed.
4918 (serial_mod_CFLAGS): Likewise.
4919 (serial_mod_LDFLAGS): Likewise.
4920 * disk/ata.c (check_device): New function.
4921 (grub_ata_device_initialize): Use check_device.
4922 (grub_ata_iterate): Recheck devices.
4923 (grub_ata_open): Likewise.
4924 (grub_atapi_iterate): Likewise.
4925 (grub_atapi_open): Likewise.
4926 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
4927 (GRUB_ATA_CH1_PORT1): Likewise.
4928 (GRUB_ATA_CH0_PORT2): Likewise.
4929 (GRUB_ATA_CH1_PORT2): Likewise.
4930 * include/grub/mips/loongson.h: New file.
4931 * include/grub/mips/yeeloong/ec.h: Likewise.
4932 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
4933 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
4934 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
4935 * include/grub/misc.h (grub_halt): Declare as noreturn.
4936 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
4937 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
4938 (UART_ENABLE_FIFO_TRIGGER1): New definition.
4939 (UART_ENABLE_DTRRTS): Likewise.
4940 (UART_ENABLE_MODEM): Removed.
4941 (UART_ENABLE_OUT2): New const.
4942 * include/grub/term.h (grub_term_register_input_active): New function.
4943 (grub_term_register_output_active): Likewise.
4944 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
4945 argument.
4946 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
4947 (init_pci): New function.
4948 (grub_machine_init): Execute platform init when firmware. Init serial.
4949 (grub_halt): Implement.
4950 (grub_exit): Likewise.
4951 (grub_reboot): Likewise.
4952 * term/serial.c (serial_hw_init): Update macros.
4953 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
4954 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
4955 (image_targets): New target mipsel-yeeloong-flash.
4956 (generate_image): Support IMAGE_YEELOONG_FLASH.
4957 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
4958 (grub_video_sm712_setup): Init card.
4959 (grub_video_sm712_set_palette): Removed.
4960 * video/sm712_init.c: New file.
4961
ff4a70d2
CW
49622010-06-30 Colin Watson <cjwatson@ubuntu.com>
4963
4964 * Makefile.in (install-local): Temporarily prepend $(builddir) to
4965 PATH when running help2man and then run it on the unadorned
4966 executable names, rather than passing $(builddir)/* paths to
4967 help2man. This avoids the build directory ending up in generated
4968 manual pages.
4969
1246efeb
CW
49702010-06-29 Colin Watson <cjwatson@ubuntu.com>
4971
4972 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
4973 to avoid accidents when debugging with 'sh -x'.
4974 * util/grub-mkrescue.in: Likewise.
4975 * util/grub.d/00_header.in: Likewise.
4976 * util/grub.d/10_hurd.in: Likewise.
4977 * util/grub.d/10_kfreebsd.in: Likewise.
4978 * util/grub.d/10_linux.in: Likewise.
4979 * util/grub.d/10_netbsd.in: Likewise.
4980 * util/grub.d/10_windows.in: Likewise.
4981 * util/grub.d/20_linux_xen.in: Likewise.
4982 * util/grub.d/30_os-prober.in: Likewise.
4983 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4984
1ba9b889
CW
49852010-06-29 Colin Watson <cjwatson@ubuntu.com>
4986
4987 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
4988 last character in the buffer.
4989 Reported by: Vladimir Serbinenko.
4990
dccaf99d
RM
49912010-06-29 Robert Millan <rmh@gnu.org>
4992
4993 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
4994 (Command-line and menu entry commands): Document `badram' command.
4995
d500ed12
RM
49962010-06-28 Robert Millan <rmh@gnu.org>
4997
4998 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
4999 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
5000 command using ${GRUB_BADRAM} as parameter.
5001
20bc84a6
CW
50022010-06-28 Colin Watson <cjwatson@ubuntu.com>
5003
5004 * docs/grub.texi (Device map): New section.
5005 (Themes): New section (stub).
5006 * Makefile.in (docs/grub.info): The info documentation now builds
5007 without errors. Make sure it stays that way.
5008
4045dee1
VS
50092010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 Use normal parser for menu entries.
5012 Reported by: Thomas Frauendorfer
5013
5014 * include/grub/parser.h (grub_parser_execute): Don't export.
5015 * normal/menu.c (grub_menu_execute_entry_real): New function.
5016 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
5017
bca58c7b
CW
50182010-06-28 Colin Watson <cjwatson@ubuntu.com>
5019
5020 * docs/grub.texi (Embedded configuration): New section (replacing
5021 old "Preset Menu" stub).
5022 (Images): New section.
5023 (configfile): Note that any menu entries defined in `file' are shown
5024 immediately.
5025
dec53e63
JT
50262010-06-28 Josh Triplett <josh@joshtriplett.org>
5027
5028 * mmap/i386/pc/mmap_helper.S: Set CF on return.
5029
c06e40f7
CW
50302010-06-28 Colin Watson <cjwatson@ubuntu.com>
5031
5032 * util/grub-install.in: Add --debug-image= option.
5033
cb88052b
CW
50342010-06-28 Colin Watson <cjwatson@ubuntu.com>
5035
5036 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
5037 possible on Linux.
5038
5039 * util/deviceiter.c (check_device): Rename to ...
5040 (check_device_readable_unique): ... this. Update all callers.
5041 Maintain and check a list of which devices (by canonicalized name)
5042 have already been seen.
5043 (clear_seen_devices): New function.
5044 (compare_file_names) [__linux__]: New function.
5045 (grub_util_iterate_devices): Clear the list of seen devices on exit
5046 and (just in case) on entry.
5047 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
5048 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
5049 seen-devices list, superseded by general code in check_device.
5050
bbe34652
CW
50512010-06-28 Colin Watson <cjwatson@ubuntu.com>
5052
5053 * commands/cat.c (options): New variable.
5054 (grub_cmd_cat): Parse options. If the --dos option is given, print
5055 DOS-style "\r\n" line endings as simple newlines (Debian bug
5056 #586358).
5057 (GRUB_MOD_INIT): Use extcmd.
5058 (GRUB_MOD_FINI): Likewise.
5059 * docs/grub.texi (cat): Document --dos.
5060
412e09f3
VS
50612010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 XEN with Linux grub-mkconfig support.
5064
5065 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
5066 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
5067 GRUB_CMDLINE_XEN_DEFAULT.
5068 * util/grub.d/20_linux_xen.in: New file.
5069
53f3ef38 50702010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
5071
5072 Initialise VGA video on qemu ourselves.
5073
5074 * boot/i386/qemu/boot.S: Don't call 0xc000.
5075 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
5076 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
5077 (kernel_img_HEADERS): Add pci.h.
5078 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
5079 * configure.ac: Force unifont on qemu and yeeloong.
5080 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
5081 (grub_vga_palette_write): Use correct register.
5082 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
5083 Call grub_qemu_init_cirrus.
5084 * kern/i386/qemu/init.c: New file.
5085 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
5086
5087 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
5088
c75be4fb
PR
50892010-06-26 Pavel Roskin <proski@gnu.org>
5090
5091 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
5092 13.
5093
d8034603
CW
50942010-06-26 Colin Watson <cjwatson@ubuntu.com>
5095
5096 * docs/grub.texi (Simple configuration): Explain that
5097 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
5098 set to `true' to disable their respective recovery entries, not
5099 merely set.
5100
3fa06487
CW
51012010-06-26 Colin Watson <cjwatson@ubuntu.com>
5102
5103 Make the `source' command slightly faster.
5104
5105 * normal/main.c (grub_normal_execute): Don't re-read list files when
5106 nested.
5107
e9b29642
CW
51082010-06-23 Colin Watson <cjwatson@ubuntu.com>
5109
5110 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
5111 field position and mask size to red fields from mode_info, not
5112 green.
5113 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
5114 Remove redundant tag->common.framebuffer_type assignment.
5115 Reported by: Seth Goldberg.
5116
e726542f
CW
51172010-06-23 Colin Watson <cjwatson@ubuntu.com>
5118
5119 Sync up other versions of the Linux loader with Robert Millan's
5120 change of 2010-01-09, "Make loader output a bit more user-friendly".
5121
5122 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
5123 grub_dprintf().
5124 (grub_cmd_linux): Likewise.
5125 (grub_cmd_initrd): Likewise.
5126 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
5127 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5128
d6e98a17
CW
51292010-06-21 Colin Watson <cjwatson@ubuntu.com>
5130
5131 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
5132 larger than MEMORY_MAP_SIZE.
5133
14d3f08e
BC
51342010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
5135
5136 Fix parallel build.
5137
5138 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
5139 dependency.
5140 * script/parser.y: #include grub_script.tab.h header.
5141
4f9613a3
VS
51422010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 Support >3GiB and <16MiB RAM in i386-qemu.
5145
5146 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
5147 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
5148 (grub_lower_mem): Removed.
5149 (grub_upper_mem): Likewise.
5150 (mem_size): Made static.
5151 (above_4g): New variable.
5152 (grub_machine_mmap_init): Detect small mem_size and above_4g.
5153 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
5154 support.
5155
05e51879
VS
51562010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 Cirrus 5446 and Bochs video cards support.
5159
5160 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
5161 video_bochs.mod
5162 (video_cirrus_mod_SOURCES): New variable.
5163 (video_cirrus_mod_CFLAGS): Likewise.
5164 (video_cirrus_mod_LDFLAGS): Likewise.
5165 (video_bochs_mod_SOURCES): Likewise.
5166 (video_bochs_mod_CFLAGS): Likewise.
5167 (video_bochs_mod_LDFLAGS): Likewise.
5168 * include/grub/vga.h: New file.
5169 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
5170 (grub_video_fb_set_page_t): New type.
5171 (grub_video_fb_setup): New prototype.
5172 (grub_video_fb_swap_buffers): Likewise.
5173 (grub_video_fb_get_info_and_fini): Likewise.
5174 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
5175 (CRTC_DATA_PORT): Likewise.
5176 (CRTC_CURSOR): Likewise.
5177 (CRTC_CURSOR_ADDR_HIGH): Likewise.
5178 (CRTC_CURSOR_ADDR_LOW): Likewise.
5179 (CRTC_CURSOR_DISABLE): Likewise.
5180 (update_cursor): Use grub_vga_cr_write.
5181 (grub_vga_text_setcursor): Likewise.
5182 * video/bochs.c: New file.
5183 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
5184 (palette): Likewise.
5185 (palette_size): Likewise.
5186 (framebuffer): New variable.
5187 (grub_video_fb_init): Use 'framebuffer'.
5188 (grub_video_fb_fini): Likewise.
5189 (grub_video_fb_get_info): Likewise.
5190 (grub_video_fb_get_palette): Likewise.
5191 (grub_video_fb_set_palette): Likewise.
5192 (grub_video_fb_set_viewport): Likewise.
5193 (grub_video_fb_get_viewport): Likewise.
5194 (grub_video_fb_map_color): Likewise.
5195 (grub_video_fb_map_rgb): Likewise.
5196 (grub_video_fb_map_rgba): Likewise.
5197 (grub_video_fb_unmap_color): Likewise.
5198 (grub_video_fb_unmap_color_int): Likewise.
5199 (grub_video_fb_fill_rect): Likewise.
5200 (grub_video_fb_blit_bitmap): Likewise.
5201 (grub_video_fb_blit_render_target): Likewise.
5202 (grub_video_fb_scroll): Likewise.
5203 (grub_video_fb_create_render_target): Likewise.
5204 (grub_video_fb_doublebuf_blit_init): Likewise.
5205 (grub_video_fb_set_active_render_target): Handle doublebuffering.
5206 (doublebuf_pageflipping_update_screen): New function.
5207 (doublebuf_pageflipping_init): Likewise.
5208 (grub_video_fb_setup): Likewise.
5209 (grub_video_fb_swap_buffers): Likewise.
5210 (grub_video_fb_get_info_and_fini): Likewise.
5211 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
5212 All users updated.
5213 (doublebuf_pageflipping_commit): Restructured into ...
5214 (doublebuf_pageflipping_set_page): ... this.
5215 (doublebuf_pageflipping_update_screen): Removed.
5216 (doublebuf_pageflipping_init): Likewise.
5217 (double_buffering_init): Likewise.
5218 (grub_video_vbe_setup): Use grub_video_fb_setup.
5219 (grub_video_vbe_swap_buffers): Removed.
5220 (grub_video_vbe_set_active_render_target): Likewise.
5221 (grub_video_vbe_get_active_render_target): Likewise.
5222 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
5223 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
5224 grub_video_fb_set_active_render_target and
5225 grub_video_fb_get_active_render_target.
5226 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
5227 (SEQUENCER_DATA_PORT): Likewise.
5228 (MAP_MASK_REGISTER): Likewise.
5229 (CRTC_ADDR_PORT): Likewise.
5230 (CRTC_DATA_PORT): Likewise.
5231 (START_ADDR_HIGH_REGISTER): Likewise.
5232 (START_ADDR_LOW_REGISTER): Likewise.
5233 (GRAPHICS_ADDR_PORT): Likewise.
5234 (GRAPHICS_DATA_PORT): Likewise.
5235 (READ_MAP_REGISTER): Likewise.
5236 (INPUT_STATUS1_REGISTER): Likewise.
5237 (INPUT_STATUS1_VERTR_BIT): Likewise.
5238 (get_map_mask): Use grub_vga_sr_read.
5239 (set_map_mask): Use grub_vga_sr_write.
5240 (set_read_map): Use grub_vga_gr_write.
5241 (set_start_address): Use grub_vga_cr_write.
5242 * video/sm712.c (framebuffer): Remove leftover fields.
5243
4321c64a
CW
52442010-06-20 Colin Watson <cjwatson@ubuntu.com>
5245
5246 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
5247 setting GRUB_VIDEO_BACKEND. Make it available as a user override
5248 instead. Replace the gfxterm backend check with a check that
5249 ${GRUB_PREFIX}/video.lst is non-empty.
5250 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
5251 again.
5252 (load_video): New generated function. Call it before loading
5253 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
5254 * util/grub.d/10_linux.in (linux_entry): Call load_video.
5255 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
5256 * docs/grub.texi (Simple configuration): Document
5257 GRUB_VIDEO_BACKEND.
5258
52592010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 Use video functions in linux and xnu loaders.
5262
5263 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
5264 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
5265 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
5266 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
5267 loader/i386/pc/linux.c.
5268 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
5269 (find_line_len): Removed.
5270 (find_framebuf): Likewise.
5271 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
5272 * loader/i386/efi/xnu.c: Removed.
5273 * loader/i386/pc/xnu.c: Moved from here...
5274 * loader/i386/xnu.c: ...here.
5275
5276 Enable priorities in video drivers.
5277
5278 * include/grub/video.h (grub_video_adapter_prio_t): New type.
5279 (grub_video_adapter): New field prio.
5280 (grub_video_register): Respect prio when inserting.
5281 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
5282 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
5283 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
5284 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
5285 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
5286 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
5287 * video/sm712.c (grub_video_sm712_adapter): Likewise.
5288
5289 Fix SDL driver ID.
5290
5291 * include/grub/video.h (grub_video_driver_id_t): New value
5292 GRUB_VIDEO_DRIVER_SDL.
5293 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
5294
7d24e434
CW
52952010-06-17 Colin Watson <cjwatson@ubuntu.com>
5296
5297 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
5298 argument to printf.
5299 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5300
c88a83f6
CW
53012010-06-17 Colin Watson <cjwatson@ubuntu.com>
5302
5303 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
5304 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5305
094dfb69
CW
53062010-06-17 Colin Watson <cjwatson@ubuntu.com>
5307
5308 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
5309 directly, and recommend grub-install instead.
5310 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5311
2164da6b
CW
53122010-06-17 Colin Watson <cjwatson@ubuntu.com>
5313
5314 Fix i386-pc prefix handling with nested partitions (Debian bug
5315 #585068). Note that the case where the core image is booted using
5316 multiboot and relocated from its original location still requires
5317 more work.
5318
5319 * kern/i386/pc/init.c (make_install_device): If the prefix starts
5320 with "(,", fill the boot drive in between those two characters, but
5321 expect that a full partition specification including partition map
5322 names will follow.
5323 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
5324 specified, write a prefix without the drive name but including a
5325 full partition specification.
5326
044e2e60
CW
53272010-06-16 Colin Watson <cjwatson@ubuntu.com>
5328
5329 * util/grub-mkconfig.in: Ignore non-option arguments, for
5330 compatibility with older versions (before 2010-06-12) which did the
5331 same. In particular, this makes it easier to ship an update-grub
5332 wrapper which is compatible with that used with GRUB Legacy (Debian
5333 bug #586056).
5334
5591324f
GS
53352010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5336
5337 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
5338 for manual page generation.
5339
662e24d5
GS
53402010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5341
5342 * po/POTFILES: Remove leftover commands/handler.c.
5343
8d70754e
CW
53442010-06-14 Colin Watson <cjwatson@ubuntu.com>
5345
5346 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
5347 left this script non-functional.
5348
41160e2e
CW
53492010-06-14 Colin Watson <cjwatson@ubuntu.com>
5350
5351 * docs/man/grub-emu.h2m: New file.
5352
b5309cc1
CW
53532010-06-13 Colin Watson <cjwatson@ubuntu.com>
5354
5355 * docs/grub.texi (Commands): Document reduced command set in rescue
5356 mode.
5357 (cpuid): New section.
5358
fcb2d090
GS
53592010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
5360
5361 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
5362 new partition naming style.
5363 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
5364
96e5c556
BC
53652010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
5366
5367 Add "-o grub.iso" like cmdline options support.
5368
5369 * util/grub-install.in: Improve cmdline option parsing.
5370 * util/grub-mkconfig.in: Likewise.
5371 * util/grub-mkrescue.in: Likewise.
5372 * util/grub-reboot.in: Likewise.
5373 * util/grub-set-default.in: Likewise.
5374 * util/i386/efi/grub-install.in: Likewise.
5375 * util/ieee1275/grub-install.in: Likewise.
5376 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5377
c16be99b
CW
53782010-06-12 Colin Watson <cjwatson@ubuntu.com>
5379
5380 * .bzrignore: Ignore 41_custom.
5381
ce08a9fb
TS
53822010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5383
5384 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
5385
7beac90c
CW
53862010-06-12 Colin Watson <cjwatson@ubuntu.com>
5387
5388 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
5389 prototype declarations.
5390
5391 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
5392 generating fs, partmap, and video lists.
5393 * include/grub/fs.h (grub_fs_register): Omit prototype if
5394 GRUB_LST_GENERATOR is defined.
5395 * include/grub/partition.h (grub_partition_map_register): Likewise.
5396 * include/grub/video.h (grub_video_register): Likewise.
5397
1c8f0f8d
JM
53982010-06-12 Javier Martín <lordhabbit@gmail.com>
5399
5400 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
5401
a6085973
TS
54022010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5403
5404 * util/grub-mkrescue.in: Support --xorriso argument.
5405
25c56d29
VS
54062010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
5409 Suggested by: Thomas Schmitt.
5410
e03e4b24
VS
54112010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
5414 Suggested by: Thomas Schmitt.
5415
57711df6
VS
54162010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 custom.cfg support.
5419
5420 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
5421 * util/grub.d/41_custom.in: New file.
5422
ee62c427
CW
54232010-06-12 Colin Watson <cjwatson@ubuntu.com>
5424
5425 * util/grub-mkrescue.in (make_image): Remove sh module, which has
5426 been merged back into normal.
5427
283af07a
CW
54282010-06-11 Colin Watson <cjwatson@ubuntu.com>
5429
5430 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
5431 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
5432
56a0d956
CW
54332010-06-11 Colin Watson <cjwatson@ubuntu.com>
5434
5435 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
5436 when generating manual pages.
5437 * docs/man/grub-bin2h.h2m: New file.
5438 * docs/man/grub-editenv.h2m: New file.
5439 * docs/man/grub-fstest.h2m: New file.
5440 * docs/man/grub-install.h2m: New file.
5441 * docs/man/grub-macho2img.h2m: New file.
5442 * docs/man/grub-mkconfig.h2m: New file.
5443 * docs/man/grub-mkdevicemap.h2m: New file.
5444 * docs/man/grub-mkfont.h2m: New file.
5445 * docs/man/grub-mkimage.h2m: New file.
5446 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
5447 * docs/man/grub-mkrelpath.h2m: New file.
5448 * docs/man/grub-mkrescue.h2m: New file.
5449 * docs/man/grub-ofpathname.h2m: New file.
5450 * docs/man/grub-pe2elf.h2m: New file.
5451 * docs/man/grub-probe.h2m: New file.
5452 * docs/man/grub-reboot.h2m: New file.
5453 * docs/man/grub-script-check.h2m: New file.
5454 * docs/man/grub-set-default.h2m: New file.
5455 * docs/man/grub-setup.h2m: New file.
5456
3a37e322
VS
54572010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 Use FOR_* macros instead of *_iterate whenever possible.
5460
5461 * commands/handler.c: Removed.
5462 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
5463 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
5464 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5465 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
5466 (grub_probe_SOURCES): Remove kern/parser.c.
5467 (util/grub-script-check.c_DEPENDENCIES): Removed.
5468 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
5469 and grub_script_check_init.c.
5470 (grub_script_check_init.lst): Removed.
5471 (grub_script_check_init.h): Likewise.
5472 (grub_script_check_init.c): Likewise.
5473 (pkglib_MODULES): Remove handler.mod and sh.mod.
5474 (handler_mod_SOURCES): Removed.
5475 (handler_mod_CFLAGS): Likewise.
5476 (handler_mod_LDFLAGS): Likewise.
5477 (normal_mod_SOURCES): Remove normal/handler.c.
5478 Add script/main.c, script/script.c, script/execute.c,
5479 script/function.c, script/lexer.c, grub_script.tab.c
5480 and grub_script.yy.c.
5481 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5482 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5483 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
5484 (grub_setup_SOURCES): Remove kern/parser.c.
5485 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5486 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
5487 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5488 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5489 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5490 (grub_setup_SOURCES): Remove kern/parser.c.
5491 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5492 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
5493 * include/grub/command.h (grub_command_iterate): Removed.
5494 (FOR_COMMANDS): New macro.
5495 * include/grub/dl.h (grub_dl): New member next.
5496 (grub_dl_iterate): Removed.
5497 (grub_dl_head): New variable declaration.
5498 (FOR_DL_MODULES): New macro.
5499 * include/grub/fs.h: Include list.h.
5500 (grub_fs): Make next first element.
5501 (grub_fs_list): New variable declaration.
5502 (grub_fs_register): Make inline.
5503 (grub_fs_unregister): Likewise.
5504 (grub_fs_iterate): Removed.
5505 (FOR_FILESYSTEMS): New macro.
5506 * include/grub/handler.h: Removed.
5507 * include/grub/list.h (grub_list_hook_t): Removed.
5508 (grub_list_test_t): Likewise.
5509 (grub_list_pop): Likewise.
5510 (grub_list_iterate): Likewise.
5511 (grub_list_insert): Likewise.
5512 (FOR_LIST_ELEMENTS): New macro.
5513 * include/grub/parser.h (grub_parser_class): Removed.
5514 (grub_parser_register): Likewise.
5515 (grub_parser_unregister): Likewise.
5516 (grub_parser_get_current): Likewise.
5517 (grub_parser_set_current): Likewise.
5518 (grub_register_rescue_parser): Likewise.
5519 (grub_rescue_parse_line): New function.
5520 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
5521 * include/grub/script_sh.h (grub_script_function_list): New variable
5522 declaration.
5523 (FOR_SCRIPT_FUNCTIONS): New macro.
5524 (grub_script_function_iterate): Removed.
5525 (grub_normal_parse_line): New prototype.
5526 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
5527 (FOR_DISABLED_TERM_INPUTS): Likewise.
5528 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5529 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5530 * include/grub/video.h (grub_video_adapter): Move 'next' to first
5531 element.
5532 (grub_video_register): Inline.
5533 (grub_video_unregister): Likewise.
5534 (grub_video_adapter_list): New variable declaration.
5535 (grub_video_iterate): Removed.
5536 (FOR_VIDEO_ADAPTERS): New macro.
5537 * kern/dl.c (grub_dl_list): Removed. All users updated.
5538 (grub_dl_iterate): Removed.
5539 * kern/fs.c (grub_fs_list): Make global.
5540 (grub_fs_register): Removed.
5541 (grub_fs_unregister): Likewise.
5542 (grub_fs_iterate): Likewise.
5543 * kern/handler.c: Removed.
5544 * kern/list.c (grub_list_pop): Removed.
5545 (grub_list_iterate): Likewise.
5546 (grub_list_insert): Likewise.
5547 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
5548 (grub_prio_list_insert): Don't use grub_list_insert.
5549 * kern/main.c (grub_register_rescue_parser): Don't call
5550 grub_register_rescue_parser.
5551 * kern/parser.c (grub_parser_class): Removed.
5552 (grub_parser_execute): Use grub_rescue_parse_line.
5553 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
5554 (grub_rescue_parser): Removed.
5555 (grub_register_rescue_parser): Likewise.
5556 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
5557 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
5558 (grub_auth_check_authentication): Likewise.
5559 * normal/completion.c (iterate_command): Removed.
5560 (grub_normal_do_completion): Use FOR_COMMANDS.
5561 * normal/handler.c: Removed.
5562 * normal/main.c (read_config_file): Remove parser changing.
5563 (grub_normal_execute): Don't call read_handler_list.
5564 (grub_normal_read_line_real): Statically allocate prompt.
5565 (grub_cmdline_run): Use grub_normal_parse_line.
5566 (GRUB_MOD_FINI): Don't call free_handler_list.
5567 * normal/menu_entry.c (run): Likewise.
5568 * script/function.c (grub_script_function_list): Make global.
5569 (grub_script_function_iterate): Removed.
5570 * script/main.c (grub_normal_parse_line): Make global.
5571 (grub_sh_parser): Removed.
5572 (GRUB_MOD_INIT): Likewise.
5573 (GRUB_MOD_FINI): Likewise.
5574 * tests/lib/functional_test.c (grub_functional_test): Use
5575 FOR_LIST_ELEMENTS.
5576 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
5577 (grub_test_run): Use FOR_LIST_ELEMENTS.
5578 * tests/lib/unit_test.c (main): Likewise.
5579 * util/deviceiter.c (grub_util_iterate_devices): Don't use
5580 grub_list_pop.
5581 * util/grub-fstest.c (grub_term_input_class): Removed.
5582 (grub_term_output_class): Likewise.
5583 * util/grub-probe.c: Likewise.
5584 * util/i386/pc/grub-setup.c: Likewise.
5585 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5586 * util/grub-script-check.c (main): Don't call grub_init_all and
5587 grub_fini_all.
5588 * video/video.c (grub_video_adapter_list): Make global.
5589 (grub_video_register): Removed.
5590 (grub_video_unregister): Likewise.
5591 (grub_video_iterate): Likewise.
5592
6289c3a7
VS
55932010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
5596 reported by Henrique Ferreiro.
5597
91460247
RM
55982010-06-09 Robert Millan <rmh@gnu.org>
5599
5600 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
5601 ones, when both are available.
5602
0ea7c4f9
GS
56032010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5604
5605 Make --version uniform and avoid hard-coded program name.
5606
5607 * util/grub-mkimage.c (main): Use `program_name' instead of
5608 hard-coded string.
5609 * util/i386/pc/grub-setup.c (main): Likewise.
5610 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
5611 * util/grub-install.in: Save the basename of $0 in $self, and use the
5612 latter in informational messages. Use the same format for --version
5613 as the binary programs.
5614 * util/grub-mkconfig.in: Likewise.
5615 * util/grub-mkrescue.in: Likewise.
5616 * util/grub-reboot.in: Likewise.
5617 * util/grub-set-default.in: Likewise.
5618 * util/i386/efi/grub-install.in: Likewise.
5619 * util/ieee1275/grub-install.in: Likewise.
5620 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5621
e8a6f3b6
GS
56222010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5623
5624 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
5625 embedding area. Use <= instead of == when checking for non-emptiness.
5626
f4d095d7
GS
56272010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5628
5629 * configure.ac: Add `.' to the directories searched for unifont.
5630
50e532ca
CW
56312010-06-08 Colin Watson <cjwatson@ubuntu.com>
5632
5633 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
5634 grub_script.yy.h.
5635
d39f3dec
CW
56362010-06-08 Colin Watson <cjwatson@ubuntu.com>
5637
5638 * docs/grub.texi (History): Expand to cover GRUB 2.
5639 (Serial terminal): Refer to `terminal_input' and `terminal_output'
5640 commands, not `terminal'.
5641 (serial): Likewise.
5642 (terminal_input): New section.
5643 (terminal_output): New section.
5644 (uppermem): New section (stub).
5645 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
5646
6ef0ddb4
CW
56472010-06-08 Colin Watson <cjwatson@ubuntu.com>
5648
5649 * docs/grub.texi (Security): Menu entries are unrestricted by
5650 default, not restricted to superusers as I had previously thought.
5651 Reword to account for this.
5652
e0f4c438
CW
56532010-06-07 Colin Watson <cjwatson@ubuntu.com>
5654
5655 * kern/emu/misc.c (device_mapper_null_log): New function.
5656 (grub_device_mapper_supported): New function.
5657 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
5658 prototype.
5659 * kern/emu/hostdisk.c (find_partition_start): Check whether
5660 device-mapper is supported before trying to use it.
5661 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
5662
da908200
CW
56632010-06-07 Colin Watson <cjwatson@ubuntu.com>
5664
5665 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
5666 (File name syntax): Likewise.
5667 (help): --all is no longer supported in GRUB 2. Be more precise
5668 about pattern matching.
5669
fb55c3ac
CW
56702010-06-07 Colin Watson <cjwatson@ubuntu.com>
5671
5672 * normal/completion.c (grub_normal_do_completion): When completing
5673 arguments to "set" and the current word contains an equals sign,
5674 skip to after the equals sign before starting completion.
5675
258c2573
CW
56762010-06-07 Colin Watson <cjwatson@ubuntu.com>
5677
5678 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
5679
ee75515e
CW
56802010-06-07 Colin Watson <cjwatson@ubuntu.com>
5681
5682 * docs/grub.texi (Network): New section.
5683 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
5684 `(nd)' as in GRUB Legacy.
5685 (pxe_unload): New section.
5686
a6a700aa
CW
56872010-06-07 Colin Watson <cjwatson@ubuntu.com>
5688
5689 * docs/grub.texi (Troubleshooting): `echo' is not usually available
5690 in the rescue shell, so recommend using `set' instead. Thanks,
5691 Jordan Uggla.
5692
4003dd38
CW
56932010-06-07 Colin Watson <cjwatson@ubuntu.com>
5694
5695 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
5696 (password): New section.
5697 (password_pbkdf2): New section.
5698 (search): New section.
5699 (Security): New section.
5700 (Troubleshooting): New section, currently very incomplete.
5701 (Invoking grub-mkpasswd-pbkdf2): New section.
5702 (Internals): New section, currently very incomplete.
5703
e1cbcc40
CW
57042010-06-07 Colin Watson <cjwatson@ubuntu.com>
5705
5706 * util/grub.d/00_header.in: Add some more quoting (of
5707 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
5708 work again.
5709 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
5710
db8fa1ad
CW
57112010-06-07 Colin Watson <cjwatson@ubuntu.com>
5712
5713 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
5714 to `count', fixing variable shadowing that broke the -c option.
5715
57162010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
5717
5718 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
5719 in case they contain spaces.
5720
f28a9212
CW
57212010-06-04 Colin Watson <cjwatson@ubuntu.com>
5722
5723 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
5724 "part_" to partmap module names, in line with grub-install.
5725 Reported by: Jindřich Makovička (Debian bug #584426).
5726
9cdfe32f
CW
57272010-06-04 Colin Watson <cjwatson@ubuntu.com>
5728
5729 * util/grub-mkimage.c: Make target-related error messages slightly
5730 more helpful; -O talks about "format". Explicitly point to the use
5731 of -O if no target is specified.
5732 Reported by: Didier Raboud (Debian bug #584415).
5733
795b593a
CW
57342010-06-03 Colin Watson <cjwatson@ubuntu.com>
5735
5736 * INSTALL: Document several build requirements for optional features
5737 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
5738
9d9b5833
GS
57392010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5740
5741 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
5742 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
5743 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
5744
0819fec8
CW
57452010-06-02 Colin Watson <cjwatson@ubuntu.com>
5746
5747 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
5748 Thanks to Jordan Uggla for spotting this.
5749
49396b4f
VS
57502010-06-02 Aleš Nesrsta <starous@volny.cz>
5751
5752 Finally make USB usable.
5753
5754 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
5755 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
5756 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
5757 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
5758 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
5759 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
5760 (GRUB_OHCI_FSMPS): Likewise.
5761 (GRUB_OHCI_PERIODIC_START): Likewise.
5762 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
5763 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
5764 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
5765 (GRUB_OHCI_SET_PORT_RESET): Likewise.
5766 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
5767 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
5768 (grub_ohci_transaction): Likewise.
5769 (grub_ohci_transfer): Improve condition detection algorithms.
5770 Handle toggle property. Program the transactions correctly.
5771 Improve error handling. Various important fixups.
5772 (grub_ohci_portstatus): Put register writes in right order.
5773 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
5774 (grub_uhci_transfer): Don't show "failed" message on success.
5775 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
5776 array.
5777 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
5778 determine its size.
5779 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
5780 before initialization is completed. Use IN direction for empty
5781 transfers. Use last_trans and compute toggle.
5782 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
5783 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
5784 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
5785 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
5786 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
5787 (grub_usb_device): Increase toggle to 256.
5788 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
5789 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
5790 GRUB_USBMS_SUBCLASS_SFF8070.
5791 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
5792 (grub_scsi_inquiry): New member page and alloc_length.
5793 (grub_scsi_request_sense): New structure.
5794 (grub_scsi_request_sense_data): Likewise.
5795 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
5796 control.
5797 * disk/scsi.c (grub_scsi_request_sense): New function.
5798 (grub_scsi_test_unit_ready): Likewise.
5799 (grub_scsi_inquiry): Fill new fields.
5800 (grub_scsi_read_capacity): Likewise.
5801 (grub_scsi_read10): Add request sense at the end.
5802 (grub_scsi_read12): Likewise.
5803 (grub_scsi_write10): Likewise.
5804 (grub_scsi_write12): Likewise.
5805 (grub_scsi_open): Add Test Unit Ready.
5806 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
5807 Support additional subclasses. Con't clear halt yet. Activate the
5808 proper config. Calculate LUNs correctly.
5809 (grub_usbms_transfer): Various important fixups.
5810
58112010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
5814 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
5815 (grub_ohci_fini_hw): New function.
5816 (grub_ohci_restore_hw): Likewise.
5817 (GRUB_MOD_INIT(ohci)): Register preboot hook.
5818 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
5819 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
5820
58212010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 Dedicated DMA allocations.
5824
5825 * bus/pci.c (grub_memalign_dma32): New function
5826 (grub_dma_free): Likewise.
5827 (grub_dma_get_virt): Likewise.
5828 (grub_dma_get_phys): Likewise.
5829 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
5830 (grub_ohci_pci_iter): Use dma32_alloc.
5831 (grub_ohci_transfer): Likewise.
5832 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5833 (grub_usb_bulk_readwrite): Likewise.
5834 * include/grub/pci.h: Add declarations.
5835
58362010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 CS5536 support.
5839
5840 * bus/cs5536.c: New file.
5841 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
5842 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
5843 (cs5536_mod_SOURCES): New variable.
5844 (cs5536_mod_CFLAGS): Likewise.
5845 (cs5536_mod_LDFLAGS): Likewise.
5846 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
5847 machine/pci.h.
5848 (kernel_img_SOURCES): Add bus/cs5536.c.
5849 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
5850 usb_keyboard.mod.
5851 (usb_mod_SOURCES): New variable.
5852 (usb_mod_CFLAGS): New variable.
5853 (usb_mod_LDFLAGS): New variable.
5854 (usbtest_mod_SOURCES): New variable.
5855 (usbtest_mod_CFLAGS): New variable.
5856 (usbtest_mod_LDFLAGS): New variable.
5857 (ohci_mod_SOURCES): New variable.
5858 (ohci_mod_CFLAGS): New variable.
5859 (ohci_mod_LDFLAGS): New variable.
5860 (usbms_mod_SOURCES): New variable.
5861 (usbms_mod_CFLAGS): New variable.
5862 (usbms_mod_LDFLAGS): New variable.
5863 (usb_keyboard_mod_SOURCES): New variable.
5864 (usb_keyboard_mod_CFLAGS): New variable.
5865 (usb_keyboard_mod_LDFLAGS): New variable.
5866 * include/grub/smbus.h: New file.
5867 * include/grub/cs5536.h: New file.
5868
0b35b2a9
CW
58692010-06-02 Colin Watson <cjwatson@ubuntu.com>
5870
5871 * util/grub.d/00_header.in: Add safety check to make sure that
5872 ${locale_dir} exists before trying to probe it.
5873
ca0afd5b
CW
58742010-06-02 Colin Watson <cjwatson@ubuntu.com>
5875
5876 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
5877 per the GNU Coding Standards; this is now too obscure to be worth
5878 documenting.
5879 (QNX): Likewise.
5880 (chainloader): Remove cross-reference to `SCO UnixWare'.
5881
1c41aa78
CW
58822010-06-02 Colin Watson <cjwatson@ubuntu.com>
5883
5884 * docs/grub.texi (Chain-loading): New section.
5885 (DOS/Windows): New section, borrowed from GRUB Legacy with details
5886 adjusted for GRUB 2.
5887 (SCO UnixWare): Likewise.
5888 (QNX): Likewise.
5889 (chainloader): Add reference to `Block list syntax'.
5890 (drivemap): New section.
5891 (parttool): New section.
5892
bb8ea0f5
CW
58932010-06-02 Colin Watson <cjwatson@ubuntu.com>
5894
5895 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
5896 the grub shell'.
5897 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
5898 (Installing GRUB using grub-install): Remove reference to the grub
5899 shell; mention `grub-mkimage' and `grub-setup' instead.
5900 (Invoking grub-install): Likewise.
5901 (Interface): Add reference to `Menu entry editor'.
5902 (serial): Remove `--device' option.
5903
288dd6ed
CW
59042010-06-02 Colin Watson <cjwatson@ubuntu.com>
5905
5906 * docs/grub.texi (Configuration): New section, documenting
5907 configuration file generation using grub-mkconfig. I've left a slot
5908 for documenting the full shell scripting format but have not yet
5909 started on writing that up.
5910 (Invoking grub-mkconfig): New section.
5911
34c9f0e9
CW
59122010-06-02 Colin Watson <cjwatson@ubuntu.com>
5913
5914 * docs/grub.texi (direntry): Remove grub-terminfo reference.
5915 (GNU GRUB manual): Likewise.
5916 (General commands): Update description of `terminfo' for GRUB 2.
5917
9121567e
CW
59182010-06-02 Colin Watson <cjwatson@ubuntu.com>
5919
5920 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
5921 (GRUB_MOD_INIT): Fix capitalisation.
5922 * docs/grub.texi (Command-line and menu entry commands): Document
5923 gettext and gptsync commands.
5924
ab631611
CW
59252010-06-02 Colin Watson <cjwatson@ubuntu.com>
5926
5927 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
5928 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
5929
bde4a9ac
CW
59302010-06-01 Colin Watson <cjwatson@ubuntu.com>
5931
5932 Add btrfs probing support, currently only in the single-device case.
5933
5934 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
5935 function.
5936 (grub_guess_root_device): Call find_root_device_from_mountinfo
5937 before looking in /dev.
5938
b1d17e10
VS
59392010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
5942 GRUB_DISK_SIZE_UNKNOWN.
5943 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
5944
dfbfe004
JS
59452010-05-31 Jiro SEKIBA <jir@unicus.jp>
5946
5947 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
5948 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
5949 corrupted or not synced properly.
5950
c2ffc8e9
VS
59512010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
5954 Reported by: Seth Goldberg.
5955
56293166
VS
59562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
5959 addition of dest.
5960 Reported by: Seth Goldberg.
5961
7620e7de
VS
59622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
5965 Reported by: Seth Goldberg.
5966
c837af3f
VS
59672010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
5970 64-bit address as signed on MIPS.
5971
c7c75cf4
CW
59722010-05-28 Colin Watson <cjwatson@ubuntu.com>
5973
5974 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
5975 to the empty string.
5976
fa4b8490
BC
59772010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
5978
5979 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
5980
5981 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
5982 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
5983 * kern/misc.c (__enable_execute_stack): Disable on
5984 GRUB_MACHINE_EMU.
5985
a33075b9
CW
59862010-05-28 Colin Watson <cjwatson@ubuntu.com>
5987
5988 Make grub-probe work with symbolic links under /dev/mapper as well
5989 as with real block devices. The Linux world seems to be (at best)
5990 in transition here, and GRUB shouldn't get caught in the middle.
5991
5992 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
5993 /dev/mapper.
5994
d8708134
CW
59952010-05-27 Colin Watson <cjwatson@ubuntu.com>
5996
5997 * util/grub-script-check.c (main): Ensure defined behaviour on empty
5998 input files (in which case exit zero).
5999
db2102a0
CW
60002010-05-27 Colin Watson <cjwatson@ubuntu.com>
6001
6002 * kern/emu/misc.c (canonicalize_file_name): realpath can still
6003 return NULL for various reasons even if it has a maximum-length
6004 buffer: for example, there might be a symlink loop, or the path
6005 might exceed PATH_MAX. If this happens, return NULL.
6006
5fdba519
RM
60072010-05-27 Robert Millan <rmh@gnu.org>
6008
6009 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
6010 partmap module to handle cross-partmap setups.
6011 Reported by Orestes Mas. Gràcies!
6012
d1d368e4
CW
60132010-05-27 Colin Watson <cjwatson@ubuntu.com>
6014
6015 * util/grub-mkrescue.in: Initialise override_dir rather than
6016 assuming that it's unset or empty in the environment.
6017
95ac3c73
GS
60182010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
6019
6020 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
6021 variable index into p_index to suppress a warning with -Wshadow.
6022
7d8c0213
BC
60232010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
6024
6025 * INSTALL: Added flex >= 2.5.35 requirement.
6026
db4d5813
VS
60272010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
6030
f24f4300
VS
60312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 cmostest support.
6034
6035 * commands/i386/cmostest.c: New file.
6036 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
6037 (cmostest_mod_SOURCES): New variable.
6038 (cmostest_mod_CFLAGS): Likewise.
6039 (cmostest_mod_LDFLAGS): Likewise.
6040 * conf/i386-pc.rmk: Likewise.
6041 * docs/grub.texi (Vendor power-on keys): New section.
6042 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
6043 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
6044 and GRUB_BUTTON_CMOS_ADDRESS.
6045 * util/grub.d/00_header.in: Handle powering-on by separate button.
6046
ad603f61
VS
60472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
6050 Removed drawing_scrollbar argument. All users updated
6051 Fixes #29792.
6052 Reported by Jo Shields
6053
3ecb080a
VS
60542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
6057 buffer since gfxterm handles double repaint.
6058
5f2316c1
VS
60592010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
6062 * term/gfxterm.c (real_scroll): Likewise.
6063
9a25f885
VS
60642010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
6067 before calling BIOS.
6068
39fbb79a
VS
60692010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * include/grub/i18n.h: Always enable grub_gettext.
6072
228cfa97
VS
60732010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
6076 partition naming style.
6077
21717c8f
CW
60782010-05-21 Colin Watson <cjwatson@ubuntu.com>
6079
6080 * util/grub-mkconfig.in: Fix handling of -o so that it works when
6081 not the first option.
6082
c0f48e65
CW
60832010-05-20 Colin Watson <cjwatson@ubuntu.com>
6084
6085 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
6086
96779aec
CW
60872010-05-20 Colin Watson <cjwatson@ubuntu.com>
6088
6089 * util/misc.c: Move inclusion of <limits.h> to ...
6090 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
6091
fa9d256e
GS
60922010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
6093
6094 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
6095 Fix merge error in NetBSD code.
6096 (find_partition_start) [__NetBSD__]: Likewise.
6097
123b7a85
BC
60982010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
6099
6100 Fix grub-mkrescue usage unit testing.
6101
6102 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
6103
74276c0d
CF
61042010-05-18 Christian Franke <franke@computer.org>
6105
6106 * util/grub.d/10_windows.in: Use path names instead of
6107 drive letters to prevent warning from Cygwin 1.7.
6108 Add drivemap command to menuentry if needed.
6109
c4f7b523
ST
61102010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
6111
6112 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
6113 gnumach and gnumach.gz.
6114
95b97950
VS
61152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * include/grub/i18n.h (gettext): Inline instead of using #define.
6118 (grub_gettext): Likewise.
6119 (_): Likewise.
6120
01b8d2d7
VS
61212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
6124 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
6125 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
6126 (main): Add a slash after pkglibdirroot.
6127
654e1d1e
VS
61282010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * util/grub-install.in: Add missing "in" keyword.
6131
26966aeb
VS
61322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
6135 Reported by: Seth Goldberg.
6136
75006747
VS
61372010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
6140
74cbf5bd
CW
61412010-05-18 Colin Watson <cjwatson@ubuntu.com>
6142
6143 * configure.ac: Check for Linux device-mapper support.
6144
6145 * util/hostdisk.c (device_is_mapped): New function.
6146 (find_partition_start): New function, partly broken out from
6147 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
6148 device-mapper support added.
6149 (linux_find_partition): Use find_partition_start.
6150 (convert_system_partition_to_system_disk): Add `st' argument.
6151 Support Linux /dev/mapper/* devices if device-mapper support is
6152 available; only DM-RAID devices are understood at present.
6153 (find_system_device): Add `st' argument. Pass it to
6154 convert_system_partition_to_system_disk.
6155 (grub_util_biosdisk_get_grub_dev): Pass stat result to
6156 find_system_device and convert_system_partition_to_system_disk. Use
6157 find_partition_start.
6158
6159 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
6160 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
6161 * util/deviceiter.c [__linux__]: Define MINOR.
6162 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
6163 * util/mkdevicemap.c (grub_putchar): New function.
6164 (grub_getkey): New function.
6165 (grub_refresh): New function.
6166 (main): Set debug=all if -v -v is used.
6167
355b51e9
CW
61682010-05-18 Colin Watson <cjwatson@ubuntu.com>
6169
6170 Fix build with non-GNU libcs.
6171
6172 * util/misc.c (canonicalize_file_name): Move to ...
6173 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
6174 grub_make_system_path_relative_to_its_root.
6175
7fb5c25f
CW
61762010-05-18 Colin Watson <cjwatson@ubuntu.com>
6177
6178 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
6179 we handle finding grub-mkimage. Default to finding grub-mkimage in
6180 ${bindir} with program_transform_name applied, and provide a
6181 --grub-mkimage option to override this.
6182
1d3293d6
VS
61832010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 Remove grub-mkisofs.
6186
6187 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
6188 (grub_mkisofs_SOURCES): Removed.
6189 (grub_mkisofs_CFLAGS): Removed.
6190 * util/mkisofs/defaults.h: Removed.
6191 * util/mkisofs/eltorito.c: Likewise.
6192 * util/mkisofs/exclude.h: Likewise.
6193 * util/mkisofs/hash.c: Likewise.
6194 * util/mkisofs/include/: Likewise.
6195 * util/mkisofs/include/fctldefs.h: Likewise.
6196 * util/mkisofs/include/mconfig.h: Likewise.
6197 * util/mkisofs/include/prototyp.h: Likewise.
6198 * util/mkisofs/include/statdefs.h: Likewise.
6199 * util/mkisofs/iso9660.h: Likewise.
6200 * util/mkisofs/joliet.c: Likewise.
6201 * util/mkisofs/match.c: Likewise.
6202 * util/mkisofs/match.h: Likewise.
6203 * util/mkisofs/mkisofs.c: Likewise.
6204 * util/mkisofs/mkisofs.h: Likewise.
6205 * util/mkisofs/msdos_partition.h: Likewise.
6206 * util/mkisofs/multi.c: Likewise.
6207 * util/mkisofs/name.c: Likewise.
6208 * util/mkisofs/rock.c: Likewise.
6209 * util/mkisofs/tree.c: Likewise.
6210 * util/mkisofs/write.c: Likewise.
6211
5dde9afe
VS
62122010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 Unify grub-mkimage accross platforms.
6215
6216 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
6217 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
6218 (grub_mkelfimage_SOURCES): Removed.
6219 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
6220 (util/grub-mkimage.c_DEPENDENCIES): .. this.
6221 (bin_UTILITIES): Add grub-mkimage.
6222 (grub_mkimage_SOURCES): New variable.
6223 (kernel_img_HEADERS): Remove machine/kernel.h.
6224 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
6225 (pkglib_PROGRAMS): Add kernel.img.
6226 (kernel_img_HEADERS): Add machine/kernel.h.
6227 (kernel_img_FORMAT): Removed.
6228 (bin_UTILITIES): Remove grub-mkimage.
6229 (grub_mkimage_SOURCES): Removed.
6230 (grub_mkimage_CFLAGS): Likewise.
6231 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6232 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
6233 (pkglib_PROGRAMS): Add kernel.img.
6234 (bin_UTILITIES): Remove grub-mkimage.
6235 (grub_mkimage_SOURCES): Removed.
6236 (grub_mkimage_CFLAGS): Likewise.
6237 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6238 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
6239 (pkglib_PROGRAMS): Add kernel.img.
6240 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
6241 (pkglib_PROGRAMS): Add kernel.img.
6242 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
6243 (grub_mkimage_SOURCES): Removed.
6244 (grub_mkimage_CFLAGS): Likewise.
6245 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6246 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
6247 (pkglib_PROGRAMS): Add kernel.img.
6248 (bin_UTILITIES): Remove grub-mkimage.
6249 (grub_mkimage_SOURCES): Removed.
6250 (grub_mkimage_CFLAGS): Likewise.
6251 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6252 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
6253 (grub_mkimage_SOURCES): Removed.
6254 (grub_mkimage_CFLAGS): Likewise.
6255 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6256 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
6257 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
6258 (grub_pe32_optional_header): ... this.
6259 (grub_pe64_optional_header): ... and this. All users updated.
6260 (GRUB_PE32_PE32_MAGIC): Split into ..
6261 (GRUB_PE32_PE32_MAGIC): .. this.
6262 (GRUB_PE32_PE64_MAGIC): .. and this.
6263 (GRUB_PE32_SIGNATURE_SIZE): New definition.
6264 * include/grub/elf.h (PT_GNU_STACK): New definition.
6265 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
6266 * include/grub/i386/efi/kernel.h: Likewise.
6267 * include/grub/i386/kernel.h: Likewise.
6268 * include/grub/i386/pc/kernel.h: Likewise.
6269 * include/grub/i386/qemu/boot.h: Likewise.
6270 * include/grub/mips/kernel.h: Likewise.
6271 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6272 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6273 * include/grub/powerpc/kernel.h: Likewise.
6274 * include/grub/sparc64/ieee1275/boot.h: Likewise.
6275 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6276 * include/grub/sparc64/kernel.h: Likewise.
6277 * include/grub/x86_64/efi/kernel.h: Likewise.
6278 * include/grub/x86_64/kernel.h: Likewise.
6279 * include/grub/offsets.h: New file.
6280 * include/grub/kernel.h (grub_module_info): Split into ...
6281 (grub_module_info32): ... this.
6282 (grub_module_info64): ... and this.
6283 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
6284 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
6285 (grub_boot_blocklist): Moved from here ...
6286 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
6287 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
6288 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
6289 * include/grub/types.h (grub_target_to_host16): Removed.
6290 (grub_target_to_host32): Likewise.
6291 (grub_target_to_host64): Likewise.
6292 (grub_host_to_target16): Likewise.
6293 (grub_host_to_target32): Likewise.
6294 (grub_host_to_target64): Likewise.
6295 (grub_host_to_target_addr): Likewise.
6296
6297 Support grub-mkrescue for efi, coreboot and qemu.
6298
6299 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
6300 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
6301 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
6302 * util/grub-mkrawimage.c: Moved from here ...
6303 * util/grub-mkimage.c: ... here. All users updated.
6304 (ALIGN_ADDR): Use image_target.
6305 (TARGET_NO_FIELD): New const.
6306 (image_target_desc): New type.
6307 (image_targets): New array.
6308 (grub_target_to_host64): Use image_target.
6309 (grub_target_to_host32): Likewise.
6310 (grub_target_to_host16): Likewise.
6311 (grub_host_to_target64): Likewise.
6312 (grub_host_to_target32): Likewise.
6313 (grub_host_to_target16): Likewise.
6314 (grub_host_to_target_addr): Likewise.
6315 (generate_image): Handle multiimage.
6316 (main): Require -O parameter. All users updated.
6317 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
6318 util/efi/grub-mkimage.c
6319 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
6320 New option --rom-directory.
6321 Use xorriso.
6322 * util/i386/efi/grub-mkimage.c: Removed.
6323 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
6324 (grub_target_to_host32): Likewise.
6325 (grub_target_to_host64): Likewise.
6326 (grub_host_to_target16): Likewise.
6327 (grub_host_to_target32): Likewise.
6328 (grub_host_to_target64): Likewise.
6329 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
6330 (grub_target_to_host32): Likewise.
6331 (grub_target_to_host64): Likewise.
6332 (grub_host_to_target16): Likewise.
6333 (grub_host_to_target32): Likewise.
6334 (grub_host_to_target64): Likewise.
6335
f4fc97d0
BC
63362010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
6337
6338 Source tree is reorganized for emu build.
6339
6340 * include/grub/util/console.h: Move from here...
6341 * include/grub/emu/console.h: ...to here.
6342 * include/grub/util/getroot.h: Move from here...
6343 * include/grub/emu/getroot.h: ...to here.
6344 * include/grub/util/hostdisk.h: Move from here...
6345 * include/grub/emu/hostdisk.h: ...to here.
6346 * util/console.c: Move from here...
6347 * kern/emu/console.c: ...to here.
6348 * util/getroot.c: Move from here...
6349 * kern/emu/getroot.c: ...to here.
6350 * util/grub-emu.c: Move from here...
6351 * kern/emu/main.c: ...to here.
6352 * util/hostdisk.c: Move from here...
6353 * kern/emu/hostdisk.c: ...to here.
6354 * util/hostfs.c: Move from here...
6355 * kern/emu/hostfs.c: ...to here.
6356 * util/mm.c: Move from here...
6357 * kern/emu/mm.c: ...to here.
6358 * util/pci.c: Move from here...
6359 * bus/emu/pci.c: ...to here.
6360 * util/sdl.c: Move from here...
6361 * video/emu/sdl.c: ...to here.
6362 * util/time.c: Move from here...
6363 * kern/emu/time.c: ...to here.
6364 * util/usb.c: Move from here...
6365 * bus/usb/emu/usb.c: ...to here.
6366
6367 * include/grub/emu/misc.h: New header for grub-emu functions.
6368 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
6369
6370 * conf/any-emu.rmk: Rule updates for above renames.
6371 * conf/common.rmk: Likewise.
6372 * conf/i386-pc.rmk: Likewise.
6373 * conf/i386-qemu.rmk: Likewise.
6374 * conf/mips.rmk: Likewise.
6375 * conf/sparc64-ieee1275.rmk: Likewise.
6376 * conf/x86-efi.rmk: Likewise.
6377
6378 * disk/lvm.h: #include updates for above renames.
6379 * util/grub-mkrelpath.c: Likewise.
6380 * util/grub-probe.c: Likewise.
6381 * util/i386/pc/grub-setup.c: Likewise.
6382 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6383 * kern/emu/console.c: Likewise.
6384 * kern/emu/getroot.c: Likewise.
6385 * kern/emu/hostdisk.c: Likewise.
6386 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
6387
6388 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
6389 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
6390 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
6391 * util/misc.c: Remove grub-emu functions.
6392
cced9145
VS
63932010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 Fix gfxmenu crash.
6396 Reported by: Thorsten Grützmacher.
6397
6398 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
6399 timeout hook.
6400 (circprog_set_property): Register and unregister timeout hook.
6401 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
6402 (label_destroy): Free template. and unregister hook.
6403 (label_set_state): New function.
6404 (label_set_property): Handle templates and hooks.
6405 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
6406 timeout hook.
6407 (progress_bar_set_property): Register and unregister timeout hook.
6408 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
6409 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
6410 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
6411 (update_timeout_visit): Removed.
6412 (update_timeouts): New function.
6413 (redraw_timeouts): Likewise.
6414 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
6415 (grub_gfxmenu_clear_timeout): Likewise.
6416 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
6417 (grub_gfxmenu_timeout_notify): Likewise.
6418 (grub_gfxmenu_timeout_notifications): New external variable.
6419 (grub_gfxmenu_timeout_register): New function.
6420 (grub_gfxmenu_timeout_unregister): Likewise.
6421
c6e5caab
VS
64222010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 Transform (broken) vga terminal into (working) vga video driver.
6425
6426 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
6427 video/i386/pc/vga.c.
6428 * include/grub/video.h (grub_video_driver_id):
6429 Add GRUB_VIDEO_DRIVER_VGA.
6430 * term/i386/pc/vga.c: Renamed to ...
6431 * video/i386/pc/vga.c: ...this
6432 (DEBUG_VGA): Removed.
6433 (CHAR_WIDTH): Likewise.
6434 (CHAR_HEIGHT): Likewise.
6435 (TEXT_WIDTH): Likewise.
6436 (TEXT_HEIGHT): Likewise.
6437 (DEFAULT_FG_COLOR): Likewise.
6438 (DEFAULT_BG_COLOR): Likewise.
6439 (colored_char): Likewise.
6440 (xpos): Likewise.
6441 (ypos): Likewise.
6442 (cursor_state): Likewise.
6443 (fg_color): Likewise.
6444 (bg_color): Likewise.
6445 (text_buf): Likewise.
6446 (page): Likewise.
6447 (font): Likewise.
6448 (framebuffer): New variable.
6449 (set_read_map): Disabled.
6450 (setup): New variable.
6451 (is_target): Likewise.
6452 (grub_vga_mod_init): Likewise.
6453 (grub_vga_mod_fini): Likewise.
6454 (check_vga_mem): Likewise.
6455 (write_char): Likewise.
6456 (write_cursor): Likewise.
6457 (scroll_up): Likewise.
6458 (grub_vga_putchar): Likewise.
6459 (grub_vga_getcharwidth): Likewise.
6460 (grub_vga_getwh): Likewise.
6461 (grub_vga_getxy): Likewise.
6462 (grub_vga_gotoxy): Likewise.
6463 (grub_vga_cls): Likewise.
6464 (grub_vga_setcolorstate): Likewise.
6465 (grub_vga_setcursor): Likewise.
6466 (grub_video_vga_init): New function.
6467 (grub_video_vga_setup): Likewise.
6468 (grub_video_vga_fini): Likewise.
6469 (update_target): Likewise.
6470 (grub_video_vga_blit_bitmap): Likewise.
6471 (grub_video_vga_blit_render_target): Likewise.
6472 (grub_video_vga_set_active_render_target): Likewise.
6473 (grub_video_vga_get_active_render_target): Likewise.
6474 (grub_video_vga_swap_buffers): Likewise.
6475 (grub_video_vga_set_palette): Likewise.
6476 (grub_video_vga_get_info_and_fini): Likewise.
6477 (grub_vga_term): Removed.
6478 (grub_video_vga_adapter): New variable.
6479 (GRUB_MOD_INIT): Register a video driver instead of terminal.
6480 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
6481
2bf61a98
VS
64822010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * video/readers/jpeg.c: Indented.
6485
09ddcd11
VS
64862010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 Various jpeg cleanups.
6489
6490 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
6491 (grub_jpeg_decode_quan_table): Use sizeof.
6492 (grub_jpeg_decode_du): Use ARRAY_SIZE.
6493
e5507505
PH
64942010-05-05 Peter Hurley <No e-mail available> (tiny change)
6495
6496 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
6497 tables. Ignore non-last ac bit.
6498 (grub_jpeg_decode_quan_table): Likewise.
6499
7e720a9b
VS
65002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6503 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
6504 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6505 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
6506 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
6507 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
6508
a7fc080b
VS
65092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
6512 error.
6513
2bf6012d
VS
65142010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
6517
265d68cd
VS
65182010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
6521 condition.
6522
65232010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
6524
6525 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
6526 part.
6527
265d68cd 65282010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
6529
6530 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
6531 pointers.
6532
265d68cd 65332010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
6534
6535 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
6536
d1b61374
CF
65372010-05-01 Christian Franke <franke@computer.org>
6538
6539 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
6540 Remove broken Cygwin path conversion.
6541 * util/misc.c: [__CYGWIN__] Add include and define.
6542 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
6543 for Cygwin 1.7.
6544 (make_system_path_relative_to_its_root): Simplify loop, replace early
6545 return by break.
6546 [__CYGWIN__] Add conversion to win32 path.
6547 Include "/" case in trailing slash removal.
6548
3558c6e9
VS
65492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * kern/main.c (grub_load_config): Fix copy-pasted comment.
6552 Reported by: Seth Goldberg
6553
f5f3ff93
VS
65542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * commands/help.c (grub_cmd_help): Fix a typo.
6557 Reported by: Seth Goldberg
6558
d8b5cd40
VS
65592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
6562 name and add N_.
6563 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
6564 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
6565 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
6566 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
6567 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
6568 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
6569 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6570 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6571 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6572 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6573 * normal/context.c (GRUB_MOD_INIT): Likewise.
6574 * normal/main.c (GRUB_MOD_INIT): Likewise.
6575 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6576 * term/serial.c (GRUB_MOD_INIT): Likewise.
6577 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6578
88c14915
VS
65792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
6582 extra == 0.
6583
165134bc
VS
65842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * commands/iorw.c: New file.
6587 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
6588 (iorw_mod_SOURCES): New variable.
6589 (iorw_mod_CFLAGS): Likewise.
6590 (iorw_mod_LDFLAGS): Likewise.
6591
c5ac9b32
VS
65922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 Hotkey support
6595
6596 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
6597 * normal/main.c (hotkey_aliases): New variable.
6598 (grub_normal_add_menu_entry): Parse "--hotkey".
6599 * normal/menu_text.c (run_menu): Handle hotkeys.
6600
ce60689c
VS
66012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * kern/i386/coreboot/init.c (grub_machine_init): Call
6604 grub_machine_mmap_init on qemu.
6605
0359d006
VS
66062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * boot/i386/qemu/boot.S: Add a missing .code16.
6609
7819a456
VS
66102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 Use LBIO on coreboot.
6613
6614 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
6615 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
6616 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
6617 New declaration.
6618 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
6619 grub_machine_mmap_init on coreboot.
6620 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
6621 GRUB_LINUXBIOS_MEMBER_LINK.
6622 (grub_machine_mmap_iterate): Fix declaration.
6623 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
6624
7210dca9
VS
66252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 Split coreboot and multiboot ports.
6628
6629 * conf/i386-multiboot.rmk: New file.
6630 * configure.ac: Add multiboot port.
6631 * include/grub/i386/multiboot/boot.h: New file.
6632 * include/grub/i386/multiboot/console.h: Likewise.
6633 * include/grub/i386/multiboot/init.h: Likewise.
6634 * include/grub/i386/multiboot/kernel.h: Likewise.
6635 * include/grub/i386/multiboot/loader.h: Likewise.
6636 * include/grub/i386/multiboot/memory.h: Likewise.
6637 * include/grub/i386/multiboot/serial.h: Likewise.
6638 * include/grub/i386/multiboot/time.h: Likewise.
6639 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
6640 * loader/multiboot.c: Likewise.
6641 * loader/multiboot_mbi2.c: Likewise.
6642 * util/grub-mkrescue.in: Generate multiboot rescue.
6643
6f8aaf68
VS
66442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6645
3080f7a7
VS
6646 * kern/parser.c (grub_parser_execute): Cope with read-only config.
6647
66482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
6651
6652 * commands/terminal.c (abstract_terminal): New struct.
6653 (handle_command): New function. Based on grub_cmd_terminal_input.
6654 (grub_cmd_terminal_input): Use handle_command.
6655 (grub_cmd_terminal_output): Use handle_command.
6656
a8ebb841
BC
66572010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
6658
6659 Fix comment handling.
6660
6661 * tests/grub_script_comments.in: New testcase.
6662 * conf/tests.rmk: Rules for new testcase.
6663 * script/yylex.l: Updated flex rules.
6664
bb06ba08
ST
66652010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
6666
6667 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
6668 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
6669 if argc is 1.
bb06ba08 6670
cc9d2425
VS
66712010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
6674 autogen issues.
6675
460d8402
CF
66762010-04-26 Christian Franke <franke@computer.org>
6677
6678 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
6679 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
6680 (grub_get_prefix): Remove function.
6681 * util/grub-emu.c (main): Replace grub_get_prefix () call by
6682 make_system_path_relative_to_its_root ().
6683 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6684
553c01f9
CF
66852010-04-24 Christian Franke <franke@computer.org>
6686
6687 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
6688 (kernel_img_LDFLAGS): Remove -static-libgcc.
6689
2aec1692
CF
66902010-04-24 Christian Franke <franke@computer.org>
6691
6692 * configure.ac: Do not CHECK_BSS_START_SYMBOL
6693 and CHECK_END_SYMBOL if grub-emu is built.
6694 Unset TARGET_OBJ2ELF if grub-emu is built
6695 without module support.
6696
f67dc308
JS
66972010-04-24 Jiro SEKIBA <jir@unicus.jp>
6698
6699 Nilfs2 support.
6700
6701 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
6702 (grub_fstest_SOURCES): Likewise.
6703 (pkglib_MODULES): Add nilfs2.mod.
6704 (nilfs2_mod_SOURCES): New variable.
6705 (nilfs2_mod_CFLAGS): Likewise.
6706 (nilfs2_mod_LDFLAGS): Likewise.
6707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6708 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6709 * fs/nilfs2.c: New file.
6710
4ba8d354
VS
67112010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
6714 is not supported.
6715
0d2c20c6
GS
67162010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
6717
6718 Add grub-mkconfig support for NetBSD.
6719
6720 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
6721 * util/grub-mkconfig.in: export new NetBSD specific variables.
6722 * po/POTFILES-shell: added 10_netbsd.in.
6723 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
6724
bc4a2d83
BC
67252010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
6726
6727 Fix emu build with grub-emu-pci and grub-emu-modules.
6728
6729 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
6730 functions.
6731 * include/grub/libpciaccess.h: New file.
6732 * conf/any-emu.rmk: Update kernel headers for emu build.
6733
f48c87aa
VS
67342010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
6737
18959385
VS
67382010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
6741
0037de3f
VS
67422010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
6745 Retrieve chosen/bootpath if bootpath isn't hardcoded.
6746 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
6747 util/ieee1275/ofpath.c.
6748 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
6749 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
6750 * include/grub/sparc64/ieee1275/boot.h
6751 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
6752 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
6753 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
6754 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
6755 const char *.
6756 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
6757 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
6758 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
6759 install.
6760
38e55e90
GS
67612010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6762
6763 * util/grub-mkconfig.in: Corrected two == equality tests.
6764 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
6765 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
6766 expect a number appended to it.
6767 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
6768 expects a number appended to it.
6769
a9e6ff28
VS
67702010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
6773
0b830b8f
VS
67742010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * util/hostdisk.c (make_device_name): Change to new partition naming.
6777
0973daeb
VS
67782010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
6781
460d8402 67822010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
6783
6784 * Makefile.in: Add missing localedir setting.
6785
0b456309
CW
67862010-04-14 Colin Watson <cjwatson@ubuntu.com>
6787
6788 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
6789 mistake in r2156. Noticed by Anthony Fok.
6790
6791 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
6792 @localedir@.
6793 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6794
08f46d62
BC
67952010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
6796
6797 Fix a spurious, uninitialized variable warning.
6798
6799 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
6800 Initialize variable, shdr.
6801 (grub_freebsd_load_elfmodule): Likewise.
6802 (grub_freebsd_load_elf_meta): Likewise.
6803
8c4a72d4
BC
68042010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
6805
6806 Fix for escaped dollar in double quoted strings.
6807
6808 * script/yylex.l: Updated flex rules.
6809 * conf/tests.rmk: Rule for new testcase.
6810 * tests/grub_script_dollar.in: New testcase.
6811
ce44826e
CPE
68122010-04-13 Carles Pina i Estany <carles@pina.cat>
68132010-04-13 Colin Watson <cjwatson@ubuntu.com>
6814
6815 Enclose all translated strings in grub.cfg in single quotes, and
6816 escape them appropriately (Ubuntu bug #552921).
6817
6818 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
6819 * util/grub.d/10_hurd.in: Use it.
6820 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6821 * util/grub.d/10_linux.in (linux_entry): Likewise.
6822
4b0cd8f8
VS
68232010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 Fix cygwin compilation.
6826
6827 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
6828 * include/grub/misc.h (__register_frame_info)
6829 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
6830 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6831 * kern/misc.c (__register_frame_info)
6832 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
6833 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6834
01fcf061
VS
68352010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
6838
5d04b11e
VS
68392010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 Unify libgcc processing.
6842
6843 * Makefile.in (kernel_img_LDFLAGS): New variable.
6844 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
6845 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
6846 overwriting.
6847 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
6848 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
6849 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
6850 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
6851 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
6852 overwriting. Remove -lgcc and -static-libgcc
6853 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
6854 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6855 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6856 (kernel_img_LDFLAGS): Append instead of overwriting.
6857 Remove -lgcc and -static-libgcc
6858 * conf/sparc64-ieee1275.rmk: Likewise.
6859 * include/grub/powerpc/libgcc.h: Move to ...
6860 * include/grub/libgcc.h: .. this.
6861 * include/grub/libgcc.h: Don't export most of the function on x86.
6862 (__bswapsi2): New export.
6863 (__bswapdi2): Likewise.
6864 * include/grub/mips/libgcc.h: Removed.
6865 * include/grub/sparc64/libgcc.h: Likewise.
6866
b7f3ac29
VS
68672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
6870 disk_info_msg (conflicts with gettexting into languages with cases).
6871
2c7031b1
GS
68722010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6873
6874 Add grub-probe support for NetBSD.
6875
6876 * util/getroot.c (find_root_device): Convert block device to
6877 character device on NetBSD.
6878 * util/probe.c (probe): Require character device on NetBSD.
6879 * util/hostdisk.c: NetBSD specific headers.
6880 (configure_device_driver): new function to tune device driver
6881 parameters (currently only for NetBSD floppy driver).
6882 (grub_util_biosdisk_open): NetBSD specific code (get disk size
6883 via disklabel ioctl).
6884 (open_device): call configure_device_driver on NetBSD.
6885 (convert_system_partition_to_system_disk): NetBSD specific code.
6886 (device_is_wholedisk): Likewise.
6887 (grub_util_biosdisk_get_grub_dev): Likewise.
6888 (make_device_name): Fixed a typo in bsd_part_str.
6889 * configure.ac: check for opendisk() and getrawpartition() on
6890 NetBSD and set LIBUTIL.
6891 * Makefile.in: add LIBUTIL to LIBS.
6892
f516290c
BC
68932010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6894
6895 Documentation fix.
6896
6897 * util/grub-script-check.c: Better help message.
6898
d8dcc0df
BC
68992010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6900
6901 Fix FreeBSD build.
6902
6903 * configure.ac: Flex version check.
6904 * conf/common.rmk: Add -Wno-error to sh.mod.
6905 * script/yylex.l: Remove all #pragma.
6906
6734334a
VS
69072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * include/grub/util/misc.h (canonicalise_file_name): Add missing
6910 prototype.
6911 Reported by: Seth Goldberg.
6912
daea6abd
VS
69132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
6916 Rename "module" to "module2".
6917 Reported by: Seth Goldberg.
6918
f2fd9d2b
VS
69192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
6922 EXPORT_FUNC.
6923 Reported by: Seth Goldberg.
6924
be124579
VS
69252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * lib/posix_wrap/locale.h: Add missing file.
6928 Reported by: Seth Goldberg.
6929
ef5da797
VS
69302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 grub-emu module load support.
6933
6934 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
6935 NO_DYNAMIC_MODULES switched to this.
6936 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
6937 (CFLAGS): Likewise.
6938 * conf/any-emu.rmk: Generate symlist.
6939 (kernel_img_HEADERS): Add util/datetime.h.
6940 (kernel_img_HEADERS) [sdl]: Add sdl.h.
6941 (kernel_img_HEADERS) [libusb]: Add libusb.h.
6942 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
6943 kern/$(target_cpu)/cache.S.
6944 * configure.ac (grub-emu-modules): New option.
6945 * genmk.rb: Handle multiple source lists.
6946 * include/grub/sdl.h: New file.
6947 * include/grub/libusb.h: Likewise.
6948 * util/grub-emu.c (main): Hanle (host) root.
6949 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
6950 GRUB_ERR_UNKNOWN_DEVICE.
6951 * util/misc.c: Move mm functions to ...
6952 * util/mm.c: ... here. All users updated.
6953
47822096
VS
69542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6955
6956 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
6957 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
6958 missing files.
6959 (maintainer-clean): Remove libgcrypt-grub.
6960
5d7e7445
VS
69612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
6964
25f4e252
EC
69652010-04-09 EFI Coder <eficoder@hotmail.com>
6966
6967 * normal/menu_text.c (print_message): Clean up the message and show
6968 the Fn information when on EFI
6969 * term/efi/console.c (grub_console_checkkey): Add F4 support.
6970
027de555
VS
69712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
6974 All users updated.
6975 * normal/crypto.c (read_crypto_list): Likewise.
6976 * normal/dyncmd.c (read_command_list): Likewise.
6977 * normal/term.c (read_terminal_list): Likewise.
6978 * normal/main.c (read_lists): Use explicit prefix.
6979 (read_lists_hook): Use read_lists.
6980 (grub_normal_execute): Likewise.
6981
47779711
VS
69822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
6985 Reported by: Thomas Schmitt.
6986 Add -no-emul-boot to grub-mkisofs parameters.
6987
1118c32e
VS
69882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 * font/font.c: Indented.
6991
7d652447
BC
69922010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6993
6994 Elif support to GRUB script (by Deepak Vankadaru).
6995
6996 * tests/grub_script_if.in: New testcase.
6997 * conf/tests.rmk: Rule for new testcase.
6998 * script/parser.y: Grammar rules for elif.
6999
34bb22df
BC
70002010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7001
7002 While and until loops support to GRUB script.
7003
7004 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
7005 (grub_script_create_cmdwhile): New function prototype.
7006 (grub_script_execute_cmdwhile): New function prototype.
7007 * script/execute.c (grub_script_execute_cmdwhile): New function.
7008 * script/parser.y (command): New commands.
7009 (whilecmd): New grammar rule.
7010 (untilcmd): New grammar rule.
7011 * script/script.c (grub_script_create_cmdwhile): New function.
7012 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
7013 function.
7014
7015 * tests/grub_script_while1.in: New testcase.
7016 * conf/tests.rmk: Rule for new testcase.
7017
e215d8e0
VS
70182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
7021 as *.jpg.
7022
d7c43ba1
MV
70232010-04-09 Mario Vazquez <mariovazq@gmail.com>
7024
7025 GRUB_BACKGROUND support.
7026
7027 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
7028 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
7029
d64795c0
VS
70302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 7033 Idea by: Mario Vazquez
d64795c0
VS
7034
7035 * util/grub.d/00_header.in: Load pf2 and image modules.
7036
f267f83a
VS
70372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 grub-mkconfig multiple terminal support.
7040
7041 * util/grub-mkconfig.in: Handle multiple terminals correctly.
7042 * util/grub.d/00_header.in: Likewise.
7043
b7841ceb
VS
70442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * Makefile.in: Specify files explicitly instead of using $< and $@ since
7047 we use cd $(srcdir).
7048
df60998c
CW
70492010-04-08 Colin Watson <cjwatson@ubuntu.com>
7050
7051 * util/grub.d/10_linux.in: Only use the first word of
7052 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
7053 spaces in GRUB_DISTRIBUTOR.
7054 * util/grub.d/10_kfreebsd.in: Likewise.
7055 * util/grub.d/10_hurd.in: Likewise.
7056
fa09c82e
BC
70572010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
7058
14e18ae3 7059 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
7060
7061 * tests/util/grub-shell.in: Remove -serial stdio option.
7062
daf892b3
BC
70632010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 POSIX header file wrappers.
7066
7067 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
7068 equivalents.
7069 * lib/posix_wrap/ctype.h: Likewise.
7070 * lib/posix_wrap/errno.h: Likewise.
7071 * lib/posix_wrap/langinfo.h: Likewise.
7072 * lib/posix_wrap/limits.h: Likewise.
7073 * lib/posix_wrap/localcharset.h: Likewise.
7074 * lib/posix_wrap/stdint.h: Likewise.
7075 * lib/posix_wrap/stdio.h: Likewise.
7076 * lib/posix_wrap/stdlib.h: Likewise.
7077 * lib/posix_wrap/string.h: Likewise.
7078 * lib/posix_wrap/sys/types.h: Likewise.
7079 * lib/posix_wrap/unistd.h: Likewise.
7080 * lib/posix_wrap/wchar.h: Likewise.
7081 * lib/posix_wrap/wctype.h: Likewise.
7082 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
7083 (grub_script.yy.h): Likewise.
7084 * script/yylex.l: Remove POSIX emulation #defines.
7085 * Makefile.in (POSIX_CFLAGS): New variable.
7086 (GNULIB_UTIL_CFLAGS): Likewise.
7087
7088 Regexp support.
7089
7090 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
7091 (regexp_mod_SOURCES): New variable.
7092 (regexp_mod_CFLAGS): Likewise.
7093 (regexp_mod_LDFLAGS): Likewise.
7094 * commands/regexp.c: New file.
7095 * gnulib/regcomp.c: New file. Imported from gnulib.
7096 * gnulib/regex.c: Likewise.
7097 * gnulib/regex_internal.c: Likewise.
7098 * gnulib/regex_internal.h: Likewise.
7099 * gnulib/regexec.c: Likewise.
7100 * gnulib/regex.h: Likewise.
7101
974ac4f7
VS
71022010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
7105 unsupported video mode types.
7106
2622c3ff
VS
71072010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
7110
064cb524
VS
71112010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
7114 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
7115
a8c3b552
VS
71162010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 Remove unused grub_vga_get_font.
7119
7120 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
7121 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
7122
187bbe3d
GS
71232010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7124
7125 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
7126 * include/grub/misc.h: Likewise.
7127
b9396631
GS
71282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7129
7130 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
7131 for which failure is fatal.
7132
50479feb
GS
71332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7134
7135 * util/grub-install.in: Use mkdir -p to create grub directory.
7136 * util/i386/efi/grub-install.in: Likewise.
7137 * util/ieee1275/grub-install.in: Likewise.
7138
b1654fdf
GS
71392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7140
7141 * Makefile.in (LEX): new variable.
7142
bd5a6415
GS
71432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7144
7145 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
7146 `=' and added double quotes on operands of this equality test.
7147
3db3a82b
VS
71482010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * Makefile.in (uninstall): Remove a leftover debug echo.
7151 Reported by: Grégoire Sutre
7152
38023412
VS
71532010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 MIPS multiboot2 support.
7156
7157 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
7158 (multiboot2_mod_SOURCES): New variable.
7159 (multiboot2_mod_CFLAGS): Likewise.
7160 (multiboot2_mod_LDFLAGS): Likewise.
7161 (multiboot2_mod_ASFLAGS): Likewise.
7162 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
7163 definition.
7164 (MULTIBOOT_ENTRY_REGISTER): Likewise.
7165 (MULTIBOOT_MBI_REGISTER): Likewise.
7166 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
7167 (MULTIBOOT_ELF32_MACHINE): Likewise.
7168 (MULTIBOOT_ELF64_MACHINE): Likewise.
7169 * include/grub/mips/multiboot.h: New file.
7170 * include/grub/video.h (grub_video_driver_id): New type
7171 GRUB_VIDEO_DRIVER_SM712.
7172 (grub_video_get_info_and_fini): Export.
7173 (grub_video_get_palette): Likewise.
7174 (grub_video_get_driver_id): Likewise.
7175 * include/multiboot2.h: Resynced with spec.
7176 * loader/i386/multiboot.c: Moved from here ...
7177 * loader/multiboot.c: ... here. All users updated.
7178 (grub_multiboot_boot): Use platform-specific macros.
7179 * loader/i386/multiboot_elfxx.c: Moved from here ...
7180 * loader/multiboot_elfxx.c: ... here. All users updated.
7181 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
7182 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
7183 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
7184
47674667
VS
71852010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 Import gnulib argp module.
7188
7189 * gnulib/argp-ba.c: New file.
7190 * gnulib/argp-eexst.c: Likewise.
7191 * gnulib/argp-fmtstream.c: Likewise.
7192 * gnulib/argp-fmtstream.h: Likewise.
7193 * gnulib/argp-fs-xinl.c: Likewise.
7194 * gnulib/argp-help.c: Likewise.
7195 * gnulib/argp-namefrob.h: Likewise.
7196 * gnulib/argp-parse.c: Likewise.
7197 * gnulib/argp-pin.c: Likewise.
7198 * gnulib/argp-pv.c: Likewise.
7199 * gnulib/argp-pvh.c: Likewise.
7200 * gnulib/argp-version-etc.c: Likewise.
7201 * gnulib/argp-version-etc.h: Likewise.
7202 * gnulib/argp-xinl.c: Likewise.
7203 * gnulib/argp.h: Likewise.
7204
495442ed
VS
72052010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * kern/device.c (grub_device_iterate): Clear errors after failed
7208 opening device.
7209
f9fd65df
VS
72102010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
7213 returned by firmware.
7214
af09641e
VS
72152010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
7218 compilation on coreboot and qemu
7219
016883a5
VS
72202010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * include/multiboot2.h: Resync with spec.
7223
f97e1f7d
VS
72242010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 Multiboot2 tag support
7227
7228 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
7229 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
7230 Remove loader/multiboot_loader.c.
7231 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
7232 (grub_multiboot2_real_boot): Likewise.
7233 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
7234 (grub_get_multiboot_mmap_count): New proto.
7235 (grub_fill_multiboot_mmap): Likewise.
7236 (grub_multiboot_set_video_mode): Likewise.
7237 (grub_multiboot_set_console): Likewise.
7238 (grub_multiboot_load): Likewise.
7239 (grub_multiboot_load_elf): Likewise.
7240 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
7241 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
7242 * include/multiboot.h: Resynced with specification.
7243 * include/multiboot2.h: Resynced with specification.
7244 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
7245 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
7246 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
7247 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
7248 users updated.
7249 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
7250 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
7251 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
7252 Removed.
7253 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
7254 Moved from here...
7255 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
7256 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7257 Moved from here...
7258 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
7259 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
7260 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
7261 All users updated.
7262 * loader/i386/multiboot_mbi2.c: New file.
7263
3506b90b
VS
72642010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 Resync with gnulib.
7267
7268 * Makefile.in (GNULIB_CFLAGS): New variable.
7269 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
7270 (grub_script_check_CFLAGS): New variable.
7271 * gnulib/alloca.h: Resync with gnulib.
7272 * gnulib/error.c: Likewise.
7273 * gnulib/error.h: Likewise.
7274 * gnulib/fnmatch.c: Likewise.
7275 * gnulib/fnmatch_loop.c: Likewise.
7276 * gnulib/getdelim.c: Likewise.
7277 * gnulib/getline.c: Likewise.
7278 * gnulib/getopt.c: Likewise.
7279 * gnulib/getopt1.c: Likewise.
7280 * gnulib/getopt_int.h: Likewise.
7281 * gnulib/gettext.h: Likewise.
7282 * gnulib/progname.c: Likewise.
7283 * gnulib/progname.h: Likewise.
7284
394a3120
GS
72852010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
7286
7287 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
7288 which is the case with --disabled-nls.
7289
7290 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7291 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
7292 * util/misc.c: Likewise.
7293 * util/mkisofs/mkisofs.c: Likewise.
7294 * util/mkisofs/mkisofs.h: Likewise.
7295
969d1c78
VS
72962010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 Simplify Apple CC support.
7299
7300 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
7301 Add 0 byte at the end not to have a symbol with empty target.
7302 * mmap/i386/pc/mmap_helper.S: Likewise.
7303 * genmk.rb: Ignore errors 2030 and 2050.
7304 * kern/i386/pc/startup.S: Use LOCAL when possible.
7305
8d2977bb
BC
73062010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
7307
7308 Testcase and the fix for final semicolon on cmdline.
7309
7310 * tests/grub_script_final_semicolon.in: New testcase.
7311 * conf/tests.rmk: Rules for the new testcase.
7312 * script/parser.y: Grammar fix.
7313
a7bd6915
BC
73142010-03-26 BVK Chaitanya <bvk@localhost>
7315
7316 Blank lines testcase for GRUB script.
7317
7318 * tests/grub_script_blanklines.in: New testcase.
7319 * conf/tests.rmk: Rules for the new testcase.
7320
e4ff6628
VS
73212010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 Don't use __FILE__.
7324
7325 * genmk.rb: Add -DGRUB_FILE to all C targets.
7326 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
7327 * include/grub/list.h: Likewise.
7328 * include/grub/misc.h: Likewise.
7329 * include/grub/mm.h: Likewise.
7330 * include/grub/test.h: Likewise.
7331 * kern/mm.c: Likewise.
7332 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7333
6a5cf6b6
VS
73342010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 Sunpc partitions support.
7337
7338 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
7339 (grub_fstest_SOURCES): Likewise.
7340 (pkglib_MODULES): Add part_sunpc.mod.
7341 (part_sunpc_mod_SOURCES): New variable.
7342 (part_sunpc_mod_CFLAGS): Likewise.
7343 (part_sunpc_mod_LDFLAGS): Likewise.
7344 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
7345 * partmap/sunpc.c: New file.
7346
746d9045
BC
73472010-03-26 BVK Chaitanya <bvk@localhost>
7348
7349 For loop support to GRUB script.
7350
7351 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
7352 (grub_script_create_cmdfor): New function prototype.
7353 (grub_script_execute_cmdfor): New function prototype.
7354 * script/execute.c (grub_script_execute_cmdfor): New function.
7355 * script/parser.y (command): New for command.
7356 (forcmd): New grammar rule.
7357 * script/script.c (grub_script_create_cmdfor): New function.
7358 * util/grub-script-check.c (grub_script_execute_cmdfor): New
7359 function.
7360 * tests/grub_script_for1.in: New testcase.
7361 * conf/tests.rmk: Rules for new testcase.
7362
18486b18
VS
73632010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 Nested partitions
7366
7367 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
7368 'partition' is NULL, grub_partition_get_start already does that.
7369 * commands/loadenv.c (check_blocklists): Likewise.
7370 (write_blocklists): Likewise.
7371 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
7372 (grub_fstest_SOURCES): Likewise.
7373 (pkglib_MODULES): Add part_bsd.mod.
7374 (part_bsd_mod_SOURCES): New variable.
7375 (part_bsd_mod_CFLAGS): Likewise.
7376 (part_bsd_mod_LDFLAGS): Likewise.
7377 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
7378 (grub_emu_SOURCES): Likewise.
7379 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7380 * include/grub/bsdlabel.h: New file.
7381 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
7382 'get_name'.
7383 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
7384 (grub_partition_map_list): New variable.
7385 (grub_partition_map_register): Inline.
7386 (grub_partition_map_unregister): Likewise.
7387 (FOR_PARTITION_MAPS): New macro.
7388 (grub_partition_map_iterate): Removed.
7389 (grub_partition_get_start): Handle nested partitions.
7390 * include/grub/msdos_partition.h: Remove bsd-related entries.
7391 (grub_pc_partition): Remove.
7392 * kern/disk.c (grub_disk_close): Free partition data.
7393 (grub_disk_adjust_range): Handle nested partitions.
7394 * kern/partition.c (grub_partition_map_probe): New function.
7395 (grub_partition_probe): Parse name to number, handle subpartitions.
7396 (get_partmap): New function.
7397 (grub_partition_iterate): Handle subpartitions.
7398 (grub_partition_get_name): Likewise.
7399 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
7400 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
7401 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
7402 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
7403 Set 'number'.
7404 (acorn_partition_map_probe): Remove.
7405 (acorn_partition_map_get_name): Likewise.
7406 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
7407 Set 'number'.
7408 Set 'index' to 0 since there can be only one partition entry per sector.
7409 (amiga_partition_map_probe): Remove.
7410 (amiga_partition_map_get_name): Likewise.
7411 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
7412 Set 'number'.
7413 Set 'offset' and 'index' to real positions of partitions.
7414 (apple_partition_map_probe): Remove.
7415 (apple_partition_map_get_name): Likewise.
7416 * partmap/bsdlabel.c: New file.
7417 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
7418 Set 'number'.
7419 Allocate 'data' so it can be correctly freed.
7420 Set 'index' to offset inside sector.
7421 (gpt_partition_map_probe): Remove.
7422 (gpt_partition_map_get_name): Likewise.
7423 * partmap/msdos.c (grub_partition_parse): Remove.
7424 (pc_partition_map_iterate): Don't force raw access.
7425 Set 'number'.
7426 Make 'ext_offset' a local variable.
7427 (pc_partition_map_probe): Remove.
7428 (pc_partition_map_get_name): Remove.
7429 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
7430 Set 'number'.
7431 (sun_partition_map_probe): Remove.
7432 (sun_partition_map_get_name): Likewise.
7433 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
7434 (grub_pcpart_type): Likewise.
7435 * util/hostdisk.c (open_device): Handle new numbering scheme.
7436 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
7437 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
7438 * util/grub-probe.c (probe_partmap): Handle nested paritions.
7439 * util/grub-install.in: Insert all subpartition modules.
7440 * util/ieee1275/grub-install.in: Likewise.
7441
a3940f88
AG
74422010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
7443
7444 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
7445 grammar.
7446
21b99926 74472010-03-24 Colin Watson <cjwatson@ubuntu.com>
7448
7449 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
7450
bed1d352
CW
74512010-03-21 Colin Watson <cjwatson@ubuntu.com>
7452
7453 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
7454 match where 'make install' puts them.
7455 * util/i386/efi/grub-install.in: Likewise.
7456
c9f58427
CW
74572010-03-19 Colin Watson <cjwatson@ubuntu.com>
7458
7459 * .bzrignore: Add gentrigtables, grub-script-check,
7460 grub_script_check_init.c, grub_script_check_init.h, and
7461 trigtables.c.
7462
f84afb27
VS
74632010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * kern/parser.c: Indented.
7466
ed0e3d30
VS
74672010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
7470
0ea81d98
VS
74712010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
7474 alpha_mask_size == 0 case.
7475
0cdc2a09
BC
74762010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
7477
7478 GRUB shell lexer and parser improvements.
7479
7480 * conf/any-emu.rmk: Build rule updates.
7481 * conf/common.rmk: Likewise.
7482 * conf/i386-coreboot.rmk: Likewise.
7483 * conf/i386-efi.rmk: Likewise.
7484 * conf/i386-ieee1275.rmk: Likewise.
7485 * conf/i386-pc.rmk: Likewise.
7486 * conf/powerpc-ieee1275.rmk: Likewise.
7487 * conf/x86_64-efi.rmk: Likewise.
7488
7489 * configure.ac: Configure check for flex.
7490
7491 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
7492 types.
7493 (grub_lexer_param): Struct member updates.
7494 (grub_parser_param): Likewise.
7495 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
7496 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
7497 (grub_script_lexer_init): Prototype update.
7498 (grub_script_lexer_record_start): Likewise.
7499 (grub_script_lexer_record_stop): Likewise.
7500 (grub_script_lexer_yywrap): New function prototype.
7501 (grub_script_lexer_fini): Likewise.
7502 (grub_script_execute_argument_to_string): Removed by...
7503 (grub_script_execute_argument_to_argv): ...better version.
7504
7505 * script/execute.c (ROUND_UPTO): New macro.
7506 (grub_script_execute_cmdline): Out of memory fixes.
7507 (grub_script_execute_menuentry): Likewise.
7508 (grub_script_execute_argument_to_string): Removed. Update all
7509 users by...
7510 (grub_script_execute_argument_to_argv): ...better version.
7511 * script/function.c (grub_script_function_create): Use
7512 grub_script_execute_argument_to_argv instead of
7513 grub_script_execute_argument_to_string.
7514
7515 * script/lexer.c (check_varstate): Removed.
7516 (check_textstate): Removed.
7517 (grub_script_lexer_record_start): Likewise.
7518 (grub_script_lexer_record_stop): Likewise.
7519 (recordchar): Replaced with...
7520 (grub_script_lexer_record): ...new function.
7521 (nextchar): Removed.
7522 (grub_script_lexer_init): Rewritten.
7523 (grub_script_yylex): Rewritten.
7524 (append_newline): New function.
7525 (grub_script_lexer_yywrap): New function.
7526 (grub_script_lexer_fini): New function.
7527 (grub_script_yyerror): Sets error flag.
7528
7529 * script/yylex.l: New file.
7530 (grub_lexer_yyfree): Wrapper for flex yyffre.
7531 (grub_lexer_yyalloc): Likewise.
7532 (grub_lexer_yyrealloc): Likewise.
7533 * script/parser.y: Refactored.
7534
7535 * script/script.c (grub_script_arg_add): Out of memory fixes.
7536 (grub_script_add_arglist): Likewise.
7537 (grub_script_create_cmdline): Likewise.
7538 (grub_script_create_cmdmenu): Likewise.
7539 (grub_script_add_cmd): Likewise.
7540 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
7541 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
7542 unnecessary code.
7543
7544 * tests/grub_script_echo1.in: New testcase.
7545 * tests/grub_script_vars1.in: New testcase.
7546 * tests/grub_script_echo_keywords.in: New testcase.
7547
1d63a066
VS
75482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 Remove some redundancy in build system.
7551
7552 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
7553 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
7554 (TARGET_LDFLAGS): Add -nostdlib.
7555 (TARGET_IMG_LDFLAGS): Likewise.
7556 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
7557 anything since mmap isn't available.
7558 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
7559 Add util/time.c.
7560 (pkglib_MODULES): Remove reboot.mod.
7561 (reboot_mod_SOURCES): Removed.
7562 (reboot_mod_CFLAGS): Likewise.
7563 (reboot_mod_LDFLAGS): Likewise.
7564 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
7565 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
7566 (DEFSYMFILES): Add kernel_syms.lst.
7567 (kernel_img_HEADERS): Add common headers.
7568 (symlist.c): New target.
7569 (kernel_syms.lst): Likewise.
7570 (pkglib_MODULES): Add memdisk.mod.
7571 (memdisk_mod_SOURCES): New variable.
7572 (memdisk_mod_CFLAGS): Likewise.
7573 (memdisk_mod_LDFLAGS): Likewise.
7574 (pkglib_MODULES): Add reboot.mod.
7575 (reboot_mod_SOURCES): New variable.
7576 (reboot_mod_CFLAGS): Likewise.
7577 (reboot_mod_LDFLAGS): Likewise.
7578 (pkglib_MODULES): Add date.mod.
7579 (date_mod_SOURCES): New variable.
7580 (date_mod_CFLAGS): Likewise.
7581 (date_mod_LDFLAGS): Likewise.
7582 (pkglib_MODULES): Add datehook.mod.
7583 (datehook_mod_SOURCES): New variable.
7584 (datehook_mod_CFLAGS): Likewise.
7585 (datehook_mod_LDFLAGS): Likewise.
7586 (pkglib_MODULES): Add lsmmap.mod.
7587 (lsmmap_mod_SOURCES): New variable.
7588 (lsmmap_mod_CFLAGS): Likewise.
7589 (lsmmap_mod_LDFLAGS): Likewise.
7590 (pkglib_MODULES): Add boot.mod.
7591 (boot_mod_SOURCES): New variable.
7592 (boot_mod_CFLAGS): Likewise.
7593 (boot_mod_LDFLAGS): Likewise.
7594 * conf/i386-coreboot.rmk: Removed redundant parts.
7595 * conf/i386-ieee1275.rmk: Likewise.
7596 * conf/i386-pc.rmk: Likewise.
7597 * conf/mips-yeeloong.rmk: Likewise.
7598 * conf/mips.rmk: Likewise.
7599 * conf/powerpc-ieee1275.rmk: Likewise.
7600 * conf/sparc64-ieee1275.rmk: Likewise.
7601 * conf/x86_64-efi.rmk: Likewise.
7602 * conf/i386-coreboot.rmk: Moved qemu parts ..
7603 * conf/i386-qemu.rmk: ... here
7604 * conf/i386-efi.rmk: Moved common parts to...
7605 * conf/x86-efi.rmk: ... here.
7606 * conf/i386.rmk: Added modules common to all x86 variants.
7607 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
7608 * disk/memdisk.c: Remove grub/machine/kernel.h.
7609 * gensymlist.sh.in: Include symbol.h.
7610 * hook/datehook.c: Correct module name.
7611 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
7612 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
7613 * include/grub/i386/efi/serial.h: New file.
7614 * include/grub/x86_64/efi/serial.h: Likewise.
7615 * util/time.c: Likewise.
7616 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
7617
463ac55f
CK
76182010-03-14 Colin King <colin.king@ubuntu.com>
76192010-03-14 Colin Watson <cjwatson@ubuntu.com>
7620
7621 Shrink the pre-partition-table part of boot.img by eight bytes.
7622
7623 * boot/i386/pc/boot.S (ERR): New macro.
7624 (chs_mode): Use ERR.
7625 (geometry_error): Likewise.
7626 (hd_probe_error): Remove. This is only used once, so we wrwite
7627 it inline instead.
7628 (read_error): Instead of printing read_error_string, just set up
7629 %si and fall through to ...
7630 (error_message): ... this new function, also used by ERR.
7631
08e46ede
CW
76322010-03-14 Colin Watson <cjwatson@ubuntu.com>
7633
7634 Speed up consecutive hostdisk operations on the same device.
7635
7636 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
7637 (grub_util_biosdisk_open): Initialise disk->data.
7638 (struct linux_partition_cache): New structure.
7639 (linux_find_partition): Cache partition start positions; these are
7640 expensive to compute on every read and write.
7641 (open_device): Cache open file descriptor in disk->data, so that we
7642 don't have to reopen it and flush the buffer cache for consecutive
7643 operations on the same device.
7644 (grub_util_biosdisk_close): New function.
7645 (grub_util_biosdisk_dev): Set `close' member.
7646
7647 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
7648 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
7649 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7650 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7651 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
7652
4a6d2d06
VS
76532010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 Compile parts of grub-emu as modules.
7656
7657 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
7658 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
7659 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
7660 (all-local): Add $(GRUB_EMU).
7661 (install-local): Install $(GRUB_EMU).
7662 (uninstall): Uninstall $(GRUB_EMU).
7663 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
7664 * kern/dl.c: Likewise.
7665 * commands/sleep.c: Not include machine/time.h.
7666 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
7667 (COMMON_CFLAGS): Likewise.
7668 (sbin_UTILITIES): Remove grub-emu.
7669 (grub_emu_SOURCES): Removed.
7670 (kernel_img_RELOCATABLE): New variable.
7671 (pkglib_PROGRAMS): Add kernel.img.
7672 (kernel_img_SOURCES): New variable
7673 (kernel_img_CFLAGS): Likewise.
7674 (kernel_img_LDFLAGS): Likewise.
7675 (TARGET_NO_STRIP): Likewise.
7676 (TARGET_NO_DYNAMIC_MODULES): Likewise.
7677 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
7678 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
7679 (grub-emu): New target.
7680 (GRUB_EMU): New variable.
7681 * configure.ac: Whitelist -emu as possible x86_64 architecture.
7682 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
7683 * loader/xnu.c: Likewise.
7684 * include/grub/pci.h: Likewise.
7685 * genemuinit.sh: New file.
7686 * genemuinitheader.sh: Likewise.
7687 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
7688 Support TARGET_NO_DYNAMIC_MODULES.
7689 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
7690 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
7691 * disk/loopback.c: Likewise.
7692 * font/font_cmd.c: Likewise.
7693 * partmap/acorn.c: Likewise.
7694 * partmap/amiga.c: Likewise.
7695 * partmap/apple.c: Likewise.
7696 * partmap/gpt.c: Likewise.
7697 * partmap/msdos.c: Likewise.
7698 * partmap/sun.c: Likewise.
7699 * parttool/msdospart.c: Likewise.
7700 * term/gfxterm.c: Likewise.
7701 * video/bitmap.c: Likewise.
7702 * video/readers/jpeg.c: Likewise.
7703 * video/readers/png.c: Likewise.
7704 * video/readers/tga.c: Likewise.
7705 * video/video.c: Likewise.
7706 * util/grub-emu.c (read_command_list): Removed.
7707 (main): Don't call util_init_nls.
7708 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
7709 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
7710
91fdd2ed
VS
77112010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
7714 date.mod, datehook.mod.
7715 (datetime_mod_SOURCES): New variable.
7716 (datetime_mod_CFLAGS): Likewise.
7717 (datetime_mod_LDFLAGS): Likewise.
7718 (date_mod_SOURCES): Likewise.
7719 (date_mod_CFLAGS): Likewise.
7720 (date_mod_LDFLAGS): Likewise.
7721 (datehook_mod_SOURCES): Likewise.
7722 (datehook_mod_CFLAGS): Likewise.
7723 (datehook_mod_LDFLAGS): Likewise.
7724 * conf/sparc64-ieee1275.rmk: Likewise.
7725 * lib/ieee1275/datetime.c: New file.
7726
873ccae6
VS
77272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
7730 (ieee1275_fb_mod_SOURCES): New variable.
7731 (ieee1275_fb_mod_CFLAGS): Likewise.
7732 (ieee1275_fb_mod_LDFLAGS): Likewise.
7733 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
7734 New proto.
7735 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
7736 (HEAP_MAX_ADDR): Likewise.
7737 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
7738 type.
7739 Correct stop condition.
7740 (grub_ieee1275_devices_iterate): New function.
7741 * video/ieee1275.c: New file.
7742
601c97c0
VS
77432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
7746
7747 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
7748 as scratch.
7749 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
7750 SCRATCH_PAD_DISKBOOT as scratch.
7751 (bootit): Pass Openfirmware pointer in %o4.
7752 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
7753 of 0x200000.
7754 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
7755 with util/grub-mkrawimage.c.
7756 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
7757 * include/grub/aout.h (AOUT_MID_SUN): New definition.
7758 (grub_aout_get_type) [GRUB_UTIL]: Removed.
7759 (grub_aout_load) [GRUB_UTIL]: Likewise.
7760 * include/grub/kernel.h (grub_modules_get_end): New proto.
7761 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
7762 (SCRATCH_PAD_BOOT): New definition.
7763 (SCRATCH_PAD_DISKBOOT): Likewise.
7764 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
7765 * include/grub/sparc64/ieee1275/ieee1275.h
7766 (grub_ieee1275_original_stack): New variable
7767 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
7768 New definition
7769 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
7770 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
7771 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
7772 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
7773 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
7774 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
7775 (grub_platform_image_format_t): New type.
7776 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
7777 * kern/main.c (grub_modules_get_end)
7778 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
7779 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
7780 (codestart): Switch stacks.
7781 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
7782 variable.
7783 (grub_heap_init): Use grub_modules_get_end.
7784 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
7785 stack.
7786 * util/grub-mkrawimage.c (generate_image): Support sparc64.
7787 (main): Likewise.
7788 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
7789
d68b491e
TG
77902010-03-14 Thorsten Glaser <tg@mirbsd.org>
7791
7792 * util/grub-mkrescue.in: Base ISO UUID on UTC.
7793
4e02ed50
MK
77942010-03-08 Matt Kraai <kraai@ftbfs.org>
7795
7796 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
7797 bug #559005).
7798
1f15fc1e
VS
77992010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * genmoddep.awk: Output all missing symbols and not only first.
7802
fce5d8ff
VS
78032010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * NEWS: Put the date of 1.98 release.
7806
d1e8a02f
VS
78072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
7810 ft2build.h.
7811
696fd607
VS
78122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
7815 completition in the middle of string.
7816
33e2e6f3
VS
78172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * util/grub-mkrescue.in: Use mktemp with explicit template.
7820
b1f6d291
VS
78212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
7824
2ac227c7
VS
78252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
7828 right pointer.
7829
8f9a632b
VS
78302010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 Fix FreeBSD compilation.
7833
7834 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
7835 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
7836
60b03859
VS
78372010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
7840
48a5a769
VS
78412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
7844
3ab4bd77
VS
78452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
7848
d116e0d8
RM
78492010-03-04 Robert Millan <rmh.grub@aybabtu.com>
7850
7851 Support relative image path in theme file.
7852
7853 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
7854 (image_set_property): Handle theme_dir and relative path.
7855
c7ef54aa
VS
78562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 * configure.ac: Alias amd64 to x86_64.
7859
fcee14ed
VS
78602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 * NEWS: mention multiboot on EFI.
7863
d0780363
VS
78642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * kern/main.c (grub_load_modules): Handle errors from init functions of
7867 embeded modules.
7868
41168ea4
VS
78692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 * normal/autofs.c (autoload_fs_module): Handle errors.
7872
b54d93ac
VS
78732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 Disable linux.mod on qemu-mips since it's not functional and leads
7876 to compilation failure.
7877
7878 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
7879 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
7880 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
7881 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
7882 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
7883 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
7884 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
7885 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
7886 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
7887 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
7888 Reported by: BVK Chaitanya
7889
fc8345da
JU
78902010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
7891
7892 * INSTALL: Add gettext as a dependency and add qemu to a new section
7893 "Prerequisites for make-check".
7894
4760f979
CF
78952010-03-04 Christian Franke <franke@computer.org>
7896
7897 * util/grub-pe2elf.c: Add missing include "progname.h".
7898
f209b5b2
VS
78992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * normal/crypto.c (read_crypto_list): Fix a typo.
7902 Reported by: Seth Goldberg.
7903
b4b7be98
VS
79042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 7907 Reported by: Seth Goldberg.
b4b7be98 7908
c0ee0385
VS
79092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
7912 ascii.bitmaps.
7913
a8efbf64
VS
79142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 7917 Reported by: Seth Goldberg.
a8efbf64 7918
08dcd913
VS
79192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * util/i386/efi/grub-install.in: Copy gettext files.
7922
c4d0b332
VS
79232010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
7926
c6f2fe52
VS
79272010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 Wait for user entry basing on presence of output rather than on errors.
7930
7931 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
7932 (grub_install_newline_hook): Likewise.
7933 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
7934 * normal/menu.c (show_menu): Check line_counter to determine presence
7935 of output.
7936 * normal/term.c (grub_normal_line_counter): New variable.
7937 (grub_normal_get_line_counter): New function.
7938 (grub_install_newline_hook): Likewise.
7939
5382b1e4
VS
79402010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
7943
5519963b
VS
79442010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * configure.ac: Update version to 1.98.
7947
72b28631
VS
79482010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * util/grub.d/10_linux.in (linux_entry): Don't default to
7951 gfxpayload=keep if Linux doesn't support video handover.
7952
c140a180
VS
79532010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 Don't compile video modules on yeeloong since video subsystem is part
7956 of kernel.
7957
7958 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
7959 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
7960 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
7961 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
7962 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
7963 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
7964 * include/grub/bitmap_scale.h: Likewise.
7965 * include/grub/bufio.h: Likewise.
7966 * include/grub/font.h: Likewise.
7967 * include/grub/gfxterm.h: Likewise.
7968 * include/grub/video.h: Likewise.
7969 * include/grub/vbe.h: Don't include video_fb.h.
7970 * video/i386/pc/vbe.c: Include video_fb.h.
7971 * commands/i386/pc/vbetest.c: Include video.h.
7972
a0ca21c2
CW
79732010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
7974
7975 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
7976 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
7977 default entry if GRUB_SAVEDEFAULT=true. This allows using
7978 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
7979 saving a new default on every boot.
7980
4a8a763c
VS
79812010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * normal/crypto.c (read_crypto_list): Fix a memory leak.
7984 * normal/term.c (read_terminal_list): Likewise.
7985 * normal/main.c (grub_normal_init_page): Likewise.
7986 (grub_normal_read_line_real): Likewise.
7987
607ffde2
VS
79882010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
7991 memory leak.
7992 Reported by: Seth Goldberg.
7993
2b8fa975
CW
79942010-02-24 Joey Korkames <joey+lists@kidfixit.com>
7995
7996 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
7997 duplicate declaration of `start'.
7998
618307dd
VS
79992010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
8002 filename.
8003 Reported by: Georgy Buranov
8004
7dd05b96 80052010-02-20 Carles Pina i Estany <carles@pina.cat>
8006
8007 * util/grub-mkrawimage.c (usage): Change string formatting to
8008 improve gettext.
8009
d1484a42
MRA
80102010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8011
8012 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
8013 backspace keys.
8014
42b1d186
VS
80152010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
8018 Reported by: Michael Suchanek.
8019
80202010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
8021
8022 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
8023 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
8024
d9f31a41
VS
80252010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 Remove any reference to non-free fonts.
8028
8029 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
8030 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
8031 uses non-free components.
8032 * font/font.c (grub_font_get_name): Remove example name.
8033 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
8034 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8035 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
8036 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
8037
2793c71e
GB
80382010-02-16 Georgy Buranov <gburanov@gmail.com>
8039
8040 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
8041
402e3779
VS
80422010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
8045 Double divisor.
8046 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
8047 features.
8048 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
8049
0dd1e0dd
VS
80502010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * gensymlist.sh.in: Use TARGET_CC instead of CC.
8053
6fa7cfce
ST
80542010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8055
8056 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
8057 * docs/grub.texi (Command-line and menu entry commands): Document play
8058 command.
8059
37c8483b
ST
80602010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8061
8062 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
8063 parse arguments as inline tempo and notes. Move code for playing notes
8064 to...
8065 (play): ... new function.
8066
14da0fb7
ST
80672010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8068
8069 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
8070 grub_uint16_t instead of short.
8071 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
8072 disk from little endian to cpu endianness.
8073
04459e70
ST
80742010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
8075
8076 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
8077 GRUB_TICKS_PER_SECOND instead of 120.
8078
a0876943
VS
80792010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
8082 escape sequence after \e.
8083
e29f95dc
VS
80842010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
8087 non-ASCII characters.
8088
d27859b2
VS
80892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
8092 set root in single quotes to prevent \, from being unescaped.
8093
bc028f2f
VS
80942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 Prevent unknown commands from stopping menuentry execution.
8097
8098 * script/execute.c (grub_script_execute_cmdline): Print error after
8099 unknown command.
8100
095f5f82
VS
81012010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
8104 Reported by: Pavel Pisa.
8105
8c717950
VS
81062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
8109
904935c3
VS
81102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 Merge grub_ieee1275_map_physical into grub_map and rename to
8113 grub_ieee1275_map
8114
8115 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
8116 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
8117 Remove.
8118 * kern/ieee1275/openfw.c (grub_map): Rename to ...
8119 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
8120 necessary.
8121 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
8122
5b59a4e3
VS
81232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
8126 opening and not after.
8127
69e137e8
VS
81282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
8131 constants.
8132
2c0fcc36
VS
81332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
8136 (alloc_phys): Use ALIGN_UP instead of align_addr.
8137
8c6052ce
VS
81382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
8141
17cec782
VS
81422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
8145
e0128bbd
VS
81462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
8149 verbose dprintf.
8150
ca62070b
VS
81512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 Fix over-4GiB seek on sparc64.
8154
8155 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
8156 Replace pos_i and pos_lo with pos. All users updated.
8157 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8158 New constant.
8159 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8160 Likewise.
8161 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
8162 and pos_lo.
8163
bdca2607
VS
81642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * util/grub-mkrawimage.c (main): Call set_program_name.
8167
da278c4d
VS
81682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 Properly align 64-bit targets.
8171
8172 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
8173 (generate_image): Use ALIGN_ADDR.
8174
b274d734
VS
81752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 Properly create cross-endian images.
8178
8179 * include/grub/types.h (grub_host_to_target_addr): New macro
8180 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
8181
82da2062
VS
81822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
8185
7cae4377
VS
81862010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
8189
8190 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
8191 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
8192 (grub_linux_boot): Divide by 64K when on VESA.
8193
65a533e7
VS
81942010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 Support GRUB_GFXPAYLOAD_LINUX.
8197
8198 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
8199 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
8200
dd01d397
VS
82012010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
8204 to show messages instead of discarding them.
8205 Process errors after executing command and not before. Keep old method
8206 too as precaution.
8207
660960d6
VS
82082010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * configure.ac: Check for ft2build.h.
8211
62509f04
VS
82122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
8215
473df63d
VS
82162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * genkernsyms.sh.in: Use TARGET_CC.
8219
c98d2a13
CW
82202010-02-07 Colin Watson <cjwatson@ubuntu.com>
8221
8222 * NEWS: Update.
8223
6e14234c
VS
82242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
8227 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
8228 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 8229
b255e9cf
YB
82302010-02-07 Yves Blusseau <blusseau@zetam.org>
8231
6e14234c 8232 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 8233
98e6959d
VS
82342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 Fix warnings in grub-emu when compiling with maximum warning options.
8237
8238 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
8239 (grub_arch_modules_addr): Return 0 and not NULL.
8240 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 8241 (xstrdup): Use newstr instead of dup.
f88d801b
VS
8242 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
8243 of disk to dsk to avoid shadowing.
74e4934e
VS
8244 (find_free_slot): Fix prototype.
8245 * util/getroot.c (grub_util_is_dmraid): Make static.
8246 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
8247 Add missing prototype.
8248 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 8249
74e31b5c
VS
82502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * loader/i386/linux.c (grub_linux_setup_video): Handle error
8253 appropriately.
8254
6b2ad14b
VS
82552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
8258 code out.
8259
8f891adc
VS
82602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
8263 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
8264 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
8265 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
8266 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
8267 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
8268
74b45184
VS
82692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 * include/grub/err.h (grub_err_printf): Don't export.
8272
a4bced77
VS
82732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
8276
007d0695
VS
82772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * include/grub/i18n.h (grub_gettext_dummy): Removed.
8280 * kern/misc.c (grub_gettext_dummy): Make static.
8281
b6c0d9c2
VS
82822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
8285 by non-valid ones.
8286 * kern/term.c (grub_putchar): Likewise.
8287
f51a90d0
VS
82882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
8291 buggy hook call and memory leak.
8292
6846cec5
VS
82932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
8296
468d69fe
VS
82972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
8300
51906b8c
VS
83012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
8304 modevar.
8305 Return grub_errno on allocation error.
8306
09706ce5
VS
83072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
8310
911df80c
YB
83112010-02-06 Yves Blusseau <blusseau@zetam.org>
8312
8313 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
8314 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
8315
3746a6bc
VS
83162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
8319 non-pxe disk.
8320 (grub_pxefs_open): Likewise.
8321
09706ce5
VS
83222010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8323
8324 * util/grub.d/10_hurd.in: Add --class information to menuentries.
8325 * util/grub.d/10_kfreebsd.in: Likewise.
8326 * util/grub.d/10_linux.in: Likewise.
8327
7cc192d9
VS
83282010-02-06 Colin D Bennett <colin@gibibit.com>
8329
8330 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
8331 (gfxmenu_mod_SOURCES): New variable.
8332 (gfxmenu_mod_CFLAGS): Likewise.
8333 (gfxmenu_mod_LDFLAGS): Likewise.
8334 * include/grub/term.h (grub_term_set_current_output): Declare
8335 argument as const.
8336 * docs/gfxmenu-theme-example.txt: New file.
8337 * gfxmenu/gfxmenu.c: Likewise.
8338 * gfxmenu/gui_box.c: Likewise.
8339 * gfxmenu/gui_canvas.c: Likewise.
8340 * gfxmenu/gui_circular_progress.c: Likewise.
8341 * gfxmenu/gui_image.c: Likewise.
8342 * gfxmenu/gui_label.c: Likewise.
8343 * gfxmenu/gui_list.c: Likewise.
8344 * gfxmenu/gui_progress_bar.c: Likewise.
8345 * gfxmenu/gui_string_util.c: Likewise.
8346 * gfxmenu/gui_util.c: Likewise.
8347 * gfxmenu/icon_manager.c: Likewise.
8348 * gfxmenu/model.c: Likewise.
8349 * gfxmenu/named_colors.c: Likewise.
8350 * gfxmenu/theme_loader.c: Likewise.
8351 * gfxmenu/view.c: Likewise.
8352 * gfxmenu/widget-box.c: Likewise.
8353 * include/grub/gfxmenu_model.h: Likewise.
8354 * include/grub/gfxmenu_view.h: Likewise.
8355 * include/grub/gfxwidgets.h: Likewise.
8356 * include/grub/gui.h: Likewise.
8357 * include/grub/gui_string_util.h: Likewise.
8358 * include/grub/icon_manager.h: Likewise.
8359
83602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 Agglomerate scrolling in gfxterm.
8363
8364 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
8365 (grub_virtual_screen_setup): Initialise 'total_screen'.
8366 (write_char): Split to ...
8367 (paint_char): ... this ...
8368 (write_char): ... and this.
8369 (paint_char): Handle delayed scrolling.
8370 (draw_cursor): Likewise.
8371 (scroll_up): Split to ...
8372 (real_scroll): ... this ...
8373 (scroll_up): ... and this.
8374 (real_scroll): Handle multi-line scroll and draw below-the-bottom
8375 characters.
8376 (grub_gfxterm_refresh): Call real_scroll.
8377
83782010-02-06 Colin D Bennett <colin@gibibit.com>
8379
8380 * include/grub/misc.h (grub_iscntrl): New inline function.
8381 (grub_isalnum): Likewise.
8382 (grub_strtol): Likewise.
8383
83842010-02-06 Colin D Bennett <colin@gibibit.com>
8385
8386 * normal/menu_text.c (get_entry_number): Move from here ...
8387 * normal/menu.c (get_entry_number): ... moved here.
8388 * include/grub/menu.h (grub_menu_get_default_entry_index):
8389 New prototype.
8390 * normal/menu.c (grub_menu_get_default_entry_index): New function.
8391 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
8392 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
8393 (grub_menu_viewer_should_return): Likewise.
8394 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
8395 * normal/menu_text.c (run_menu): Enable menu switching.
8396 * normal/menu_viewer.c (should_return): New variable.
8397 (menu_viewer_changed): Likewise.
8398 (grub_menu_viewer_show_menu): Handle menu viewer changes.
8399 (grub_menu_viewer_should_return): New function.
8400 (menuviewer_write_hook): Likewise.
8401 (grub_menu_viewer_init): Likewise.
8402
84032010-02-06 Colin D Bennet <colin@gibibit.com>
84042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 Support for gfxterm in a window.
8407
8408 * include/grub/gfxterm.h: New file.
8409 * include/grub/video.h (struct grub_video_rect): New declaration.
8410 (grub_video_rect_t): Likewise.
8411 * term/gfxterm.c (struct grub_gfxterm_window): New type.
8412 (refcount): New variable.
8413 (render_target): Likewise.
8414 (window): Likewise.
8415 (repaint_callback): Likewise.
8416 (grub_virtual_screen_setup): Use 'render_target'.
8417 (init_window): New function.
8418 (grub_gfxterm_init_window): Likewise.
8419 (grub_gfxterm_init): Check reference counter.
8420 Use init_window.
8421 (destroy_window): New function.
8422 (grub_gfxterm_destroy_window): Likewise.
8423 (grub_gfxterm_fini): Check reference counter.
8424 Use destroy_window.
8425 (redraw_screen_rect): Restore viewport.
8426 Use 'render_target' and 'window'.
8427 Call 'repaint_callback'.
8428 (write_char): Use 'render_target'.
8429 (draw_cursor): Likewise.
8430 (scroll_up): Restore viewport.
8431 Use 'render_target' and 'window'.
8432 Call 'repaint_callback'.
8433 (grub_gfxterm_cls): Likewise.
8434 (grub_gfxterm_refresh): Use 'window'.
8435 (grub_gfxterm_set_repaint_callback): New function.
8436 (grub_gfxterm_background_image_cmd): Use 'window'.
8437 (grub_gfxterm_get_term): New function.
8438 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
8439
84402010-02-06 Colin D Bennett <colin@gibibit.com>
8441
8442 Bitmap scaling support.
8443
8444 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
8445 (bitmap_scale_mod_SOURCES): New variable.
8446 (bitmap_scale_mod_CFLAGS): Likewise.
8447 (bitmap_scale_mod_LDFLAGS): Likewise.
8448 * include/grub/bitmap_scale.h: New file.
8449 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
8450 (background_image_cmd_options): New variable.
8451 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
8452 (cmd): Rename and change type to ...
8453 (background_image_cmd_handle): ... this. All users updated.
8454 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
8455 * video/bitmap_scale.c: New file.
8456
84572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 SDL support.
8460
8461 * Makefile.in (LIBSDL): New variable.
8462 (enable_grub_emu_sdl): Likewise.
8463 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
8464 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
8465 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
8466 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
8467 * util/sdl.c: New file.
8468
84692010-02-06 Colin D Bennett <colin@gibibit.com>
84702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 Double buffering support.
8473
8474 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
8475 * include/grub/video.h: Update comment.
8476 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8477 New type.
8478 (grub_video_fb_doublebuf_blit_init): New prototype.
8479 * term/gfxterm.c (scroll_up): Support double buffering.
8480 (grub_gfxterm_refresh): Likewise.
8481 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
8482 (grub_video_fb_doublebuf_blit_init): Likewise.
8483 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
8484 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
8485 'displayed_page', 'render_page' and 'update_screen'.
8486 (grub_video_vbe_fini): Free offscreen buffer.
8487 (doublebuf_pageflipping_commit): New function.
8488 (doublebuf_pageflipping_update_screen): Likewise.
8489 (doublebuf_pageflipping_init): Likewise.
8490 (double_buffering_init): Likewise.
8491 (grub_video_vbe_setup): Enable doublebuffering.
8492 (grub_video_vbe_swap_buffers): Implement.
8493 (grub_video_vbe_set_active_render_target): Handle double buffering.
8494 (grub_video_vbe_get_active_render_target): Likewise.
8495 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
8496 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
8497 (grub_video_vbe_enable_double_buffering): Likewise.
8498 (grub_video_vbe_swap_buffers): Use update_screen.
8499 (grub_video_set_mode): Use double buffering.
8500
85012010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8502
8503 * maintainance/gentrigtables.py: Remove.
8504 * lib/trig.c: Likewise.
8505
8506 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
8507
8508 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
8509 `trigtables.c'.
8510 (trigtables.c): New rule.
8511 (gentrigtables): Likewise.
8512 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
8513
85142010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8515
8516 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
8517 integer constants.
8518
85192010-02-06 Colin D Bennet <colin@gibibit.com>
8520
8521 Trigonometry support.
8522
8523 * include/grub/trig.h: New file.
8524 * lib/trig.c: Likewise.
8525 * maintainance/gentrigtables.py: Likewise.
8526 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
8527 (trig_mod_SOURCES): New variable.
8528 (trig_mod_CFLAGS): Likewise.
8529 (trig_mod_LDFLAGS): Likewise.
8530
5562834e
VS
85312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
8534 disk devices.
8535
4f8528fc
VS
85362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
8539 error.
8540
2b4068e9
VS
85412010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * util/hostdisk.c (open_device): Don't use partition device when reading
8544 before the partition.
8545 (grub_util_biosdisk_read): Don't read from partition and before the
8546 partition in single operation.
8547 (grub_util_biosdisk_write): Don't write to partition and before the
8548 partition in single operation.
8549
399f6e4d
TL
85502010-02-03 Torsten Landschoff <torsten@debian.org>
8551
8552 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8553 last sectors.
8554
996649b0
VS
85552010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
8558 CDROM reads.
8559 (grub_biosdisk_write): Refuse to write to CDROM.
8560
3b205d4d
VS
85612010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
8564
61e89d9d
VS
85652010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * font/font.c (find_glyph): Check that bmp_idx is available before
8568 using it.
8569 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
8570 with (font == NULL).
8571
bf7fcba2
CS
85722010-01-28 Christian Schmitt <chris@ilovelinux.de>
8573
8574 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
8575
f45d2663
BC
85762010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
8577
8578 * include/grub/script_sh.h (sourcecode): Add const qualifier.
8579 * util/grub-script-check.c (getline): Fix empty lines case.
8580
ec1444e6
RM
85812010-01-28 Robert Millan <rmh.grub@aybabtu.com>
8582
8583 * Makefile.in (check): Exit with fail status when one of the tests
8584 fails.
8585 * tests/example_functional_test.c (example_test): Fix reversed assert.
8586 * tests/example_unit_test.c (example_test): Likewise.
8587
2e1cb9bb
CW
85882010-01-28 Colin Watson <cjwatson@ubuntu.com>
8589
8590 * util/grub.d/10_linux.in: This script does not use any of the
8591 contents of gettext.sh, only the external command `gettext', so stop
8592 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
8593 the same prefix as GRUB.)
8594 * util/grub.d/10_kfreebsd.in: Likewise.
8595
63533ab0
VS
85962010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
8599 of the line.
8600
989e1f93
VS
86012010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8604 last sectors.
8605
e709ebe2
VS
86062010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
8609 having a 4KiB and not 32KiB buffer size.
8610
27dea7ed
RM
86112010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8612
8613 * util/hostfs.c: Include `<errno.h>'.
8614 (grub_hostfs_read): Handle errors from fseeko() and fread().
8615
67667b9c
RM
86162010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8617
8618 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
8619 loop when using read hooks on files whose size isn't sector-aligned.
8620
c294d9d8
RM
86212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8622
8623 Remove unused parameter.
8624
8625 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
8626 (grub_iso9660_open): Remove initialization of `data->length'.
8627
af75a9f1
RM
86282010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8629
8630 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
8631 memleak conditions.
8632
254e2ce5 86332010-01-27 Carles Pina i Estany <carles@pina.cat>
8634
8635 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
8636 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
8637
b510928c 86382010-01-26 Carles Pina i Estany <carles@pina.cat>
8639
8640 * util/bin2h.c (usage): Fix warning (space after backslash).
8641
aa2f9dd2 86422010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 8643
8644 * font/font.c: Include `grub/fontformat.h.
8645 Remove font file format constants.
8646 (grub_font_load): Use the new macros.
8647 * include/grub/fontformat.h: New file.
8648 * util/grub-mkfont.c: Include `grub/fontformat.c'.
8649 (write_font_pf2): Use the new macros.
8650
94e7e712
RM
86512010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8652
8653 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
8654 does.
8655
3973a59a
RM
86562010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8657
8658 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
8659
8660 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
8661 (_start): Macroify `0x7F'.
8662
8663 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
8664 (make_install_device): Use "(pxe)" as fallback prefix when booting
8665 via PXE.
8666
42e0cba3
GS
86672010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * configure.ac: Reset LIBS after check for libgcc symbols.
8670
847effd8
CW
86712010-01-25 Colin Watson <cjwatson@ubuntu.com>
8672
8673 * util/hostdisk.c (open_device): Add trailing newline to debug
8674 message.
8675
ea4a7e35
GS
86762010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8677
8678 * configure.ac: Check for `limits.h'.
8679 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
8680
67951a53
RM
86812010-01-24 Robert Millan <rmh.grub@aybabtu.com>
8682
8683 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
8684 capitalize error strings.
8685
c273d4ce
ST
86862010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
8687
8688 * util/grub.d/10_hurd.in: Add a recovery mode.
8689
69be5b74
VS
86902010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 * configure.ac: Check for libgcc symbols with -nostdlib.
8693
fc9e5810
BC
86942010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
8695
8696 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
8697
4b358c0a
VS
86982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
8701 stack since heap may be unavailable at that point.
8702 (grub_ofconsole_gotoxy): Likewise.
8703
454fcd1c
VS
87042010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * configure.ac: Check for _restgpr_14_x.
8707 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
8708 and _savegpr_* prototypes.
8709
566863ca
RM
87102010-01-22 Robert Millan <rmh.grub@aybabtu.com>
8711
8712 Use generic grub_reboot() for i386-efi.
8713
8714 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
8715 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
8716 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
8717
bf86e59a
VS
87182010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
8721 presence of "prefix" variable as it breaks when normal.mod is
8722 embedded.
8723
d645e0f8
VS
87242010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
8727 stack since heap is unavailable at that point.
8728
f9ab2e25
VS
87292010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
8732 (grub_freebsd_bootinfo): Rewritten.
8733 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
8734
01fc7054
VS
87352010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
8738
caab4fd6
RM
87392010-01-21 Robert Millan <rmh.grub@aybabtu.com>
8740
8741 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
8742 domain now.
8743
67eb1427
FZ
87442010-01-20 Felix Zielcke <fzielcke@z-51.de>
8745
8746 * util/misc.c (make_system_path_relative_to_its_root): Change the work
8747 around for handling "/" to the correct fix. Fix a memory leak. Use
8748 xstrdup instead of strdup.
8749
a9ed4ff3
VS
87502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
8753
87542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
8755
8756 Optimise glyph lookup by Basic Multilingual Plane lookup array.
8757
8758 * font/font.c (struct grub_font): New member 'bmp_idx'.
8759 (font_init): Initialise 'bmp_idx'.
8760 (load_font_index): Fill 'bmp_idx'.
8761 (find_glyph): Make inline. Use bmp_idx for BMP characters.
8762
48209f4f
VS
87632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
8766 unnecessary calls.
8767
9f0a4bb7
VS
87682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 Move context handling out of the kernel.
8771
8772 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
8773 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
8774 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
8775 * conf/i386-efi.rmk: Likewise.
8776 * conf/i386-ieee1275.rmk: Likewise.
8777 * conf/i386-pc.rmk: Likewise.
8778 * conf/powerpc-ieee1275.rmk: Likewise.
8779 * conf/sparc64-ieee1275.rmk: Likewise.
8780 * conf/x86_64-efi.rmk: Likewise.
8781 * include/grub/env.h: Include grub/menu.h.
8782 (grub_env_var_type): Removed.
8783 (grub_env_var): Replaced field 'type' with 'global'.
8784 (grub_env_find): New prototype.
8785 (grub_env_context_open): Remove EXPORT_FUNC.
8786 (grub_env_context_close): Likewise.
8787 (grub_env_export): Likewise.
8788 (grub_env_set_data_slot): Removed.
8789 (grub_env_get_data_slot): Likewise.
8790 (grub_env_unset_data_slot): Likewise.
8791 (grub_env_unset_menu): New prototype.
8792 (grub_env_set_menu): Likewise.
8793 (grub_env_get_menu): Likewise.
8794 * include/grub/env_private.h: New file.
8795 * include/grub/normal.h (grub_context_init): New prototype.
8796 (grub_context_fini): Likewise.
8797 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
8798 * normal/context.c (grub_cmd_export): ... to here.
8799 * kern/env.c: Include env_private.h.
8800 (HASHSZ): Moved to include/grub/env_private.h.
8801 (grub_env_context): Likewise.
8802 (grub_env_sorted_var): Likewise.
8803 (current_context): Renamed from this ...
8804 (grub_current_context): ...to this. 'static' removed. All users updated.
8805 (grub_env_find): Removed 'static'.
8806 (grub_env_context_open): Moved to normal/context.c.
8807 (grub_env_context_close): Likewise.
8808 (grub_env_export): Likewise.
8809 (mangle_data_slot_name): Removed.
8810 (grub_env_set_data_slot): Likewise.
8811 (grub_env_get_data_slot): Likewise.
8812 (grub_env_unset_data_slot): Likewise.
8813 * kern/main.c (grub_set_root_dev): Don't export root.
8814 It will be done later.
8815 (grub_main): Don't export prefix.
8816 It will be done later.
8817 * normal/context.c: New file.
8818 * normal/main.c (free_menu): Use grub_env_unset_menu.
8819 (grub_normal_add_menu_entry): Use grub_env_get_menu.
8820 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
8821 (GRUB_MOD_INIT(normal)): Call grub_context_init.
8822 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
8823
8dd35b8c
VS
88242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 setpci support.
8827
8828 * commands/setpci.c: New file.
8829 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
8830 (setpci_mod_SOURCES): New variable.
8831 (setpci_mod_CFLAGS): Likewise.
8832 (setpci_mod_LDFLAGS): Likewise.
8833
449193d5
VS
88342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 Byte-addressable PCI configuration space.
8837
8838 * bus/pci.c (grub_pci_make_address): Use byte address instead of
8839 dword address.
8840 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
8841 GRUB_PCI_REG_CACHELINE.
8842 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
8843 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
8844 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
8845 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
8846 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
8847 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
8848 grub_pci_make_address.
8849 (lock_rom_area): Likewise.
8850 * commands/lspci.c (grub_lspci_iter): Use macroses
8851 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
8852 of grub_pci_make_address.
8853 * disk/ata.c (grub_ata_pciinit): Likewise.
8854 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
8855 (GRUB_PCI_REG_VENDOR): Likewise.
8856 (GRUB_PCI_REG_DEVICE): Likewise.
8857 (GRUB_PCI_REG_COMMAND): Likewise.
8858 (GRUB_PCI_REG_STATUS): Likewise.
8859 (GRUB_PCI_REG_REVISION): Likewise.
8860 (GRUB_PCI_REG_CLASS): Likewise.
8861 (GRUB_PCI_REG_CACHELINE): Likewise.
8862 (GRUB_PCI_REG_LAT_TIMER): Likewise.
8863 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
8864 (GRUB_PCI_REG_BIST): Likewise.
8865 (GRUB_PCI_REG_ADDRESSES): Likewise.
8866 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8867 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8868 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8869 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8870 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8871 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8872 (GRUB_PCI_REG_CIS_POINTER): Likewise.
8873 (GRUB_PCI_REG_SUBVENDOR): Likewise.
8874 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
8875 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
8876 (GRUB_PCI_REG_CAP_POINTER): Likewise.
8877 (GRUB_PCI_REG_IRQ_LINE): Likewise.
8878 (GRUB_PCI_REG_IRQ_PIN): Likewise.
8879 (GRUB_PCI_REG_MIN_GNT): Likewise.
8880 (GRUB_PCI_REG_MAX_LAT): Likewise.
8881 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
8882 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
8883 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 8884 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
8885 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
8886 space.
8887
96d73208
RM
88882010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8889
8890 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
8891 can be reliably determined to be supported.
8892
d4484482
RM
88932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8894
8895 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
8896 that VESA is supported.
8897 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
8898 supported.
8899
00308ecf
VS
89002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
8903
f66924a4
RM
89042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8905
8906 * util/misc.c (make_system_path_relative_to_its_root): Work around
8907 special-casing of "/", as previous incarnation of this routine did.
8908
cbca0ada
VS
89092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 Fix any-emu compilation.
8912
8913 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
8914 * grub_bin2h_SOURCES: New variable.
8915
34a66d99
RM
89162010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8917
8918 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
8919
94fabf58
RM
89202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8921
8922 * util/grub.d/00_header.in: Fix handling of locale_dir.
8923
02cf98ca
VS
89242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
8927 as possible unifont location (Gentoo).
8928 Reported by: Alexander Brüning
8929
327dbcd7
VS
89302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 Don't try to generate lists for kernel.img.
8933
8934 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
8935 (pkglib_MODULES): Remove kernel.img.
8936 (kernel_img_EXPORTS): Removed.
8937 (kernel_img_RELOCATABLE): New variable.
8938 * conf/x86_64-efi.rmk: Likewise.
8939 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
8940
ca467290
VS
89412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
8944 grub_xasprintf or grub_snprintf.
8945 (grub_vsprintf): Likewise.
8946 (grub_snprintf): New proto.
8947 (grub_vsnprintf): Likewise.
8948 (grub_xasprintf): Likewise.
8949 (grub_xvasprintf): Likewise.
8950 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
8951 (grub_sprintf): Removed.
8952 (grub_vsnprintf): New function.
8953 (grub_snprintf): Likewise.
8954 (grub_xvasprintf): Likewise.
8955 (grub_xasprintf): Likewise.
8956 (grub_vsprintf): Renamed to ...
8957 (grub_vsnprintf_real): ...this. New argument max_len.
8958
aca655fd
BC
89592010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
8960
8961 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
8962 fix grub-script-check warning.
8963
7ee92c32
VS
89642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * include/grub/font.h (grub_font_load): Fix prototype.
8967
f80927ca
VS
89682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
8971
119c50ea
VS
89722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 * include/grub/x86_64/at_keyboard.h: New file.
8975
47d5f3c1
VS
89762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 * loader/mips/linux.c: Include missing grub/i18n.h.
8979
55ff5266
RM
89802009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8981
8982 * normal/menu.c (notify_execution_failure): Clarify error message.
8983
c893cc87
RM
89842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8985
8986 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
8987 return value (and revert all return statements). Update users.
8988
917dd370
CW
89892010-01-20 Dan Merillat <debian@dan.merillat.org>
8990
8991 * kern/device.c (grub_device_iterate): Allocate new part_ent
8992 structure based on sizeof (*p) rather than sizeof (p->next), to
8993 account for structure padding.
8994
8995 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
8996 disk is NULL, which might happen for LVM physical volumes with no
8997 LVM signature.
8998
d4a4ee57
RM
89992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9000
9001 * loader/mips/linux.c (grub_cmd_initrd)
9002 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
9003
90042009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9005
9006 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
9007 (grub_video_video_init, grub_video_bitmap_init)
9008 (grub_font_manager_init, grub_term_gfxterm_init)
9009 (grub_at_keyboard_init): New extern declarations.
9010 (grub_machine_init): Initialize gfxterm and at_keyboard.
9011
9012 * kern/main.c (grub_main): Revert grub_printf delay kludge.
9013
9014 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
9015 `gfxterm.mod' into core image.
9016
9017 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9018 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9019 (kernel_img_FORMAT): Copy to ...
9020
9021 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9022 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9023 (kernel_img_FORMAT): ... here, and ...
9024
9025 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9026 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9027 (kernel_img_FORMAT): ... here.
9028
9029 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
9030 and input (at_keyboard) terminals in kernel.
9031 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
9032
9033 (pkglib_MODULES): Remove `pci.mod'.
9034 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
9035 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
9036 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9037 (at_keyboard_mod_LDFLAGS): Remove variables.
9038
90392010-01-11 Felix Zielcke <fzielcke@z-51.de>
9040
9041 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
9042
90432009-12-10 Robert Millan <rmh.grub@aybabtu.com>
9044
9045 * include/grub/mips/libgcc.h: Only export symbols for functions
9046 that libgcc provides.
9047
90482009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 MIPS support.
9051
9052 * bus/bonito.c: New file.
9053 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
9054 GRUB_PCI_NUM_DEVICES.
9055 * term/i386/pc/serial.c: Move to ...
9056 * term/serial.c: ... here. All users updated.
9057 * util/i386/pc/grub-mkimage.c: Move to ...
9058 * util/grub-mkrawimage.c: ... here. All users updated.
9059 * term/i386/pc/at_keyboard.c: Move to ...
9060 * term/at_keyboard.c: ... here. All users updated.
9061 * conf/mips-qemu-mips.rmk: New file.
9062 * conf/mips-yeeloong.rmk: Likewise.
9063 * conf/mips.rmk: Likewise.
9064 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
9065 mipsel-qemu-mips.
9066 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
9067 to port addresses.
9068 (grub_ata_pciinit): Support CS5536.
9069 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
9070 * font/font_cmd.c (loadfont_command): Open file before passing it to
9071 grub_font_load.
9072 (pseudo_file_read): New function.
9073 (pseudo_file_close): Likewise.
9074 (pseudo_fs): New structure.
9075 (load_font_module): New function.
9076 (GRUB_MOD_INIT(font_manager)): Load embedded font.
9077 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
9078 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
9079 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
9080 * include/grub/i386/at_keyboard.h: Split into ...
9081 * include/grub/at_keyboard.h: ... this ...
9082 * include/grub/i386/at_keyboard.h: ... and this.
9083 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
9084 New prototype.
9085 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
9086 updated.
9087 (grub_elf64_size): Likewise.
9088 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
9089 filename.
9090 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
9091 * include/grub/i386/coreboot/serial.h: Rewritten.
9092 * include/grub/i386/ieee1275/serial.h: Include
9093 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
9094 * include/grub/i386/pc/serial.h: Moved from here ...
9095 * include/grub/serial.h: ... to here. All users updated.
9096 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
9097 (GRUB_PCI_NUM_BUS): Likewise.
9098 (GRUB_PCI_NUM_DEVICES): Likewise.
9099 (grub_pci_device_map_range): Add missing volatile keyword.
9100 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
9101 * include/grub/mips/at_keyboard.h: New file.
9102 * include/grub/mips/cache.h: Likewise.
9103 * include/grub/mips/io.h: Likewise.
9104 * include/grub/mips/kernel.h: Likewise.
9105 * include/grub/mips/libgcc.h: Likewise.
9106 * include/grub/mips/pci.h: Likewise.
9107 * include/grub/mips/qemu-mips/boot.h: Likewise.
9108 * include/grub/mips/qemu-mips/kernel.h: Likewise.
9109 * include/grub/mips/qemu-mips/loader.h: Likewise.
9110 * include/grub/mips/qemu-mips/memory.h: Likewise.
9111 * include/grub/mips/qemu-mips/serial.h: Likewise.
9112 * include/grub/mips/qemu-mips/time.h: Likewise.
9113 * include/grub/mips/relocator.h: Likewise.
9114 * include/grub/mips/time.h: Likewise.
9115 * include/grub/mips/types.h: Likewise.
9116 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
9117 * include/grub/mips/yeeloong/boot.h: Likewise.
9118 * include/grub/mips/yeeloong/kernel.h: Likewise.
9119 * include/grub/mips/yeeloong/loader.h: Likewise.
9120 * include/grub/mips/yeeloong/memory.h: Likewise.
9121 * include/grub/mips/yeeloong/pci.h: Likewise.
9122 * include/grub/mips/yeeloong/serial.h: Likewise.
9123 * include/grub/mips/yeeloong/time.h: Likewise.
9124 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
9125 * kern/elf.c (grub_elf32_size): New parameter. All users
9126 updated.
9127 (grub_elf64_size): Likewise.
9128 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
9129 Load modules before saying "Welcome to GRUB!".
9130 Call grub_refresh after saying "Welcome to GRUB!".
9131 * kern/mips/cache.S: New file.
9132 * kern/mips/cache_flush.S: Likewise.
9133 * kern/mips/dl.c: Likewise.
9134 * kern/mips/init.c: Likewise.
9135 * kern/mips/qemu-mips/init.c: Likewise.
9136 * kern/mips/startup.S: Likewise.
9137 * kern/mips/yeeloong/init.c: Likewise.
9138 * kern/term.c (grub_putcode): Handle NULL terminal.
9139 (grub_getcharwidth): Likewise.
9140 (grub_getkey): Likewise.
9141 (grub_checkkey): Likewise.
9142 (grub_getkeystatus): Likewise.
9143 (grub_getxy): Likewise.
9144 (grub_getwh): Likewise.
9145 (grub_gotoxy): Likewise.
9146 (grub_cls): Likewise.
9147 (grub_setcolorstate): Likewise.
9148 (grub_setcolor): Likewise.
9149 (grub_getcolor): Likewise.
9150 (grub_refresh): Likewise.
9151 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
9152 (write_jump): Add hatch nop.
9153 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
9154 * lib/mips/setjmp.S: New file.
9155 * loader/mips/linux.c: Likewise.
9156 * term/i386/pc/at_keyboard.c: Move from here ...
9157 * term/at_keyboard.c: ... to here.
9158 * term/i386/pc/serial.c: Moved from here ...
9159 * term/serial.c: ... to here. All users updated.
9160 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
9161 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
9162 (serial_translate_key_sequence): Avoid deadlock.
9163 (grub_serial_getkey): Handle backspace.
9164 (grub_serial_putchar): Fix newline handling.
9165 * util/i386/pc/grub-mkimage.c: Move from here ...
9166 * util/grub-mkrawimage.c: ... to here. All users updated.
9167 (generate_image): New parameters 'font_path' and 'format'.
9168 Support embedding font.
9169 Use grub_host_to_target* instead of grub_cpu_to_le*.
9170 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
9171 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
9172 (options): New option "--font".
9173 (usage): Likewise.
9174 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
9175 (main): Handle "--font".
9176 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
9177 (grub_virtual_screen_setup): Set bg_color_display.
9178 (redraw_screen_rect): Use bg_color_display instead of incorrect
9179 bg_color.
9180 (grub_gfxterm_cls): Likewise.
9181 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
9182 Support embedding config file.
9183 (add_segments): Likewise.
9184 (options): New option "--config".
9185 (main): Handle "--config".
9186 * video/sm712.c: New file.
9187
25c2b5b3
RM
91882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9189
9190 Fix parallel builds.
9191
9192 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
9193 font.c depend on ascii.h).
9194
91952010-01-12 Carles Pina i Estany <carles@pina.cat>
9196
9197 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
9198
91992010-01-11 Carles Pina i Estany <carles@pina.cat>
9200
9201 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
9202 By default: disabled.
9203 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
9204 parameter.
9205
92062010-01-10 Carles Pina i Estany <carles@pina.cat>
9207
9208 * font/font.c: Update copyright years.
9209 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
9210
92112010-01-10 Carles Pina i Estany <carles@pina.cat>
9212
9213 * font/font.c: Include `ascii.h'.
9214 (ASCII_BITMAP_SIZE): New macro.
9215 (ascii_font_glyph): Define.
9216 (ascii_glyph_lookup): New function.
9217 (grub_font_get_string_width): Change comment. If glyph not found, use
9218 ascii_glyph_lookup.
9219 (grub_font_get_glyph_with_fallback): If glyph not available returns
9220 ascii_glyph_lookup.
9221 * util/grub-mkfont.c (file_formats): New enum.
9222 (options): Add `ascii-bitmaps' new option.
9223 (usage): Add `asii-bitmaps' new option.
9224 (write_font_ascii_bitmap): New function.
9225 (write_font): Rename to ...
9226 (write_font_p2): ... this. Remove print_glyphs call.
9227 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
9228 used. Call print_glyphs.
9229 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
9230
92312010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9232
9233 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
9234 (grub_bin2h_SOURCES): New variable.
9235 * util/bin2h.c: New file.
9236
915fc1b8
VS
92372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * include/multiboot.h: Resynced with spec.
9240 * include/multiboot2.h: Likewise.
9241 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
9242 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
9243
9444b678
RM
92442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9245
9246 * include/grub/term.h (grub_term_register_input,
9247 grub_term_register_output): Check return of terminal init()
9248 routines, and abort if errors are raised.
9249
9250 * commands/terminal.c: Update copyright year.
9251
cba98e8d
RM
92522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9253
9254 * commands/terminal.c (grub_cmd_terminal_input)
9255 (grub_cmd_terminal_output): Check return of terminal init()
9256 routines, and abort if errors are raised.
9257
6f7db5d6
VS
92582010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * include/grub/i386/bsd.h: Fix include pathes.
9261
262bff8d
VS
92622010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 Add missing *BSD copyright headers.
9265
9266 * include/grub/aout.h: Add BSD licence.
9267 * include/grub/i386/bsd.h: Parts under different licences moved to ...
9268 * include/grub/i386/freebsd_linker.h: ... here,
9269 * include/grub/i386/freebsd_reboot.h: ... here,
9270 * include/grub/i386/netbsd_bootinfo.h: ... here,
9271 * include/grub/i386/netbsd_reboot.h: ... here,
9272 * include/grub/i386/openbsd_bootarg.h: ... here,
9273 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
9274 licence to each file.
9275
b2cab848
RM
92762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9277
9278 * acinclude.m4: Remove `nop' assembly instruction; it's not
9279 implemented by all architectures.
9280
2cb6be4b
RM
92812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9282
9283 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
9284 ELILO. This is no longer necessary.
9285
a2eaee15
BC
92862010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
9287
9288 Added new tool, grub-scrit-check to verify grub.cfg syntax.
9289
9290 * util/grub-script-check.c: grub-script-check tool.
9291 * conf/common.rmk: Make rules for grub-script-check.
9292
88d17012
RM
92932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9294
9295 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
9296 spotting it back in 2008. Shame on me for forgetting he did.
9297
9298 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
9299
8040619d
RM
93002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9301
9302 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
9303 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
9304 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
9305 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
9306 (GRUB_VIDEO_TYPE_EFI): Rename to ...
9307 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
9308
a0c2a0f6
RM
93092010-01-17 Robert Millan <rmh.grub@aybabtu.com>
9310
9311 * include/grub/test.h: Add license header.
9312 * tests/example_functional_test.c: Likewise.
9313 * tests/example_unit_test.c: Likewise.
9314 * tests/lib/functional_test.c: Likewise.
9315 * tests/lib/test.c: Likewise.
9316 * tests/lib/unit_test.c: Likewise.
9317
b0b13907
VS
93182010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 Use flag-based instead of hook-based video mode selection and "auto"
9321 keyword.
9322
9323 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
9324 (grub_video_set_mode): Changed prototype. All users updated.
9325 (grub_video_check_mode_flag): New inline function.
9326 * video/video.c (parse_modespec): New function.
9327 (grub_video_set_mode): Parse flags and keywords.
9328
ea379330 93292010-01-17 Carles Pina i Estany <carles@pina.cat>
9330
9331 * util/misc.c (grub_util_info): Fix the order of the parameters in a
9332 fprintf call.
9333
e15c215e
FZ
93342010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
9335
9336 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
9337
409ae1c9 93382010-01-16 Carles Pina i Estany <carles@pina.cat>
9339
9340 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
9341 string.
9342 * util/grub-emu.c (usage): Likewise.
9343 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
9344 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9345 * util/i386/pc/grub-mkimage.c (usage): Likewise.
9346 * util/i386/pc/grub-setup.c (usage): Likewise.
9347
70a14d3d 93482010-01-16 Carles Pina i Estany <carles@pina.cat>
9349
9350 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
9351 the message.
9352 (grub_util_info): Likewise.
9353 (grub_util_error): Likewise.
9354 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
9355 and/or new lines in `grub_util_warna', `grub_util_info',
9356 `grub_util_error' calls.
9357 * util/getroot.c: Likewise.
9358 * util/grub-editenv.c: Likewise.
9359 * util/grub-emu.c: Likewise.
9360 * util/grub-fstest.c: Likewise.
9361 * util/grub-mkdevicemap.c: Likewise.
9362 * util/grub-mkfont.c: Likewise.
9363 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9364 * util/grub-mkrelpath.c: Likewise.
9365 * util/grub-pe2elf.c: Likewise.
9366 * util/grub-probe.c: Likewise.
9367 * util/hostdisk.c: Likewise.
9368 * util/i386/efi/grub-mkimage.c: Likewise.
9369 * util/i386/pc/grub-mkimage.c: Likewise.
9370 * util/i386/pc/grub-setup.c: Likewise.
9371 * util/ieee1275/ofpath.c: Likewise.
9372 * util/mkisofs/eltorito.c: Likewise.
9373 * util/mkisofs/rock.c: Likewise.
9374 * util/mkisofs/write.c: Likewise.
9375 * util/raid.c: Likewise.
9376 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9377 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9378
a0b766fc
VS
93792010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 Enable multiboot on non-pc.
9382
9383 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
9384 multiboot.mod and multiboot2.mod to ...
9385 * conf/i386.rmk (pkglib_MODULES): ... here.
9386 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
9387 Moved to ...
9388 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
9389 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
9390 Moved to ...
9391 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
9392 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
9393 Moved to ...
9394 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
9395 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
9396 Moved to ...
9397 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
9398 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
9399 relocator.mod.
9400 (ata_mod_SOURCES): Removed.
9401 (ata_mod_CFLAGS): Likewise.
9402 (ata_mod_LDFLAGS): Likewise.
9403 (relocator_mod_SOURCES): Removed.
9404 (relocator_mod_CFLAGS): Likewise.
9405 (relocator_mod_ASFLAGS): Likewise.
9406 (relocator_mod_LDFLAGS): Likewise.
9407 Include i386.mk.
9408 * include/grub/x86_64/multiboot.h: New file.
9409 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
9410 Terminate EFI.
9411
884ade56
VS
94122010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 Video multiboot support.
9415
9416 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
9417 New prototype.
9418 * include/multiboot.h: Resynced with multiboot specification.
9419 * include/multiboot2.h: Likewise.
9420 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
9421 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
9422 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
9423 (HAS_VGA_TEXT): Likewise.
9424 (accepts_video): New variable.
9425 (grub_multiboot_set_accepts_video): New function.
9426 (grub_multiboot_get_mbi_size): Account for video structures.
9427 (set_video_mode): New function.
9428 (retrieve_video_parameters): Likewise.
9429 (grub_multiboot_make_mbi): Fill video fields.
9430
0d90e8a6
VS
94312010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 Video driver ids.
9434
9435 * include/grub/video.h (grub_video_driver_id): New type.
9436 (grub_video_adapter): New member 'id'. All users updated.
9437 (grub_video_get_driver_id): New proto.
9438 * video/video.c (grub_video_get_driver_id): New function.
9439
5c71db1b 94402010-01-14 Carles Pina i Estany <carles@pina.cat>
9441
9442 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
9443 `var=val'.
9444
cca15b52 94452010-01-14 Carles Pina i Estany <carles@pina.cat>
9446
9447 * normal/cmdline.c (print_completion): Gettextizze.
9448
c586fbb2 94492001-01-14 Carles Pina i Estany <carles@pina.cat>
9450
9451 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
9452
ba2f6848 94532010-01-14 Carles Pina i Estany <carles@pina.cat>
9454
9455 * gettext/gettext.c (grub_gettext_translate): Push and pop
9456 grub_errno.
9457 (grub_gettext_delete_list): Change comment style.
9458 * kern/err.c (grub_error): Gettextizze.
9459 (grub_fatal): Gettextizze.
9460
0a46429a
RM
94612010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9462
9463 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
9464 (grub_linux16_real_boot): ... this.
9465 * kern/i386/loader.S: Likewise.
9466 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
9467 (grub_linux16_boot): New function. Switches to text mode and calls
9468 grub_linux16_real_boot().
9469
9470 * loader/i386/bsd.c: Include `<grub/video.h>'.
9471 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
9472 text mode before calling grub_unix_real_boot().
9473
9474 * loader/i386/multiboot.c: Include `<grub/video.h>'.
9475 (grub_multiboot_boot): Switch to text mode before calling
9476 grub_relocator32_boot().
9477
9478 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
9479 (grub_chainloader_boot): Switch to text mode before calling
9480 grub_chainloader_real_boot().
9481
d6f93a66
RM
94822010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
94832010-01-05 Colin Watson <cjwatson@ubuntu.com>
9484
9485 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
9486 non-empty value.
9487
94882010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
94892010-01-05 Colin Watson <cjwatson@ubuntu.com>
9490
9491 * util/grub.d/00_header.in: Define a "savedefault" function for use
9492 in menu entries.
9493 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
9494
94952010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
94962010-01-05 Colin Watson <cjwatson@ubuntu.com>
9497
9498 * util/grub-mkconfig_lib.in (save_default_entry): Only set
9499 saved_entry if boot_once is unset.
9500 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
9501 previous saved entry (i.e. grub-reboot).
9502
95032009-12-08 Colin Watson <cjwatson@ubuntu.com>
9504
9505 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
9506
95072009-12-08 Colin Watson <cjwatson@ubuntu.com>
9508
9509 * util/grub.d/00_header.in: Use `set var=val' rather than plain
9510 `var=val'.
9511 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
9512
95132009-12-08 Colin Watson <cjwatson@ubuntu.com>
9514
9515 * util/grub-reboot.in: Fix --version output.
9516 * util/grub-set-default.in: Likewise.
9517
95182009-12-08 Colin Watson <cjwatson@ubuntu.com>
9519
9520 * util/grub.d/00_header.in: Silently ignore zero-sized environment
9521 blocks.
9522
95232009-12-08 Colin Watson <cjwatson@ubuntu.com>
9524
9525 * util/grub.d/00_header.in: Quote the value assigned to `default',
9526 in case it contains spaces.
9527
95282009-12-08 Colin Watson <cjwatson@ubuntu.com>
9529
9530 * util/grub.d/30_os-prober.in: Fix merge error that moved a
9531 `save_default_entry' call from the macosx case to the linux case.
9532
95332009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
95342009-10-25 Colin Watson <cjwatson@ubuntu.com>
9535
9536 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
9537 in `chosen' environment variable.
9538 * normal/menu_text.c (get_entry_number): Check if the variable
9539 matches the title of a menu entry.
9540 (run_menu): Pass menu to get_entry_number.
9541
9542 * util/grub-reboot.in: New file.
9543 * util/grub-set-default.in: New file.
9544 * conf/common.rmk (grub-reboot): New utility.
9545 (grub-set-default): New utility.
9546
9547 * util/grub-mkconfig_lib.in (save_default_entry): New function.
9548 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
9549 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
9550 move it to `saved_entry' for the next boot. Load environment on
9551 initialisation.
9552 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
9553 * util/grub.d/10_hurd.in: Likewise.
9554 * util/grub.d/10_linux.in (linux_entry): Likewise.
9555 * util/grub.d/10_windows.in: Likewise.
9556 * util/grub.d/30_os-prober.in: Likewise.
9557
9558 * util/grub-install.in: Create environment block.
9559 * util/i386/efi/grub-install.in: Likewise.
9560 * util/ieee1275/grub-install.in: Likewise.
9561 * util/sparc64/ieee1275/grub-install.in: Likewise.
9562
0934d184
BC
95632010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
9564
9565 Unit testing framework for GRUB.
9566
9567 * Makefile.in: Test framework build rules for 'make check'.
9568 * conf/tests.rmk: Build rules for individual tests and framework.
9569
9570 * include/grub/test.h: Header file for whitebox tests.
9571 * tests/lib/functional_test.c: Framework support for whitebox
9572 functional tests.
9573 * tests/lib/test.c: Common whitebox testing code for unit and
9574 functional tests.
9575 * tests/lib/unit_test.c: Framework support for whitebox unit
9576 tests.
9577
9578 * tests/util/grub-shell-tester.in: Support utility for grub-script
9579 tests.
9580 * tests/util/grub-shell.in: Utility to execute grub-script
9581 commands in a Qemu instance.
9582
9583 * tests/example_functional_test.c: Example whitebox functional
9584 test.
9585 * tests/example_grub_script_test.in: Example grub-script test.
9586 * tests/example_scripted_test.in: Example scripted test.
9587 * tests/example_unit_test.c: Example whitebox unit test.
9588
9c4ffeeb
VS
95892010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
9592 Add loader/i386/multiboot_mbi.c.
9593 (multiboot2_mod_SOURCES): Likewise.
9594 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
9595 (multiboot2_mod_SOURCES): Likewise.
9596 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
9597 (grub_multiboot_make_mbi): Likewise.
9598 (grub_multiboot_free_mbi): Likewise.
9599 (grub_multiboot_init_mbi): Likewise.
9600 (grub_multiboot_add_module): Likewise.
9601 (grub_multiboot_set_bootdev): Likewise.
9602 * loader/i386/multiboot.c (mbi): Removed.
9603 (mbi_dest): Likewise.
9604 (alloc_mbi): New variable.
9605 (grub_multiboot_payload_size): Removed. All users updated.
9606 (grub_multiboot_pure_size): New variable.
9607 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
9608 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
9609 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
9610 (grub_fill_multiboot_mmap): Likewise.
9611 (grub_multiboot_get_bootdev): Likewise.
9612 (grub_multiboot): Use multiboot_mbi functions.
9613 * loader/i386/multiboot_mbi.c: New file.
9614
17383dfe
VS
96152010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
9618 it would result in module crash.
9619
c1f28820
VS
96202010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
9623 (grub_ofconsole_getwh): Split to ...
9624 (grub_ofconsole_getwh): ... this.
9625 (grub_ofconsole_dimensions): ...and this.
9626 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
9627
58655a16
RM
96282010-01-13 Robert Millan <rmh.grub@aybabtu.com>
9629
9630 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
9631
10891398
VS
96322010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * loader/i386/pc/multiboot2.c: Removed stalled file.
9635
0b8a223c
VS
96362010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
9639 Reported by: Grégoire Sutre
9640
92ab12b0
RM
96412010-01-11 Robert Millan <rmh.grub@aybabtu.com>
9642
9643 * util/misc.c (canonicalize_file_name): New function.
9644 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
9645 instead of realpath().
9646
a788afb6
CW
96472010-01-11 Colin Watson <cjwatson@ubuntu.com>
9648
9649 * util/grub-install.in (usage): Clarify meaning of --root-directory,
9650 and make it clearer that it's optional. Based on confusion
9651 witnessed on IRC.
9652
ffa8e3d2
VS
96532010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
9656 in premature implicit newline.
9657
e9060a9d
VS
96582010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
9661 which resulted in garbled command line at the end of screen.
9662
f0d0c0b7
RM
96632010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9664
9665 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
9666 initialization with similar approach as with other Linux loaders.
9667
0e60bae7
RM
96682010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9669
9670 Fix i386-ieee1275 build.
9671
9672 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
9673 and grub_term_height() for video_{width,height} initialization.
9674
96752010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
9676
9677 Fix grub-emu build.
9678
9679 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
9680
cdb3f378
RM
96812010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
96822010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9683
9684 Support for multiple terminals.
9685
9686 * Makefile.in (pkglib_DATA): terminal.lst.
9687 (terminal.lst): New target.
9688 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
9689 (GRUB_MOD_INIT(handler)): Likewise.
9690 (GRUB_MOD_FINI(handler)): Likewise.
9691 * commands/help.c (grub_cmd_help): Handle multiple terminals.
9692 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
9693 * commands/sleep.c (do_print): Use grub_term_restore_pos.
9694 (grub_cmd_sleep): Use grub_term_save_pos.
9695 * commands/terminal.c: New file.
9696 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
9697 commands/terminal.c and lib/charset.c.
9698 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
9699 (pkglib_MODULES): Add terminal.mod.
9700 (terminal_mod_SOURCES): New variable.
9701 (terminal_mod_CFLAGS): Likewise.
9702 (terminal_mod_LDFLAGS): Likewise.
9703 * genhandlerlist.sh: Don't handle terminals.
9704 * genmk.rb: Generate terminal-*.lst.
9705 * genterminallist.sh: New file.
9706 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
9707 (grub_is_valid_utf8): Likewise.
9708 (grub_utf8_to_ucs4_alloc): Likewise.
9709 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
9710 (grub_menu_register_viewer): Changed argument.
9711 (grub_menu_try_text): New proto.
9712 (grub_gfxmenu_try_hook): New declaration.
9713 * include/grub/normal.h (grub_normal_exit_level): New declaration.
9714 (grub_menu_init_page): Additional argument term.
9715 (grub_normal_init_page): Likewise.
9716 (grub_cmdline_get): Arguments simplified.
9717 (grub_utf8_to_ucs4_alloc): Removed.
9718 (grub_print_ucs4): Additional argument term.
9719 (grub_getstringwidth): Likewise.
9720 (grub_print_message_indented): Likewise.
9721 (grub_menu_text_register_instances): New proto.
9722 (grub_show_menu): Likewise.
9723 (read_terminal_list): Likewise.
9724 (grub_set_more): Likewise.
9725 * include/grub/parser.h: Include handler.h.
9726 * include/grub/reader.h: Rewritten.
9727 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
9728 (GRUB_TERM_WIDTH): Changed to function.
9729 (GRUB_TERM_HEIGHT): Likewise.
9730 (GRUB_TERM_BORDER_WIDTH): Likewise.
9731 (GRUB_TERM_BORDER_HEIGHT): Likewise.
9732 (GRUB_TERM_NUM_ENTRIES): Likewise.
9733 (GRUB_TERM_ENTRY_WIDTH): Likewise.
9734 (GRUB_TERM_CURSOR_X): Likewise.
9735 (grub_term_input_class): Likewise.
9736 (grub_term_output_class): Likewise.
9737 (grub_term_outputs_disabled): New declaration.
9738 (grub_term_inputs_disabled): Likewise.
9739 (grub_term_outputs): Likewise.
9740 (grub_term_inputs): Likewise.
9741 (grub_term_register_input): Rewritten.
9742 (grub_term_register_output): Likewise.
9743 (grub_term_unregister_input): Likewise.
9744 (grub_term_unregister_output): Likewise.
9745 (FOR_ACTIVE_TERM_INPUTS): New macro.
9746 (FOR_DISABLED_TERM_INPUTS): Likewise.
9747 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9748 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9749 * include/grub/terminfo.h: Add oterm argument to all protypes.
9750 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
9751 Use grub_rescue_run.
9752 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
9753 All users updated.
9754 * kern/reader.c: Removed. All users updated.
9755 * kern/rescue_reader.c (grub_rescue_init): Removed.
9756 (grub_rescue_reader): Likewise.
9757 (grub_register_rescue_reader): Likewise.
9758 (grub_rescue_run): New function based on kern/reader.c.
9759 * kern/term.c: Adapted for multiterm.
9760 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
9761 (grub_is_valid_utf8): Likewise.
9762 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
9763 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
9764 right terminal.
9765 * loader/i386/linux.c (grub_linux_boot): Likewise.
9766 * normal/auth.c (grub_username_get): New function.
9767 (grub_auth_check_authentication): Use grub_username_get.
9768 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
9769 * normal/color.c: Adapt for multiterm.
9770 * normal/main.c (read_config_file): Don't use grub_reader_loop.
9771 (grub_normal_init_page): Additional argument term.
9772 (read_lists): Call read_terminal_lists.
9773 (grub_enter_normal_mode): Call grub_cmdline_run.
9774 Handle grub_normal_exit_level.
9775 (grub_cmd_normal): Make reentrant.
9776 (grub_cmd_normal_exit): New function.
9777 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
9778 * normal/menu.c: Adapt for multiterm.
9779 * normal/menu_entry.c: Likewise.
9780 * normal/menu_text.c: Likewise.
9781 * normal/menu_viewer.c: Removed. All users updated.
9782 * normal/term.c: New file.
9783 * util/console.c: Change order of includes to workaround a bug in
9784 ncurses headers.
9785 * term/terminfo.c: New argument oterm on all exported functions.
9786 All users updated.
9787 * util/grub-editenv.c (grub_term_input_class): Removed.
9788 (grub_term_output_class): Likewise.
9789
1a064917
RM
97902010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9791
9792 Make loader output a bit more user-friendly.
9793
9794 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
9795 is being loaded. Likewise for the Hurd.
9796
9797 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
9798 that kernel of FreeBSD ${version} is being loaded.
9799
9800 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
9801 grub_dprintf().
9802 (grub_cmd_initrd): Likewise.
9803 * util/grub.d/10_linux.in (linux_entry): Print message indicating
9804 that Linux ${version} is being loaded. Likewise for initrd.
9805
5ce0a83a 98062010-01-09 Carles Pina i Estany <carles@pina.cat>
9807
9808 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
9809
809bbfeb 98102010-01-08 Carles Pina i Estany <carles@pina.cat>
9811
9812 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
9813 (GRUB_MOD_INIT): Gettextizze.
9814 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
9815 (GRUB_MOD_INIT): Gettextizze.
9816 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
9817 (grub_cmd_linux): Capitalise Linux.
9818 (GRUB_MOD_INIT): Gettextizze.
9819 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
9820 (grub_cmd_linux): Capitalise Linux.
9821 (GRUB_MOD_INIT): Gettextizze.
9822 * loader/i386/linux.c: Include `<grub/i18n.h>'.
9823 (grub_cmd_linux): Capitalise Linux.
9824 (GRUB_MOD_INIT): Gettextizze.
9825 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
9826 (GRUB_MOD_INIT): Gettextizze.
9827 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
9828 (grub_cmd_linux): Capitalise Linux.
9829 (GRUB_MOD_INIT): Gettextizze.
9830 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
9831 (grub_cpu_xnu_init): Gettextizze.
9832 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
9833 (GRUB_MOD_INIT): Gettextizze.
9834 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
9835 (GRUB_MOD_INIT): Gettextizze.
9836 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
9837 (grub_linux_load64): Capitalise Linux.
9838 (GRUB_MOD_INIT): Gettextizze.
9839 * loader/xnu.c: Include `<grub/i18n.h>'.
9840 (GRUB_MOD_INIT): Gettextizze.
9841 * po/POTFILES: Add `loader/efi/appleloader.c',
9842 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
9843 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
9844 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
9845 `loader/i386/xnu.c', `loader/multiboot_loader.c',
9846 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
9847 and `loader/xnu.c'.
9848
b394b2ca
RM
98492010-01-08 Robert Millan <rmh.grub@aybabtu.com>
9850
9851 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
9852
98532010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
9854
9855 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
9856 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
9857 * util/mkisofs/mkisofs.c (main): Readjust --version output.
9858
bc8b32b3
RM
98592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9860
9861 Reset Multiboot 2 support. New loader implements the draft in
9862 /branches/multiboot2 and shares as much code as possible with the
9863 production Multiboot 1 implementation.
9864
9865 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
9866 * loader/multiboot2.c: Likewise.
9867 * loader/i386/multiboot_helper.S: Likewise.
9868 * include/multiboot2.h: Replace with latest version from the draft
9869 in /branches/multiboot2.
9870
9871 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
9872 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
9873 and `loader/multiboot2.c'.
9874 (pkglib_MODULES): Add `multiboot2.mod'.
9875 (multiboot2_mod_SOURCES): New variable.
9876 (multiboot2_mod_LDFLAGS): Likewise.
9877 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
9878
9879 * conf/i386-pc.rmk: Likewise.
9880
9881 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
9882 (multiboot_mod_SOURCES): Remove variable.
9883 (multiboot_mod_LDFLAGS): Likewise.
9884 (multiboot_mod_CFLAGS): Likewise.
9885
9886 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
9887 `<multiboot2.h>' instead of `<multiboot.h>'.
9888 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
9889 (MULTIBOOT_HEADER_MAGIC): New macros.
9890
9891 * loader/multiboot_loader.c (module_version_status): Remove variable.
9892 (find_multi_boot2_header): Remove function.
9893 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
9894 logic. Always check for the Multiboot version we're compiling for.
9895 (grub_cmd_module_loader): Likewise.
9896 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
9897 command instead of `multiboot'.
9898
5d2c52b8
RM
98992010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9900
9901 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
9902 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
9903 all users.
9904
53108d92
RM
99052010-01-07 Robert Millan <rmh.grub@aybabtu.com>
99062010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 Fix breakage introduced with previous commit.
9909
9910 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
9911 commands.
9912 * normal/handler.c (read_handler_list): Revert part of previous commit
9913 affecting this file.
9914 * normal/main.c (read_lists): Move read_handler_list() call back to ...
9915 (grub_normal_execute): ... here.
9916
e2e936b2
RM
99172010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9918
9919 Merge prefix-redefinition-fix branch.
9920
9921 * normal/autofs.c (read_fs_list): Make function capable of being
9922 run multiple times, gracefuly replacing the previous data
9923 structures.
9924 * normal/dyncmd.c (read_command_list): Likewise.
9925 * normal/handler.c (read_handler_list): Likewise.
9926 * normal/main.c (read_lists): New function. Calls all the
9927 list reading functions.
9928 (grub_normal_execute): Use read_lists() instead of calling all
9929 list reading functions explicitly. Register read_lists() as a
9930 variable hook attached to ${prefix}.
9931
607a3701
VS
99322010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 Merge crypto branch.
9935
9936 * Makefile.in (pkglib_DATA): Add crypto.lst.
9937 (crypto.lst): New target.
9938 * commands/hashsum.c: New file.
9939 * commands/password.c (check_password): Use grub_crypto_memcmp.
9940 * commands/password_pbkdf2.c: New file.
9941 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
9942 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
9943 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
9944 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
9945 -I$(srcdir)/lib/libgcrypt_wrap.
9946 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
9947 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
9948 password_pbkdf2.mod.
9949 (crypto_mod_SOURCES): New variable.
9950 (crypto_mod_CFLAGS): Likewise.
9951 (crypto_mod_LDFLAGS): Likewise.
9952 (hashsum_mod_SOURCES): New variable.
9953 (hashsum_mod_CFLAGS): Likewise.
9954 (hashsum_mod_LDFLAGS): Likewise.
9955 (pbkdf2_mod_SOURCES): New variable.
9956 (pbkdf2_mod_CFLAGS): Likewise.
9957 (pbkdf2_mod_LDFLAGS): Likewise.
9958 (password_pbkdf2_mod_SOURCES): New variable.
9959 (password_pbkdf2_mod_CFLAGS): Likewise.
9960 (password_pbkdf2_mod_LDFLAGS): Likewise.
9961 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
9962 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
9963 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
9964 Include conf/gcry.rmk.
9965 * include/grub/auth.h: Rewritten.
9966 * include/grub/crypto.h: New file.
9967 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
9968 * include/grub/normal.h (read_crypto_list): New prototype.
9969 * lib/crypto.c: New file.
9970 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9971 * lib/pbkdf2.c: Likewise.
9972 * normal/auth.c (grub_auth_strcmp): Removed.
9973 (grub_iswordseparator): Likewise.
9974 (grub_auth_strword): Likewise.
9975 (is_authenticated): Use grub_strword.
9976 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
9977 and grub_strword. Pass entered password to authentication callback.
9978 * normal/crypto.c: New file.
9979 * normal/main.c: Call read_crypto_list.
9980 * util/grub-mkpasswd-pbkdf2.c: New file.
9981 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
9982
42841caa
VS
99832010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 Fix descent and ascent calculation.
9986
9987 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
9988 (options): New option "asce".
9989 (usage): Likewise.
9990 (add_char): Ignore invalid glyphs for descent calculation.
9991 Calculate ascent from actual content.
9992 (print_glyphs): Use 'asce'.
9993 (write_font): Likewise. Allow ascent override.
9994 (main): Handle "asce" option.
9995
e7730de7 99962010-01-06 Carles Pina i Estany <carles@pina.cat>
9997
9998 * kern/err.c: Include `<grub/i18n.h>'.
9999 (grub_print_error): Add full stop. Gettextizze.
10000 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
10001 (grub_bsd_load_elf): Capitalise ELF.
10002 (grub_cmd_freebsd_loadenv): Add `s' in error string.
10003 (grub_cmd_freebsd_module): Likewise.
10004 (grub_cmd_freebsd_module_elf): Likewise.
10005 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
10006
40e3a41f 100072010-01-06 Carles Pina i Estany <carles@pina.cat>
10008
10009 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
10010 * commands/search_file.c (HELP_MESSAGE): New macro.
10011 * commands/search_label.c (HELP_MESSAGE): Likewise.
10012 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
10013 * po/POTFILES: Add `commands/search_file.c',
10014 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
10015 `commands/search.c'.
10016
83507e68
RM
100172010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10018
10019 * config.rpath: Update from Gnulib.
10020
465c787b
YB
100212010-01-05 Yves Blusseau <blusseau@zetam.org>
10022
10023 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
10024
6581dd3a
YB
100252010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
10026
10027 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
10028
3bff18c5
CW
100292010-01-05 Colin Watson <cjwatson@ubuntu.com>
10030
10031 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
10032 arguments to fread so that we get a return value in bytes, rather
10033 than something that will normally be rounded down to 0.
10034 Adjust error handling to avoid producing garbage when size_t is not
10035 the same size as long long.
10036
a1368118
CW
100372010-01-05 Colin Watson <cjwatson@ubuntu.com>
10038
10039 * util/mkisofs/write.c (padblock_write): Check return value of
10040 fread.
10041
7c302978
RM
100422010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10043
10044 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
10045 floppy images now.
10046
10047 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
10048
e33ace06
RM
100492010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10050
10051 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
10052 instead of manual alignment.
10053 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
10054 verbose). Avoid attempts to read past end of the device
10055 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
10056 but GRUB_DISK_CACHE_SIZE may exceed that).
10057
4b856776
RM
100582010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10059
10060 * commands/crc.c (grub_cmd_crc): Abort on read errors.
10061 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
10062 it to upper layer.
10063
52c2d97f
VS
100642010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
10067 New constant.
10068 (grub_efi_piwg_device_path): New structure
10069 (grub_efi_piwg_device_path_t): New type.
10070 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
10071 (devpath_1): Transform to a structure. All users updated.
10072 (devpath_2): Likewise.
10073 (devpath_3): Likewise.
10074 (devpath_4): Likewise.
10075 (devpath_5): Likewise.
10076
98ff6a54
VS
100772010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * loader/efi/appleloader.c: Restored. Update all users.
10080
3a73dcb6
RM
100812010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10082
10083 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
10084
10085 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
10086 (struct boot_blocklist): Move from here ...
10087 * include/grub/i386/pc/boot.h [ASM_FILE]
10088 (struct grub_boot_blocklist): ... to here. Update all users.
10089 (setup): Only initialize `start' member of `first_block'
10090 structure. Add assert() calls to verify the other members.
10091
10092 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
10093 (generate_image): Fix broken blocklist length initialization.
10094 Add assert() call to verify blocklist `segment' field.
10095
ab0eeb0c
RM
100962010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10097
10098 * loader/efi/appleloader.c: Remove. Update all users.
10099
58bc8bd5
RM
101002010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10101
10102 * boot/i386/pc/boot.S: Update copyright year.
10103 * boot/i386/pc/cdboot.S: Likewise.
10104 * boot/i386/pc/diskboot.S: Likewise.
10105 * boot/i386/pc/lnxboot.S: Likewise.
10106 * boot/i386/pc/pxeboot.S: Likewise.
10107 * bus/pci.c: Likewise.
10108 * commands/cmp.c: Likewise.
10109 * commands/help.c: Likewise.
10110 * commands/hexdump.c: Likewise.
10111 * commands/i386/pc/halt.c: Likewise.
10112 * commands/i386/pc/play.c: Likewise.
10113 * commands/i386/pc/vbeinfo.c: Likewise.
10114 * commands/ls.c: Likewise.
10115 * commands/test.c: Likewise.
10116 * disk/dmraid_nvidia.c: Likewise.
10117 * disk/i386/pc/biosdisk.c: Likewise.
10118 * disk/ieee1275/nand.c: Likewise.
10119 * disk/ieee1275/ofdisk.c: Likewise.
10120 * disk/lvm.c: Likewise.
10121 * disk/raid.c: Likewise.
10122 * disk/raid6_recover.c: Likewise.
10123 * disk/scsi.c: Likewise.
10124 * fs/affs.c: Likewise.
10125 * fs/cpio.c: Likewise.
10126 * fs/ext2.c: Likewise.
10127 * fs/hfs.c: Likewise.
10128 * fs/iso9660.c: Likewise.
10129 * fs/ntfs.c: Likewise.
10130 * fs/sfs.c: Likewise.
10131 * fs/udf.c: Likewise.
10132 * fs/ufs.c: Likewise.
10133 * fs/xfs.c: Likewise.
10134 * gencmdlist.sh: Likewise.
10135 * genmk.rb: Likewise.
10136 * include/grub/disk.h: Likewise.
10137 * include/grub/efi/api.h: Likewise.
10138 * include/grub/efi/efi.h: Likewise.
10139 * include/grub/efi/pe32.h: Likewise.
10140 * include/grub/elf.h: Likewise.
10141 * include/grub/fs.h: Likewise.
10142 * include/grub/i386/at_keyboard.h: Likewise.
10143 * include/grub/i386/pc/memory.h: Likewise.
10144 * include/grub/i386/pc/vbe.h: Likewise.
10145 * include/grub/i386/pci.h: Likewise.
10146 * include/grub/i386/tsc.h: Likewise.
10147 * include/grub/ieee1275/ieee1275.h: Likewise.
10148 * include/grub/ntfs.h: Likewise.
10149 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
10150 * include/grub/sparc64/libgcc.h: Likewise.
10151 * include/grub/symbol.h: Likewise.
10152 * include/grub/types.h: Likewise.
10153 * include/multiboot2.h: Likewise.
10154 * io/gzio.c: Likewise.
10155 * kern/device.c: Likewise.
10156 * kern/disk.c: Likewise.
10157 * kern/efi/efi.c: Likewise.
10158 * kern/efi/mm.c: Likewise.
10159 * kern/elf.c: Likewise.
10160 * kern/file.c: Likewise.
10161 * kern/i386/dl.c: Likewise.
10162 * kern/i386/pc/init.c: Likewise.
10163 * kern/i386/pc/startup.S: Likewise.
10164 * kern/ieee1275/ieee1275.c: Likewise.
10165 * kern/ieee1275/init.c: Likewise.
10166 * kern/main.c: Likewise.
10167 * kern/mm.c: Likewise.
10168 * kern/powerpc/dl.c: Likewise.
10169 * kern/sparc64/dl.c: Likewise.
10170 * kern/x86_64/dl.c: Likewise.
10171 * lib/hexdump.c: Likewise.
10172 * loader/efi/appleloader.c: Likewise.
10173 * loader/i386/ieee1275/linux.c: Likewise.
10174 * loader/i386/pc/chainloader.c: Likewise.
10175 * loader/i386/pc/linux.c: Likewise.
10176 * loader/i386/pc/multiboot2.c: Likewise.
10177 * loader/ieee1275/multiboot2.c: Likewise.
10178 * loader/multiboot2.c: Likewise.
10179 * loader/multiboot_loader.c: Likewise.
10180 * loader/powerpc/ieee1275/linux.c: Likewise.
10181 * normal/completion.c: Likewise.
10182 * normal/menu_entry.c: Likewise.
10183 * partmap/apple.c: Likewise.
10184 * util/grub.d/10_hurd.in: Likewise.
10185 * util/hostfs.c: Likewise.
10186 * video/readers/png.c: Likewise.
10187
e2d70b5c
CW
101882010-01-03 Colin Watson <cjwatson@ubuntu.com>
10189
10190 * include/grub/misc.h (GNUC_PREREQ): New macro.
10191 (ATTRIBUTE_ERROR): New macro.
10192 * include/grub/list.h (grub_bad_type_cast_real): Use
10193 ATTRIBUTE_ERROR.
10194
a173283f 101952010-01-03 Carles Pina i Estany <carles@pina.cat>
10196
10197 * normal/menu_text.c (print_message): Change messages.
10198
7fa7ff74 101992010-01-03 Carles Pina i Estany <carles@pina.cat>
10200
10201 * normal/menu_entry.c (store_completion): Gettextizze.
10202
136d24f6 102032010-01-03 Carles Pina i Estany <carles@pina.cat>
10204
10205 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
10206
f936862e 102072010-01-03 Carles Pina i Estany <carles@pina.cat>
10208
10209 * po/POTFILES: Sort correctly.
10210
29c44ad1 102112010-01-03 Carles Pina i Estany <carles@pina.cat>
10212
10213 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
10214 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
10215 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
10216 full stop.
10217 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
10218 summary. Gettextizze the strings.
10219 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
10220 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
10221 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
10222 full stop.
10223 (GRUB_MOD_INIT): Remove command name from summary.
10224 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
10225 summary.
10226 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
10227 * term/i386/pc/serial.c (options): Add full stops.
10228 (GRUB_MOD_INIT): Remove command name from the summary.
10229
77a79592 102302010-01-03 Carles Pina i Estany <carles@pina.cat>
10231
10232 * commands/acpi.c: Gettextizze help strings and/or options. Include
10233 `grub/i18n.h' if needed.
10234 * commands/blocklist.c: Likewise.
10235 * commands/boot.c: Likewise.
10236 * commands/cat.c: Likewise.
10237 * commands/cmp.c: Likewise.
10238 * commands/configfile.c: Likewise.
10239 * commands/crc.c: Likewise.
10240 * commands/date.c: Likewise.
10241 * commands/echo.c: Likewise.
10242 * commands/efi/fixvideo.c: Likewise.
10243 * commands/efi/loadbios.c: Likewise.
10244 * commands/gptsync.c: Likewise.
10245 * commands/halt.c: Likewise.
10246 * commands/handler.c: Likewise.
10247 * commands/hdparm.c: Likewise.
10248 * commands/hexdump.c: Likewise.
10249 * commands/i386/cpuid.c: Likewise.
10250 * commands/i386/pc/drivemap.c: Likewise.
10251 * commands/i386/pc/halt.c: Likewise.
10252 * commands/i386/pc/pxecmd.c: Likewise.
10253 * commands/i386/pc/vbeinfo.c: Likewise.
10254 * commands/i386/pc/vbetest.c: Likewise.
10255 * commands/ieee1275/suspend.c: Likewise.
10256 * commands/keystatus.c: Likewise.
10257 * commands/loadenv.c: Likewise.
10258 * commands/ls.c: Likewise.
10259 * commands/lsmmap.c: Likewise.
10260 * commands/lspci.c: Likewise.
10261 * commands/memrw.c: Likewise.
10262 * commands/minicmd.c: Likewise.
10263 * commands/parttool.c: Likewise.
10264 * commands/password.c: Likewise.
10265 * commands/probe.c: Likewise.
10266 * commands/read.c: Likewise.
10267 * commands/reboot.c: Likewise.
10268 * commands/search.c: Likewise.
10269 * commands/sleep.c: Likewise.
10270 * commands/test.c: Likewise.
10271 * commands/true.c: Likewise.
10272 * commands/usbtest.c: Likewise.
10273 * commands/videotest.c: Likewise.
10274 * commands/xnu_uuid.c: Likewise.
10275 * disk/loopback.c: Likewise.
10276 * hello/hello.c: Likewise.
10277 * loader/i386/bsd.c: Likewise.
10278 * term/i386/pc/serial.c: Likewise.
10279 * po/POTFILES: Add new files.
10280
da8d5c53
CW
102812010-01-02 Colin Watson <cjwatson@ubuntu.com>
10282
10283 * term/i386/pc/at_keyboard.c
10284 (keyboard_controller_wait_untill_ready): Rename to ...
10285 (keyboard_controller_wait_until_ready): ... this. Update all users.
10286
33937904 102872010-01-01 Carles Pina i Estany <carles@pina.cat>
10288
10289 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
10290 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
10291 string using string width.
10292 * normal/menu_text.c (grub_print_message_indented): Use
10293 grub_print_spaces and not print_spaces.
10294 (print_timeout): Likewise.
10295 (print_spaces): Move to...
10296 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
10297
3fd3b8d8
RM
102982010-01-01 Robert Millan <rmh.grub@aybabtu.com>
10299
10300 Import from Gnulib.
10301
10302 * gnulib/getdelim.c: New file.
10303 * gnulib/getline.c: Likewise.
10304
33433555
VS
103052009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
10306
10307 * include/grub/list.h (grub_assert_fail): Removed.
10308 (grub_bad_type_cast_real): New function.
10309 (grub_bad_type_cast): New macro.
10310 (GRUB_AS_LIST): Use grub_bad_type_cast.
10311 (GRUB_AS_LIST_P): Likewise.
e44721e8 10312 (GRUB_AS_NAMED_LIST): Likewise.
33433555 10313 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 10314 (GRUB_AS_PRIO_LIST): Likewise.
33433555 10315 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 10316 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 10317
f5a51306
VS
103182009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
10321 Fix syntax error.
10322
90d1e879
RM
103232009-12-29 Robert Millan <rmh.grub@aybabtu.com>
10324
10325 * configure.ac: Check for TARGET_CFLAGS initialization before we
10326 initialize it ourselves (sigh).
10327 Move a few modifications to TARGET_CFLAGS to be unconditional
10328 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
10329 eh_frame)
10330
10331 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
10332 * term/i386/pc/at_keyboard.c
10333 (keyboard_controller_wait_untill_ready): Likewise.
10334 (keyboard_controller_led): Rename `led_status' paramter to avoid
10335 name conflict.
10336
465b5a81 103372009-12-28 Carles Pina i Estany <carles@pina.cat>
10338
10339 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
10340 quotes.
10341
c181849b
VS
103422009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
10345
9c8739a4
VS
103462009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 * normal/menu_text.c (grub_print_message_indented): Prevent
10349 past-the-end-of-array dereference.
10350
3e74249c
VS
103512009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
10354 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
10355
64fd18ed 103562009-12-27 Carles Pina i Estany <carles@pina.cat>
10357
10358 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
10359 * normal/main.c (grub_normal_read_line): Remove a space from the
10360 default prompt.
10361
714af9b9 103622009-12-27 Carles Pina i Estany <carles@pina.cat>
10363
10364 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
10365 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10366 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10367 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10368 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10369 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10370 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10371
82f3e412 103722009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 10373
10374 * video/readers/jpeg.c (cmd): Declare.
10375 (grub_cmd_jpegtest): Use `grub_command_t' type.
10376 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10377 Assign to `cmd'.
10378 (GRUB_MOD_FINI): Use `cmd' to unregister.
10379 * video/readers/png.c (cmd): Declare.
10380 (grub_cmd_pngtest): Use `grub_command_t' type.
10381 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10382 Assign to `cmd'.
10383 (GRUB_MOD_FINI): Use `cmd' to unregister.
10384 * video/readers/tga.c (cmd): Declare.
10385 (grub_cmd_tgatest): Use `grub_command_t' type.
10386 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10387 Assign to `cmd'.
10388 (GRUB_MOD_FINI): Use `cmd' to unregister.
10389
82f3e412 103902009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 10391
10392 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
10393 stops.
10394 * kern/corecmd.c (grub_register_core_commands): Likewise.
10395 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
10396 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10397 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
10398 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10399 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10400 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
10401 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10402 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
10403 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10404 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10405 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10406 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10407 * normal/handler.c (insert_handler): Likewise.
10408 * normal/main.c (GRUB_MOD_INIT): Likewise.
10409 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10410
fdcdbb66 104112009-12-26 Carles Pina i Estany <carles@pina.cat>
10412
10413 * commands/help.c (grub_cmd_help): Print the command name before the
10414 summary.
10415 (GRUB_MOD_INIT): Remove command name from the summary.
10416 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 10417 string as summary.
fdcdbb66 10418 * lib/arg.c (find_long): Print the command name before the summary.
10419 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
10420 summary.
10421 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
10422 * commands/cat.c (GRUB_MOD_INIT): Likewise.
10423 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
10424 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
10425 * commands/crc.c (GRUB_MOD_INIT): Likewise.
10426 * commands/date.c (GRUB_MOD_INIT): Likewise.
10427 * commands/echo.c (GRUB_MOD_INIT): Likewise.
10428 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
10429 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10430 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10431 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
10432 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
10433 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
10434 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
10435 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10436 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
10437 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
10438 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
10439 * commands/ls.c (GRUB_MOD_INIT): Likewise.
10440 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10441 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10442 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10443 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
10444 * commands/password.c (GRUB_MOD_INIT): Likewise.
10445 * commands/probe.c (GRUB_MOD_INIT): Likewise.
10446 * commands/read.c (GRUB_MOD_INIT): Likewise.
10447 * commands/search.c (GRUB_MOD_INIT): Likewise.
10448 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
10449 * commands/test.c (GRUB_MOD_INIT): Likewise.
10450 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
10451 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10452 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10453 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
10454 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10455 * lib/arg.c (GRUB_MOD_INIT): Likewise.
10456 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
10457 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10458 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10459 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10460 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10461 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
10462 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
10463 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
10464
9c288be2
VS
104652009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 Use search command for preliminar UUID search.
10468
10469 * commands/search.c: Split into ...
10470 * commands/search_wrap.c: ...this
10471 * commands/search.c: ...and this.
10472 * commands/search_file.c: New file.
10473 * commands/search_label.c: New file.
10474 * commands/search_uuid.c: New file.
10475 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
10476 Add commands/search_wrap.c, commands/search_file.c,
10477 commands/search_label.c and commands/search_uuid.c.
10478 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
10479 (search_mod_SOURCES): Set to commands/search_wrap.c.
10480 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
10481 search_label.mod.
10482 (search_fs_file_mod_SOURCES): New variable.
10483 (search_fs_file_mod_CFLAGS): Likewise.
10484 (search_fs_file_mod_LDFLAGS): Likewise.
10485 (search_label_mod_SOURCES): Likewise.
10486 (search_label_mod_CFLAGS): Likewise.
10487 (search_label_mod_LDFLAGS): Likewise.
10488 (search_fs_uuid_mod_SOURCES): New variable.
10489 (search_fs_uuid_mod_CFLAGS): Likewise.
10490 (search_fs_uuid_mod_LDFLAGS): Likewise.
10491 (fs_file_mod_SOURCES): Removed.
10492 (fs_file_mod_CFLAGS): Likewise.
10493 (fs_file_mod_LDFLAGS): Likewise.
10494 (fs_uuid_mod_SOURCES): Removed.
10495 (fs_uuid_mod_CFLAGS): Likewise.
10496 (fs_uuid_mod_LDFLAGS): Likewise.
10497 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
10498 Set to util/grub-install.in.
10499 * disk/fs_file.c: Removed.
10500 * disk/fs_uuid.c: Likewise.
10501 * include/grub/search.h: New file.
10502 * util/grub-install.in: Handle sparc64.
10503 Create and use load.cfg.
10504 * util/sparc64/ieee1275/grub-install.in: Removed.
10505
db943399
VS
105062009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
10509 Ignore return status if CF is cleared.
10510 (grub_biosdisk_get_diskinfo_standard): Likewise.
10511
3fdae612
RM
105122009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10513
10514 * term/i386/pc/at_keyboard.c
10515 (keyboard_controller_wait_untill_ready): New function.
10516 (grub_keyboard_controller_write, grub_keyboard_controller_read)
10517 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
10518 for keyboard polling, rather than duplicate the same loop. This
10519 saves a few bytes in code size.
10520
7ebaa2b4
VS
105212009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 Support for (pxe[:server[:gateway]]) syntax and
10524 use environment variable for PXE.
10525
10526 * commands/i386/pc/pxecmd.c (options): Removed.
10527 (print_ip): Removed.
10528 (grub_cmd_pxe): Removed
10529 (grub_cmd_pxe_unload): New function.
10530 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
10531 (grub_pxe_your_ip): Made static.
10532 (grub_pxe_default_server_ip): Likewise.
10533 (grub_pxe_default_gateway_ip): Likewise.
10534 (grub_pxe_blksize): Likewise.
10535 (parse_ip): New function.
10536 (grub_pxe_open): Support server and gateway specification.
10537 (grub_pxe_close): Free disk->data.
10538 (grub_pxefs_open): Use disk->data.
10539 (grub_pxefs_read): Likewise.
10540 (grub_env_write_readonly): New function.
10541 (set_mac_env): Likewise.
10542 (set_env_limn_ro): Likewise.
10543 (parse_dhcp_vendor): Likewise.
10544 (grub_pxe_detect): Set the environment variables.
10545 (set_ip_env): New function.
10546 (write_ip_env): Likewise.
10547 (grub_env_write_pxe_default_server): Likewise.
10548 (grub_env_write_pxe_default_gateway): Likewise.
10549 (grub_env_write_pxe_blocksize): Likewise.
10550 (GRUB_MOD_INIT(pxe)): Set environment variables.
10551 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
10552 (grub_pxe_mac_addr_t): ... this. All users updated.
10553 (grub_pxe_your_ip): Removed.
10554 (grub_pxe_server_ip): Likewise.
10555 (grub_pxe_gateway_ip): Likewise.
10556 (grub_pxe_blksize): Likewise.
10557
ec5f98ab 105582009-12-25 Carles Pina i Estany <carles@pina.cat>
10559
10560 * commands/help.c: Include `<grub/i18n.h>'.
10561 (grub_cmd_help): Gettextizze.
10562 (GRUB_MOD_INIT): Likewise.
10563 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
10564 (GRUB_MOD_INIT): Gettextizze.
10565 * commands/search.c: Include `<grub/i18n.h>'.
10566 (options): Gettextizze.
10567 (GRUB_MOD_INIT): Gettextizze.
10568 * lib/arg.c: Include `<grub/i18n.h>'.
10569 (help_options): Gettextizze.
10570 (find_long): Likewise.
10571 (grub_arg_show_help): Likewise.
10572 * normal/dyncmd.c: Include `<grub/i18n.h>'.
10573 (read_command_list): Gettextizze.
10574 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 10575 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 10576
22815526
RM
105772009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10578
10579 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
10580 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
10581 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
10582 (led_status): New variable.
10583 (keyboard_controller_led): New function.
10584 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
10585 update led status for caps lock, num lock and scroll lock.
10586
0ad46fd7
FZ
105872009-12-25 Felix Zielcke <fzielcke@z-51.de>
10588
10589 * util/hostdisk.c (open_device): Fix a comment.
10590
d0e158c2
RM
105912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10592
10593 * util/grub-install.in (host_os): New variable.
10594 * util/i386/efi/grub-install.in (host_os): Likewise.
10595
401c0ad6
RM
105962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10597
10598 * util/mkisofs/write.c (padblock_write): Abort when given an
10599 excedingly large embed image, instead of silently truncating it.
10600
d14d3370
RM
106012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10602
10603 * include/multiboot.h: Indentation fixes.
10604
eeed10b4
RM
106052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10606
10607 * include/multiboot.h (struct multiboot_aout_symbol_table)
10608 (struct multiboot_elf_section_header_table): New structure
10609 declarations (stolen from GRUB Legacy).
10610 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
10611 table information.
10612
10613 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
10614 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
10615 type aliases.
10616
681c70ab
RM
106172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10618
10619 * include/multiboot.h: Make comments src2texi-friendly.
10620
e4d47d8d
RM
106212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10622
10623 For consistency with [multiboot]/docs/boot.S.
10624
10625 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
10626 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
10627 (MULTIBOOT_MAGIC2): Rename from this ...
10628 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
10629
a0b70bda
RM
106302009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10631
10632 * include/multiboot.h: Remove `<grub/types.h>'.
10633 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
10634 types. Update all users.
10635
61ba42be 106362009-12-25 Carles Pina i Estany <carles@pina.cat>
10637
10638 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
10639 `couldn't' and `can not' by `cannot'.
10640 * commands/i386/pc/drivemap.c: Likewise.
10641 * disk/ata.c: Likewise.
10642 * disk/ieee1275/nand.c: Likewise.
10643 * fs/affs.c: Likewise.
10644 * fs/fat.c: Likewise.
10645 * fs/hfs.c: Likewise.
10646 * fs/hfsplus.c: Likewise.
10647 * fs/iso9660.c: Likewise.
10648 * fs/jfs.c: Likewise.
10649 * fs/minix.c: Likewise.
10650 * fs/reiserfs.c: Likewise.
10651 * fs/sfs.c: Likewise.
10652 * fs/udf.c: Likewise.
10653 * fs/ufs.c: Likewise.
10654 * fs/xfs.c: Likewise.
10655 * loader/powerpc/ieee1275/linux.c: Likewise.
10656 * loader/sparc64/ieee1275/linux.c: Likewise.
10657 * util/grub-probe.c: Likewise.
10658 * util/misc.c: Likewise.
10659
7fd0baee 106602009-12-24 Carles Pina i Estany <carles@pina.cat>
10661
10662 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
10663 grub_errno calls.
10664 * commands/acpi.c: Likewise.
10665 * commands/blocklist.c: Likewise.
10666 * commands/efi/loadbios.c: Likewise.
10667 * commands/i386/pc/drivemap.c: Likewise.
10668 * commands/loadenv.c: Likewise.
10669 * commands/memrw.c: Likewise.
10670 * commands/password.c: Likewise.
10671 * commands/videotest.c: Likewise.
10672 * disk/ata.c: Likewise.
10673 * disk/ata_pthru.c: Likewise.
10674 * disk/dmraid_nvidia.c: Likewise.
10675 * disk/ieee1275/nand.c: Likewise.
10676 * disk/ieee1275/ofdisk.c: Likewise.
10677 * disk/loopback.c: Likewise.
10678 * disk/lvm.c: Likewise.
10679 * disk/mdraid_linux.c: Likewise.
10680 * disk/raid.c: Likewise.
10681 * disk/raid6_recover.c: Likewise.
10682 * disk/scsi.c: Likewise.
10683 * efiemu/main.c: Likewise.
10684 * efiemu/mm.c: Likewise.
10685 * efiemu/pnvram.c: Likewise.
10686 * efiemu/symbols.c: Likewise.
10687 * font/font.c: Likewise.
10688 * fs/cpio.c: Likewise.
10689 * fs/hfsplus.c: Likewise.
10690 * fs/iso9660.c: Likewise.
10691 * fs/jfs.c: Likewise.
10692 * fs/minix.c: Likewise.
10693 * fs/ntfs.c: Likewise.
10694 * fs/ntfscomp.c: Likewise.
10695 * fs/reiserfs.c: Likewise.
10696 * fs/ufs.c: Likewise.
10697 * fs/xfs.c: Likewise.
10698 * gettext/gettext.c: Likewise.
10699 * include/grub/auth.h: Likewise.
10700 * kern/elf.c: Likewise.
10701 * kern/file.c: Likewise.
10702 * kern/ieee1275/init.c: Likewise.
10703 * kern/ieee1275/mmap.c: Likewise.
10704 * kern/ieee1275/openfw.c: Likewise.
10705 * kern/powerpc/dl.c: Likewise.
10706 * kern/sparc64/dl.c: Likewise.
10707 * lib/arg.c: Likewise.
10708 * loader/i386/bsd.c: Likewise.
10709 * loader/i386/bsdXX.c: Likewise.
10710 * loader/i386/efi/linux.c: Likewise.
10711 * loader/i386/efi/xnu.c: Likewise.
10712 * loader/i386/ieee1275/linux.c: Likewise.
10713 * loader/i386/linux.c: Likewise.
10714 * loader/i386/multiboot.c: Likewise.
10715 * loader/i386/pc/linux.c: Likewise.
10716 * loader/i386/pc/multiboot2.c: Likewise.
10717 * loader/i386/xnu.c: Likewise.
10718 * loader/ieee1275/multiboot2.c: Likewise.
10719 * loader/macho.c: Likewise.
10720 * loader/machoXX.c: Likewise.
10721 * loader/multiboot2.c: Likewise.
10722 * loader/multiboot_loader.c: Likewise.
10723 * loader/powerpc/ieee1275/linux.c: Likewise.
10724 * loader/sparc64/ieee1275/linux.c: Likewise.
10725 * loader/xnu.c: Likewise.
10726 * loader/xnu_resume.c: Likewise.
10727 * mmap/i386/pc/mmap.c: Likewise.
10728 * normal/menu_viewer.c: Likewise.
10729 * partmap/acorn.c: Likewise.
10730 * partmap/amiga.c: Likewise.
10731 * partmap/apple.c: Likewise.
10732 * script/lexer.c: Likewise.
10733 * term/gfxterm.c: Likewise.
10734 * term/i386/pc/serial.c: Likewise.
10735 * term/i386/pc/vga.c: Likewise.
10736 * term/ieee1275/ofconsole.c: Likewise.
10737 * term/terminfo.c: Likewise.
10738 * video/bitmap.c: Likewise.
10739 * video/efi_gop.c: Likewise.
10740 * video/efi_uga.c: Likewise.
10741 * video/fb/video_fb.c: Likewise.
10742 * video/i386/pc/vbe.c: Likewise.
10743 * video/readers/tga.c: Likewise.
10744 * video/video.c: Likewise.
10745
0ad46fd7 107462009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
10747
10748 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
10749 * commands/lspci.c: Likewise.
10750 * commands/probe.c: Likewise.
10751 * commands/xnu_uuid.c: Likewise.
10752 * conf/i386-coreboot.rmk: Likewise.
10753 * conf/i386-efi.rmk: Likewise.
10754 * conf/i386-ieee1275.rmk: Likewise.
10755 * conf/i386-pc.rmk: Likewise.
10756 * conf/powerpc-ieee1275.rmk: Likewise.
10757 * conf/sparc64-ieee1275.rmk: Likewise.
10758 * conf/x86_64-efi.rmk: Likewise.
10759 * fs/i386/pc/pxe.c: Likewise.
10760 * gettext/gettext.c: Likewise.
10761 * include/grub/efi/graphics_output.h: Likewise.
10762 * include/grub/i386/pc/memory.h: Likewise.
10763 * kern/env.c: Likewise.
10764 * kern/i386/qemu/startup.S: Likewise.
10765 * lib/i386/pc/biosnum.c: Likewise.
10766 * lib/i386/relocator.c: Likewise.
10767 * lib/i386/relocator_asm.S: Likewise.
10768 * lib/relocator.c: Likewise.
10769 * loader/i386/bsd.c: Likewise.
10770 * loader/i386/multiboot.c: Likewise.
10771 * loader/i386/pc/chainloader.c: Likewise.
10772 * loader/i386/xnu.c: Likewise.
10773 * loader/xnu.c: Likewise.
10774 * normal/main.c: Likewise.
10775 * normal/menu_text.c: Likewise.
10776 * util/getroot.c: Likewise.
10777 * util/grub-mkconfig_lib.in: Likewise.
10778 * util/grub.d/00_header.in: Likewise.
10779 * util/i386/pc/grub-mkimage.c: Likewise.
10780 * util/mkisofs/eltorito.c: Likewise.
10781 * util/mkisofs/exclude.h: Likewise.
10782 * util/mkisofs/hash.c: Likewise.
10783 * util/mkisofs/iso9660.h: Likewise.
10784 * util/mkisofs/joliet.c: Likewise.
10785 * util/mkisofs/mkisofs.c: Likewise.
10786 * util/mkisofs/mkisofs.h: Likewise.
10787 * util/mkisofs/multi.c: Likewise.
10788 * util/mkisofs/name.c: Likewise.
10789 * util/mkisofs/rock.c: Likewise.
10790 * util/mkisofs/tree.c: Likewise.
10791 * util/mkisofs/write.c: Likewise.
10792 * video/efi_gop.c: Likewise.
10793
009ec743
VS
107942009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
10797 size counting.
10798
0ad46fd7 107992009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
10800
10801 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
10802 * genmk.rb (class SCRIPT): Modify the target file instead of source.
10803
d3d30ea0
VS
108042009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
10807 (GRUB_MOD_INIT(memrw)): Update help line.
10808
a34f5c70
VS
108092009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
10812 Use grub_extcmd_t. All users updated.
10813 (options): New variable.
10814 (grub_cmd_read): Restructure for readability. Support "-v" option.
10815 (grub_cmd_write): Restructure for readability.
10816
0ad46fd7 108172009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
10818
10819 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
10820
0ad46fd7 108212009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
10822
10823 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
10824 with the actual contents of the correspondending make variable.
10825 * util/grub-mkrescue.in (pkglib_DATA): New variable.
10826 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
10827 specifying `*.lst' and `efiemu??.o'
10828
0ad46fd7 108292009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
10830
10831 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
10832 after function name.
10833 Noticed by Rene Engelhard <rene@debian.org>.
10834
dc77a799
VS
108352009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
10838 (options): New variable.
10839 (iospace): Likewise.
10840 (grub_lspci_iter): List IO spaces if "-i" was given.
10841 (grub_cmd_lspci): Parse options.
10842 (GRUB_MOD_INIT(lspci)): Use extcmd.
10843 (GRUB_MOD_FINI(lspci)): Likewise.
10844
0ad46fd7 108452009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
10846
10847 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
10848 `function' keyword.
10849 Patch by Tony Mancill <tmancill@debian.org>.
10850
b5d5993b
VS
108512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
10854 (grub_uhci_portstatus): Likewise.
10855 (grub_uhci_portstatus): Add necessary delay.
11d18281 10856 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 10857
941903f2 108582009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 10859
941903f2 10860 * commands/acpi.c (options): Fix capitalizations and/or full stops.
10861 (GRUB_MOD_INIT): Likewise.
10862 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 10863 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
10864 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 10865 * commands/efi/loadbios.c (enable_rom_area): Likewise.
10866 (enable_rom_area): Likewise.
10867 (GRUB_MOD_INIT): Likewise.
10868 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10869 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
10870 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10871 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
10872 * commands/hexdump.c (options): Likewise.
10873 * commands/i386/cpuid.c (options): Likewise.
10874 (GRUB_MOD_INIT): Likewise.
10875 * commands/i386/pc/drivemap.c (options): Likewise.
10876 (GRUB_MOD_INIT): Likewise.
10877 * commands/i386/pc/halt (options): Likewise.
10878 (GRUB_MOD_INIT): Likewise.
10879 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10880 * commands/i386/pc/pxecmd.c (options): Likewise.
10881 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
10882 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
10883 * commands/keystatus.c (options): Likewise.
10884 (GRUB_MOD_INIT): Likewise.
10885 * commands/loadenv.c (options): Likewise.
10886 * commands/ls.c (options): Likewise.
10887 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10888 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10889 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10890 * commands/parttool.c (helpmsg): Likewise.
10891 * commands/probe.c (options): Likewise.
10892 * commands/read.c (GRUB_MOD_INIT): Likewise.
10893 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
10894 * commands/search.c (options): Likewise.
10895 * commands/sleep.c (options): Likewise.
10896 * commands/test.c (GRUB_MOD_INIT): Likewise.
10897 * commands/true.c (GRUB_MOD_INIT): Likewise.
10898 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
10899 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
10900 * lib/arg.c (help_options): Likewise.
e9bbb4e7 10901 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
10902 `$(XGETTEXT)'.
98a50553 10903 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 10904
0ad46fd7 109052009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 10906
ef3c2c3a 10907 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
10908 instead of specifying them explicit.
10909
7922f68b
RM
109102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10911
10912 * NEWS: Add grub-probe support for GNU/Hurd.
10913
537ce47f
RM
109142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10915
10916 * NEWS: gettext was added after 1.97.
10917
9b214e3a
RM
109182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10919
10920 * util/mkisofs/msdos_partition.h: New file (based on
10921 include/grub/msdos_partition.h).
10922 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
10923 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
10924 (ld_options, main): Recognize --protective-msdos-label.
10925 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
10926 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
10927 (padblock_write): If `use_protective_msdos_label' is set, patch a
10928 protective DOS-style label in the output image.
10929
10930 * util/grub-mkrescue.in: Use --protective-msdos-label.
10931
e9309813
RM
109322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10933
10934 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
10935 boot.
10936
0ae56929
RM
109372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10938
10939 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
10940 variables.
10941 (ld_options, main): Recognize `--embedded-boot'.
10942 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
10943 declarations.
10944 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
10945 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
10946 (padblock_write): Likewise. Rewrite to support embedded boot image.
10947
10948 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
10949 for BIOS-based disk boot instead of only ElTorito.
10950
b15937b1
RM
109512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10952
10953 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
10954 build (not needed for bootstrap).
10955
52cc3ce0
RM
109562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10957
10958 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
10959 from i386-pc build (not needed for bootstrap).
10960 Rewrite a pair of strings.
10961
36f5ff04
RM
109622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10963
10964 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
10965
973c6c85 109662009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
10967
10968 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
10969
05d21547
AB
109702009-12-21 Andreas Born <futur.andy@googlemail.com>
10971
10972 * kern/env.c (grub_env_context_open): Mark exported variable for
10973 reexport.
10974
0175d51f
AB
109752009-12-21 Andreas Born <futur.andy@googlemail.com>
10976
10977 * kern/env.c (grub_env_export): Create nonexistent variables before
10978 exporting.
10979
7f39d92f 109802009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 10981
7f39d92f 10982 * include/grub/auth.h: Include `<grub/i18n.h>'.
10983 (GRUB_GET_PASSWORD): Gettextizze string.
10984 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
10985 menu_text.c.
10986 (grub_utf8_to_ucs4_alloc): Fix indentation.
10987 (grub_print_ucs4): Likewise.
10988 (grub_getstringwidth): Likewise.
10989 (print_message_indented): New declaration.
10990 * normal/auth.c: Include `<grub/i18n.h>'.
10991 (grub_auth_check_authentication): Gettexttize string.
10992 * normal/cmdline.c: Include `<grub/i18n.h>'.
10993 (grub_cmdline_get): Gettextizze.
10994 * normal/color.c: Include `<grub/i18n.h>'.
10995 (grub_parse_color_name_pair): Gettexttize strings.
10996 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
10997 string (use `print_message_indented').
10998 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
10999 `include/grub/normal.h'.
11000 (print_message_indented): Renamed to ...
11001 (grub_print_message_indented): ... this. Remove `static' qualifer (now
11002 used in normal/main.c).
11003 (print_message): Use `grub_print_message_indented' instead of
11004 `print_message_indented'.
11005 (print_timeout): Likewise.
11006 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
11007 (grub_normal_print_device_info): Gettexttize strings.
11008 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
11009
3041d898
VS
110102009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
11013 of arguments. Return number of tokens and not arguments. All users
11014 updated.
11015
de15bf8e
VS
110162009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
11019 non-MSDOS paritions.
11020
e0a6ca52
VS
110212009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 * include/grub/types.h (UNUSED): Removed since it conflicts with
11024 NetBSD headers. All users changed to direct __attribute__ ((unused)).
11025 Reported by Grégoire Sutre.
11026
b99518d1 110272009-12-19 Carles Pina i Estany <carles@pina.cat>
11028
11029 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
11030 (grub_print_ucs4_alloc): Likewise.
11031 (grub_getstringwidth): Likewise.
11032 * normal/main.c (grub_normal_init_page): Gettextize version string.
11033 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
11034 (getstringwidth): Renamed to ...
11035 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
11036 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
11037 (grub_print_ucs4): Remove `static' qualifer (now used in
11038 normal/main.c).
11039 * po/POTFILES: Add normal/main.c.
11040
bfd5e52b 110412009-12-19 Carles Pina i Estany <carles@pina.cat>
11042
11043 * normal/menu_text.c (STANDARD_MARGIN): New macro.
11044 (print_message_indented): Add `margin_left' and `margin_right'
11045 parameters.
11046 (print_message): Update `print_message_indented' calls. Adds '\n' to the
11047 strings.
11048 (print_timeout): Use `print_message_indented' to print the message.
11049 Deletes `second_stage' parameter.
11050 (run_menu): Update `print_timeout' calls.
11051
5a1ad2b9
VS
110522009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 Fix console palette on OpenFirmware.
11055
11056 * term/ieee1275/ofconsole.c (MAX): Removed.
11057 (colors): Redone based on VGA palette.
11058 (grub_ofconsole_setcolor): Discard brightness bit since only 8
11059 colors are supported.
11060 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
11061
b045f00a
VS
110622009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 Fix potential EfiEmu double prepare.
11065
11066 * efiemu/main.c (prepared): New variable
11067 (grub_efiemu_unload): Set prepare to '0'.
11068 (grub_efiemu_prepare): Return if already prepared. Set prepared.
11069
11070 set_virtual_address_map support.
11071
11072 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
11073 prototype.
11074 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
11075 prototype.
11076 (grub_efiemu_crc32): Likewise.
11077 (grub_efiemu_crc64): Likewise.
11078 (grub_efiemu_set_virtual_address_map): Likewise.
11079 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
11080 New definition.
11081 (grub_autoefi_set_virtual_address_map): Likewise.
11082 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
11083 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
11084 Restructure flow to accomodate it.
11085 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
11086 (grub_efiemu_crc): Recompute CRC32.
11087 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
11088 (efiemu_ptv_relocated): ... this. Made global. All users updated.
11089 * efiemu/symbols.c (relocated_handle): New variable.
11090 (grub_efiemu_free_syms): Free relocated_handle.
11091 (grub_efiemu_alloc_syms): Allocate relocated_handle.
11092 (grub_efiemu_write_sym_markers): New function.
11093 (grub_efiemu_set_virtual_address_map): Likewise.
11094
11095 Newer XNU parameters.
11096
11097 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
11098 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
11099 (grub_xnu_fill_devicetree): New prototype.
11100 (grub_xnu_heap_real_start): New variable.
11101 * loader/xnu.c (get_name_ptr): New function.
11102 (grub_xnu_load_driver): Fill namelen and name.
11103
11104 64-bit xnu support.
11105
11106 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
11107 and 'loader/macho64.c'.
11108 * conf/i386-pc.rmk: Likewise.
11109 * conf/x86_64-efi.rmk: Likewise.
11110 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
11111 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
11112 * include/grub/macho.h (grub_macho_segment64): New structure.
11113 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
11114 (grub_macho_size32): ... to this.
11115 (grub_macho32_get_entry_point): Renamed from ...
11116 (grub_macho_get_entry_point32): ... to this.
11117 (grub_macho_contains_macho64): New prototype.
11118 (grub_macho_size64): Likewise.
11119 (grub_macho_get_entry_point64): Likewise.
11120 (grub_macho32_load): Renamed from ...
11121 (grub_macho_load32): ... to this.
11122 (grub_macho32_filesize): Renamed from ...
11123 (grub_macho_filesize32): ... to this.
11124 (grub_macho32_readfile): Renamed from ...
11125 (grub_macho_readfile32): ... to this.
11126 (grub_macho_filesize64): New prototype.
11127 (grub_macho_readfile64): Likewise.
11128 (grub_macho_parse32): Likewise.
11129 (grub_macho_parse64): Likewise.
11130 * loader/macho.c: Split into ...
11131 * loader/machoXX.c: ... and this. Replace 32 with XX.
11132 * loader/macho32.c: New file.
11133 * loader/macho64.c: Likewise.
11134 * loader/xnu.c (grub_xnu_is_64bit): New variable.
11135 (grub_cmd_xnu_kernel): Make 32-bit only.
11136 (grub_cmd_xnu_kernel64): New function.
11137 (grub_xnu_load_driver): Support Mach-O 64.
11138 (grub_cmd_xnu_mkext): Likewise.
11139 * util/grub.d/30_os-prober.in (osx_entry): New function.
11140 Generate entries for 64-bit boot too.
11141
11142 Eliminate ad-hoc tree format in XNU and EfiEmu.
11143
11144 * efiemu/main.c (grub_efiemu_prepare): Update comment.
11145 * efiemu/pnvram.c: Rewritten to use environment variables.
11146 All users updated.
11147
11148 Inline utf16_to_utf8.
11149
11150 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
11151 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
11152 All users updated.
11153 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
11154
11155 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
11156 * commands/usbtest.c (grub_usb_get_string): ... move here.
11157 (usb_print_str): Fix error handling.
11158 * include/grub/usb.h (grub_usb_get_string): Remove.
11159
11160 UTF-8 to UTF-16 transformation.
11161
11162 * conf/common.rmk (pkglib_MODULES): Add charset.mod
11163 (charset_mod_SOURCES): New variable.
11164 (charset_mod_CFLAGS): Likewise.
11165 (charset_mod_LDFLAGS): Likewise.
11166 * include/grub/utf.h: New file.
11167 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
11168
11169 Support for device properties.
11170
11171 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
11172 (grub_xnu_devprop_device_header): Likewise.
11173 (grub_xnu_devprop_device_descriptor): Likewise.
11174 (grub_xnu_devprop_add_device): New prototype.
11175 (grub_xnu_devprop_remove_device): Likewise.
11176 (grub_xnu_devprop_remove_property): Likewise.
11177 (grub_xnu_devprop_add_property_utf8): Likewise.
11178 (grub_xnu_devprop_add_property_utf16): Likewise.
11179 (grub_cpu_xnu_init): Likewise.
11180 (grub_cpu_xnu_fini): Likewise.
11181 (grub_cpu_xnu_unload): Likewise.
11182 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
11183 (property_descriptor): Likewise.
11184 (devices): New variable.
11185 (grub_xnu_devprop_remove_property): New function.
11186 (grub_xnu_devprop_add_device): Likewise.
11187 (grub_xnu_devprop_remove_device): Likewise.
11188 (grub_xnu_devprop_add_property): Likewise.
11189 (grub_xnu_devprop_add_property_utf8): Likewise.
11190 (grub_xnu_devprop_add_property_utf16): Likewise.
11191 (hextoval): Likewise.
11192 (grub_cpu_xnu_fill_devprop): Likewise.
11193 (grub_cmd_devprop_load): Likewise.
11194 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
11195 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
11196 (cmd_devprop_load): New variable.
11197 (grub_cpu_xnu_init): New function.
11198 (grub_cpu_xnu_fini): Likewise.
11199 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
11200 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
11201 (grub_cmd_xnu_devtree): Likewise.
11202 (hextoval): New function.
11203 (unescape): Likewise.
11204 (grub_xnu_fill_devicetree): Likewise.
11205
11206 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
11207 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
11208
0945f181
VS
112092009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 Workaround for broken ATI VBE.
11212
11213 * video/i386/pc/vbe.c (last_set_mode): New variable.
11214 (grub_vbe_set_video_mode): Set 'last_set_mode'.
11215 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
11216 (grub_video_vbe_setup): Don't check for reserved flag.
11217
0ad46fd7 112182009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
11219
11220 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
11221 the `find' command.
11222
c179ebe4
VS
112232009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 UUID support for HFS.
11226
11227 * fs/hfs.c (grub_hfs_uuid): New function.
11228 (grub_hfs_fs): New value .uuid.
11229 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
11230
0ad46fd7 112312009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
11232
11233 Fix a segfault with parsing unknown long options.
11234
11235 * util/grub-mkrelpath.c (options): Zero terminate it.
11236
c4a3e41a
CPE
112372009-12-13 Carles Pina i Estany <carles@pina.cat>
11238
11239 * include/grub/misc.h (grub_puts): New declaration.
11240 (grub_puts_): Likewise.
a22008a6 11241 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
11242 (grub_puts_): Likewise.
11243
2e8a7602
RM
112442009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11245
11246 * util/grub-probe.c (probe): Improve error message.
11247
b50b77b9
RM
112482009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11249
11250 * loader/i386/multiboot_elfxx.c
11251 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
11252 initialization.
11253
112542009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11255
11256 Relocator framework
11257
11258 * loader/i386/xnu_helper.S: Removed. All users updated.
11259 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
11260 (relocator_mod_SOURCES): New variable.
11261 (relocator_mod_CFLAGS): Likewise.
11262 (relocator_mod_LDFLAGS): Likewise.
11263 (relocator_mod_ASFLAGS): Likewise.
11264 * conf/x86_64.rmk: Likewise.
11265 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
11266 (grub_multiboot_payload_entry_offset): Likewise.
11267 (grub_multiboot_forward_relocator): Likewise.
11268 (grub_multiboot_forward_relocator_end): Likewise.
11269 (grub_multiboot_backward_relocator): Likewise.
11270 (grub_multiboot_backward_relocator_end): Likewise.
11271 (grub_multiboot_payload_eip): New variable.
11272 (grub_multiboot_payload_orig): Likewise.
11273 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
11274 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
11275 * include/grub/i386/memory.h
11276 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
11277 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
11278 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
11279 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
11280 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
11281 * include/grub/i386/relocator.h: New file.
11282 * include/grub/x86_64/relocator.h: Likewise.
11283 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
11284 (XNU_RELOCATOR): New macro.
11285 (grub_xnu_launcher_start): Remove.
11286 (grub_xnu_launcher_end): Likewise.
11287 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
11288 (grub_xnu_heap_real_start): Remove.
11289 (grub_xnu_heap_start): Change to void *. All users updated.
11290 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
11291 * lib/i386/relocator.c: New file.
11292 * lib/i386/relocator_asm.S: Likewise.
11293 * lib/i386/relocator_backward.S: Likewise.
11294 * lib/mips/relocator.c: Likewise.
11295 * lib/mips/relocator_asm.S: Likewise.
11296 * lib/relocator.c: Likewise.
11297 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
11298 (entry): Removed.
11299 (playground): Likewise.
11300 (grub_multiboot_payload_orig): New variable.
11301 (grub_multiboot_payload_dest): Likewise.
11302 (grub_multiboot_payload_size): Likewise.
11303 (grub_multiboot_payload_eip): Likewise.
11304 (grub_multiboot_payload_esp): Likewise.
11305 (grub_multiboot_boot): Use grub_relocator32_boot.
11306 (grub_multiboot_unload): Free relocators.
11307 (grub_multiboot): Setup stack. Use relocators.
11308 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
11309 (grub_multiboot_load_elfXX): Use relocators.
11310 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
11311 (grub_multiboot_payload_size): Likewise.
11312 (grub_multiboot_payload_dest): Likewise.
11313 (grub_multiboot_payload_entry_offset): Likewise.
11314 (grub_multiboot_forward_relocator): Likewise.
11315 (grub_multiboot_backward_relocator): Likewise.
11316 (grub_multiboot_real_boot): Likewise.
11317 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
11318 (grub_xnu_entry_point): Likewise.
11319 (grub_xnu_arg1): Likewise.
11320 (grub_xnu_stack): Likewise.
11321 (grub_xnu_launch): Removed.
11322 (grub_xnu_boot_resume): New function.
11323 (grub_xnu_boot): Use relocators.
11324 * loader/i386/xnu_helper.S: Removed.
11325 * loader/xnu.c (grub_xnu_heap_start): New variable.
11326 (grub_xnu_heap_size): Likewise.
11327 (grub_xnu_heap_malloc): Use relocators.
11328 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
11329
29eb90c6
VS
113302009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11331
11332 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
11333 anything.
11334
31027430
CPE
113352009-12-13 Carles Pina i Estany <carles@pina.cat>
11336
11337 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
11338 GRUB_ERR_NONE before calling grub_env_set.
11339
dc0c71d9
RM
113402009-12-12 Robert Millan <rmh@aybabtu.com>
11341
11342 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
11343 * genmk.rb (video): New variable.
11344 (CLEANFILES, VIDEOFILES): Add #{video}.
11345 (#{video}): New target rule.
11346 * genvideolist.sh: New file.
11347 * Makefile.in (pkglib_DATA): Add video.lst.
11348 (video.lst): New target rule.
11349 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
11350 `video.lst'.
11351 * util/grub.d/30_os-prober.in: Replace `vbe' with
11352 ${GRUB_VIDEO_BACKEND}.
11353
2a4bfcf0
RM
113542009-12-11 Robert Millan <rmh.grub@aybabtu.com>
11355
11356 * THANKS: Add David Miller.
11357
2a3aa4d5
RM
113582009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 libpciaccess support.
11361
11362 * Makefile.in (LIBPCIACCESS): New variable.
11363 (enable_grub_emu_pci): Likewise.
11364 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
11365 util/pci.c and commands/lspci.c.
11366 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
11367 * configure.ac (grub-emu-pci): New option.
11368 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
11369 (grub_pci_device_unmap_range): Likewise.
11370 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
11371 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
11372 (grub_pci_address_t) [!GRUB_UTIL]: New type.
11373 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
11374 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
11375 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
11376 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
11377 * include/grub/pciutils.h: New file.
11378 * util/pci.c: Likewise.
11379
0ad46fd7 113802009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
11381
11382 * util/misc.c: Don't include <errno.h> twice.
11383
0ad46fd7 113842009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
11385
11386 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
11387 name in an error message.
11388 (grub_biosdisk_rw): Likewise.
11389
2e59983c
VS
113902009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 Eliminate NTFS 4Gib barrier.
11393
11394 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
11395 (read_run_data): Likewise.
11396 (grub_ntfs_read_run_list): Likewise.
11397 (grub_ntfs_read_block): Likewise.
11398 (grub_ntfs_iterate_dir): Likewise.
11399 (read_mft): Likewise.
11400 (read_data): Likewise.
11401 Use COM_LOG_LEN.
11402 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
11403 to avoid 64-bit division
11404 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
11405 (grub_ntfs_rlst): Use grub_disk_addr_t.
11406
71ee178a
VS
114072009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 Eliminate grub-fstest 4Gib barrier.
11410
11411 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
11412 (read_file): Fix error reporting.
11413
2520d4b8
VS
114142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 Eliminate hexdump 4Gib barrier.
11417
11418 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
11419 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
11420
e1f27065
VS
114212009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
11424 Fixes amarsh bug.
11425
1a0f7f45
RM
114262009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
11427
11428 Remove miscellaneous files in distclean target.
11429
11430 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
11431
c631d9fb
CW
114322009-12-09 Colin Watson <cjwatson@ubuntu.com>
11433
11434 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
11435 if they're already set. This resolves the conflict between my
11436 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
11437 fixing the --grub-probe option again.
11438 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
11439 change on 2009-10-06, so that we now once again source
11440 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11441
7c7b6106
RM
114422009-12-08 Robert Millan <rmh.grub@aybabtu.com>
11443
11444 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
11445 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
11446 `util/devicemap.c'.
11447
e3069ec1
CPE
114482009-12-08 Carles Pina i Estany <carles@pina.cat>
11449
11450 * include/grub/misc.h (grub_printf_): New declaration.
11451 * kern/misc.c (grub_printf_): New definition.
11452 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
11453 instead of `grub_printf' and `_'.
11454 * normal/menu_entry.c (store_completion): Likewise.
11455 (run): Likewise.
11456 (grub_menu_entry_run): Likewise.
11457 * normal/menu_text.c (grub_wait_after_message): Likewise.
11458 (notify_booting): Likewise.
11459 (notify_fallback): Likewise.
11460 (notify_execution_failure): Likewise.
11461
d6ceebf1
CW
114622009-12-07 Colin Watson <cjwatson@ubuntu.com>
11463
11464 * configure.ac: Check for vasprintf.
11465 * util/misc.c (asprintf): Move allocation from here ...
11466 (vasprintf): ... to here. New function.
11467 (xasprintf): New function.
11468 * include/grub/util/misc.h (vasprintf, xasprintf): Add
11469 prototypes.
11470 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11471 * util/grub-mkfont.c (write_font): Likewise.
11472 * util/grub-probe.c (probe): Likewise.
11473 * util/hostdisk.c (make_device_name): Likewise.
11474
de6daa8b
DM
114752009-12-06 David S. Miller <davem@sunset.davemloft.net>
11476
11477 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
11478 anything even prefixed with 'cdrom' as a cdrom.
11479
0ad46fd7 114802009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
11481
11482 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
11483 mount points.
11484
98d3dc02
CPE
114852009-12-05 Carles Pina i Estany <carles@pina.cat>
11486
11487 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
11488 grub_gettext_msg_list.
11489 (grub_gettext_gettranslation_from_position): Return const char *
11490 and not char *.
a2c1332b 11491 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
11492 returns from the list if existing there.
11493 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
11494 (grub_gettext_delete_list): Delete the list.
11495 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
11496 lang environment variable is changed.
11497 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
11498
b283f108
VS
114992009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 Rename kernel.mod to kernel.img.
11502
11503 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
11504 (kernel_mod_EXPORTS): Rename to ...
11505 (kernel_img_EXPORTS): ... this.
11506 (kernel_mod_SOURCES): Rename to ...
11507 (kernel_img_SOURCES): ... this.
11508 (kernel_mod_HEADERS): Rename to ...
11509 (kernel_img_HEADERS): ... this. All users updated.
11510 (kernel_mod_CFLAGS): Rename to ...
11511 (kernel_img_CFLAGS): ... this.
11512 (kernel_mod_ASFLAGS): Rename to ...
11513 (kernel_img_ASFLAGS): ... this.
11514 (kernel_mod_LDFLAGS): Rename to ...
11515 (kernel_img_LDFLAGS): ... this.
11516 * conf/x86_64-efi.rmk: Likewise.
11517 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
11518 (read_kernel_image): ... this. All users updated.
11519 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
11520
69055f8a
CPE
115212009-12-05 Carles Pina i Estany <carles@pina.cat>
11522
11523 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
11524 (print_spaces): New function.
11525 (grub_print_ucs4): New function.
11526 (getstringwidth): New function.
11527 (print_message_indented): New function.
11528 (print_message): Gettexttize strings using print_message_indented.
11529 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
11530 width.
11531 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 11532 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
11533 Gettextize.
11534 * normal/menu_entry.c (store_completion): Cleanup the gettextized
11535 string.
11536 (run): Likewise.
11537 (grub_menu_entry_run): Likewise.
11538 * PO/POTFILES: Add normal/menu_entry.c.
11539
f616f51c
VS
115402009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
11543
57bbe3be
CPE
115442009-12-05 Carles Pina i Estany <carles@pina.cat>
11545
11546 * util/grub-install.in: Install gettext .mo files.
11547 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
11548
013d67a1
CPE
115492009-12-05 Carles Pina i Estany <carles@pina.cat>
11550
11551 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
11552 grub_dprintf.
11553
fb954db0
RM
115542009-12-05 Robert Millan <rmh.grub@aybabtu.com>
11555
11556 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
11557 non-firmware-dependant one in realmode.S takes precedence.
11558
6b8474f8
RM
115592009-12-04 Robert Millan <rmh.grub@aybabtu.com>
11560
11561 * commands/halt.c: Replace misc arch-specific headers with
11562 `<grub/misc.h>'.
11563 * commands/reboot.c: Likewise.
11564 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
11565 `<grub/misc.h>'.
11566 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
11567 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
11568 (kernel_img_SOURCES): ... to here.
11569
11570 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
11571 * include/grub/i386/pc/init.h: Likewise.
11572 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11573 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11574
11575 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
11576
11577 * include/grub/i386/halt.h: Remove.
11578 * include/grub/i386/reboot.h: Likewise.
11579
11580 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
11581
4b2e6ca2
DM
115822009-12-03 David S. Miller <davem@sunset.davemloft.net>
11583
11584 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
11585 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
11586 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
11587 "progname.h"
11588 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11589 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11590 (usage): Add missing comma in printf.
11591
5239348f
RM
115922009-12-02 Robert Millan <rmh.grub@aybabtu.com>
11593
11594 Use the same reboot approach on i386 coreboot and qemu as we do on
11595 BIOS.
11596
11597 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
11598 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
11599 * kern/i386/reboot.c: Remove.
11600 * include/grub/i386/reboot.h (grub_reboot): Export function.
11601 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
11602 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
11603 0xf000:0xfff0 instead of 0xffff:0x0000.
11604 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
11605 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
11606
ef34cbd4
RM
116072009-11-30 Robert Millan <rmh.grub@aybabtu.com>
11608
11609 Fix $srcdir != $objdir build.
11610
11611 * Makefile.in (po/%.po): Rewrite as ...
11612 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
11613
dc9837ea
ST
116142009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
11615
11616 Fix GNU/Hurd grub-install crash.
11617 * util/grub-probe.c (probe): Try to access `path' only when it is not
11618 NULL.
11619
2f857f98
VS
116202009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 Correct module naming.
11623
11624 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11625 (GRUB_MOD_INIT(efi_uga)): ... to this
11626 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11627 (GRUB_MOD_FINI(efi_uga)): ... to this
11628 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11629 (GRUB_MOD_INIT(efi_gop)): ... to this
11630 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11631 (GRUB_MOD_FINI(efi_gop)): ... to this
11632
c5448046
RM
116332009-11-28 Robert Millan <rmh.grub@aybabtu.com>
11634
11635 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
11636 translatable.
11637 (usage): Translate `arg' strings using gettext().
11638 Thanks to Jordi Mallach for the suggestion.
11639
c85184ad
VS
116402009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 GOP support. Based on patch from Bean
11643 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11644
11645 * video/efi_gop.c: New file.
11646 * include/grub/efi/graphics_output.h: Likewise.
11647 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
11648 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11649 variables.
11650 * conf/x86_64-efi.rmk: Likewise.
11651
8a4c48d8
VS
116522009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 Rename efi_fb to efi_uga.
11655
11656 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11657 'efi_uga.mod'.
11658 (efi_fb_mod_SOURCES): Rename this ...
11659 (efi_uga_mod_SOURCES): ... to this.
11660 (efi_fb_mod_CFLAGS): Rename this ...
11661 (efi_uga_mod_CFLAGS): ... to this.
11662 (efi_fb_mod_LDFLAGS): Rename this ...
11663 (efi_uga_mod_LDFLAGS): ... to this.
11664 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11665 'efi_uga.mod'.
11666 (efi_fb_mod_SOURCES): Rename this ...
11667 (efi_uga_mod_SOURCES): ... to this.
11668 (efi_fb_mod_CFLAGS): Rename this ...
11669 (efi_uga_mod_CFLAGS): ... to this.
11670 (efi_fb_mod_LDFLAGS): Rename this ...
11671 (efi_uga_mod_LDFLAGS): ... to this.
11672 * video/efi_fb.c: Move this ...
11673 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
11674
fb6c1a7b
RM
116752009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11676
11677 * po/README: New file. Explain our PO file workflow.
11678
3bc7896c
RM
116792009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11680
11681 * po/ChangeLog: Remove. Move relevant entries back to ...
11682 * ChangeLog: ... here.
11683 * po/ca.po: Remove (now handled by TLP).
11684 * po/id.po: Likewise.
11685 * po/zh_CN.po: Likewise.
11686 * Makefile.in (LINGUAS): Initialize in a way that supports
11687 empty set.
11688
9ed4841d
RM
116892009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11690
11691 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
11692 reliing on po/LINGUAS.
11693 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
11694 (po/%.po): ... this.
11695
0ad46fd7 116962009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
11697
11698 * util/i386/efi/grub-mkimage.c: Include "progname.h".
11699 (main): Use `program_name' instead of nonexistent `progname'.
11700
e30dd392
FZ
117012009-11-26 Felix Zielcke <fzielcke@z-51.de>
11702
11703 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11704 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
11705
7656de4f
RM
117062009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11707
11708 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
11709 commit.
11710 * conf/i386-efi.rmk: Likewise.
11711 * conf/i386-ieee1275.rmk: Likewise.
11712 * conf/powerpc-ieee1275.rmk: Likewise.
11713 * conf/sparc64-ieee1275.rmk: Likewise.
11714 * conf/x86_64-efi.rmk: Likewise.
11715
db77c4d4
FZ
117162009-11-26 Felix Zielcke <fzielcke@z-51.de>
11717
11718 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
11719
a755bb04
FZ
117202009-11-26 Felix Zielcke <fzielcke@z-51.de>
11721
11722 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
11723
8a4c07fd
RM
117242009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11725
11726 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
11727 (grub_mkdevicemap_SOURCES): New variable.
11728 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
11729 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
11730 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
11731 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
11732 (grub_mkdevicemap_SOURCES): Remove.
11733 * conf/i386-efi.rmk: Likewise.
11734 * conf/i386-ieee1275.rmk: Likewise.
11735 * conf/i386-pc.rmk: Likewise.
11736 * conf/powerpc-ieee1275.rmk: Likewise.
11737 * conf/sparc64-ieee1275.rmk: Likewise.
11738 * conf/x86_64-efi.rmk: Likewise.
11739 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
11740 (usage): Fix strings to use `program_name'.
11741 (main): Initialize gettext.
11742 * util/grub-editenv.c: Likewise.
11743 * util/grub-emu.c: Likewise.
11744 * util/grub-fstest.c: Likewise.
11745 * util/grub-mkdevicemap.c: Likewise.
11746 * util/grub-mkfont.c: Likewise.
11747 * util/grub-mkrelpath.c: Likewise.
11748 * util/grub-pe2elf.c: Likewise.
11749 * util/grub-probe.c: Likewise.
11750 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11751 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11752 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11753
11754 * util/misc.c: Include `"progname.h"'.
11755 (progname): Remove variable.
11756 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
11757
6f61ed55
FZ
117582009-11-25 Felix Zielcke <fzielcke@z-51.de>
11759
11760 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
11761 printf and print a newline after the menuentry header line.
11762 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11763
f022876b
FZ
117642009-11-25 Felix Zielcke <fzielcke@z-51.de>
11765
11766 autoconf >= 2.60 support $(localedir).
11767
11768 * INSTALL: Note that autoconf 2.60 is required.
11769 * configure.ac (AC_PREREQ): Bump to 2.60.
11770 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
11771 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11772
6717926e
YB
117732009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
11774
11775 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
11776 aclocal is run.
11777
08806a54
RM
117782009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11779
11780 * normal/main.c (grub_normal_read_line): Fix off-by-one
11781 buffer overflow.
11782
13b33fba
RM
117832009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11784
11785 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
11786 "parser.grub" in grub_command_execute() call.
11787
4a8572e9
CPE
117882009-11-24 Carles Pina i Estany <carles@pina.cat>
11789
11790 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
11791 * conf/i386-efi.rmk: Likewise.
11792 * conf/i386-ieee1275.rmk: Likewise.
11793 * conf/i386-pc.rmk: Likewise.
11794 * conf/powerpc-ieee1275.rmk: Likewise.
11795 * conf/sparc64-ieee1275.rmk: Likewise.
11796 * conf/x86_64-efi.rmk: Likewise.
11797 * gettext/gettex.c: Include <grub/i18n.h>.
11798 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
11799 here ...
11800 * include/grub/i18n.h: ... to here
11801 * include/grub/i18n.h: ... to here.
11802 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 11803 (grub_gettext_dummy): Move above user.
4a8572e9 11804
bee48093
FZ
118052009-11-24 Felix Zielcke <fzielcke@z-51.de>
11806
11807 * util/Makefile.in (install-local): Convert a `for' into a normal
11808 shell expansion.
11809
a031e91c
RM
118102009-11-24 Robert Millan <rmh.grub@aybabtu.com>
11811
11812 * autogen.sh: Add automake call.
11813 * config.guess: Remove.
11814 * config.sub: Likewise.
11815 * install-sh: Likewise.
11816
26bec39d
FZ
118172009-11-24 Felix Zielcke <fzielcke@z-51.de>
11818
11819 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
11820
8e2532fd
FZ
118212009-11-24 Felix Zielcke <fzielcke@z-51.de>
11822
11823 * util/Makefile.in (install-local): Convert a make `$(foreach)'
11824 function to a normal shell `for'.
11825
fefa1b7d
FZ
118262009-11-24 Felix Zielcke <fzielcke@z-51.de>
11827
11828 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11829
4501250b
FZ
118302009-11-24 Felix Zielcke <fzielcke@z-51.de>
11831
11832 * util/grub-mkrelpath.c: New file.
11833 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
11834 (grub_mkrelpath_SOURCES): New variable.
11835 * include/grub/util/misc.h: New function prototype.
11836 * util/misc.c (make_system_path_relative_to_its_root): New function.
11837
11838 * util/grub-mkconfig_lib.in (bindir): New variable.
11839 (grub_mkrelpath): Likewise.
11840 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
11841
11842 * util/probe.c (probe): Make the file path relative to its root.
11843 Change a info message to use the GRUB path. Enable again the
11844 check if we can read the file with GRUB facilities.
11845
11846 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
11847 to its root.
11848
11d9778b
FZ
118492009-11-24 Felix Zielcke <fzielcke@z-51.de>
11850
11851 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
11852 platform.
11853
4465287d
FZ
118542009-11-24 Felix Zielcke <fzielcke@z-51.de>
11855
11856 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
11857 strncmp().
11858
62b47f22
FZ
118592009-11-24 Felix Zielcke <fzielcke@z-51.de>
11860
11861 * util/getroot.c (grub_util_is_dmraid): New function.
11862 (grub_util_get_dev_abstraction): Treat dmraid and multipath
11863 devices as normal ones, not as LVM.
11864
1eafb9b9 118652009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
11866
11867 * conf/common.rmk: Add grub-gettext_lib target and updates
11868 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
11869 LDFLAGS.
11870 * gettext/gettext.c: New file. (Reads mo files).
11871 * include/grub/file.h (grub_file_pread): New prototype.
11872 * include/grub/i18n.h (_): New prototype.
11873 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
11874 prototypes.
11875 * kern/misc.c (grub_gettext_dummy): New function.
11876 * normal/menu_text.c: Include <grub/i18n.h>.
11877 * normal/menu_text.c (print_timeout): Gettexttize string.
11878 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
11879 * po/POTFILES: Add `normal/menu_text.c'.
11880 * po/ca.po: Add new translations.
c3ea6bd4
CPE
11881 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
11882 gettext module and defines locale_dir and lang in grub.cfg.
11883 * NEWS: Add gettext support.
11884
0fdb2568
RM
118852009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11886
11887 * util/hostdisk.c: Include `<grub/i18n.h>'.
11888 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
11889 (make_device_name): Rewrite using asprintf.
11890 (convert_system_partition_to_system_disk): Replace 0 with NULL.
11891 (find_system_device): If a device is not found, generate one just
11892 by reusing the OS path name.
11893 (read_device_map): Make it permissible for device.map not to exist.
11894
f515aa62
RM
118952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11896
11897 * script/sh/execute.c: Move from here ...
11898 * script/execute.c: ... to here. Update all users.
11899 * script/sh/function.c: Move from here ...
11900 * script/function.c: ... to here. Update all users.
11901 * script/sh/lexer.c: Move from here ...
11902 * script/lexer.c: ... to here. Update all users.
11903 * script/sh/main.c: Move from here ...
11904 * script/main.c: ... to here. Update all users.
11905 * script/sh/parser.y: Move from here ...
11906 * script/parser.y: ... to here. Update all users.
11907 * script/sh/script.c: Move from here ...
11908 * script/script.c: ... to here. Update all users.
11909
f84b481b
RM
119102009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11911
11912 * configure.ac: Detect all `emu' platforms. Define
11913 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
11914 --enable-grub-emu logic. Disable include/grub/machine
11915 symlink on `emu' platforms.
11916
11917 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
11918 * gensymlist.sh.in: Likewise.
11919
11920 * include/grub/i386/coreboot/machine.h: Remove file.
11921 * include/grub/i386/efi/machine.h: Likewise.
11922 * include/grub/i386/ieee1275/machine.h: Likewise.
11923 * include/grub/i386/pc/machine.h: Likewise.
11924 * include/grub/i386/qemu/machine.h: Likewise.
11925 * include/grub/powerpc/ieee1275/machine.h: Likewise.
11926 * include/grub/sparc64/ieee1275/machine.h: Likewise.
11927 * include/grub/x86_64/efi/machine.h: Likewise.
11928
11929 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
11930 * commands/halt.c: Likewise.
11931 * commands/reboot.c: Likewise.
11932 * include/grub/autoefi.h: Likewise.
11933 * include/grub/i386/at_keyboard.h: Likewise.
11934 * include/grub/i386/kernel.h: Likewise.
11935 * include/grub/i386/loader.h: Likewise.
11936 * include/grub/i386/pc/memory.h: Likewise.
11937 * kern/dl.c: Likewise.
11938 * kern/i386/coreboot/init.c: Likewise.
11939 * loader/i386/bsd.c: Likewise.
11940 * loader/i386/linux.c: Likewise.
11941 * loader/multiboot_loader.c: Likewise.
11942 * term/i386/pc/serial.c: Likewise.
11943 * term/usb_keyboard.c: Likewise.
11944
11945 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
11946 `<grub/machine/machine.h>'
11947 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
11948 * util/misc.c: Remove `<grub/machine/machine.h>' and
11949 `<grub/machine/time.h>'.
11950
11951 * Makefile.in (enable_grub_emu): Remove variable.
11952 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
11953
11954 * conf/any-emu.rmk: New file.
11955 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
11956 (grub_emu_init.c): Move from here ...
11957 * conf/any-emu.rmk: ... to here.
11958
11959 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
11960 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
11961 * conf/any-emu.rmk: ... to here.
11962
4efeab03
RM
119632009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11964
11965 * include/grub/parser.h (grub_parser_register): Document need
11966 of `name' parameter.
11967 * normal/main.c (grub_normal_read_line): Simplify prompt string.
11968 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
11969 "sh" to "grub".
11970
ea1dd8bf
RM
119712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11972
11973 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
11974 `$(XGETTEXT)'.
11975 * include/grub/i18n.h (N_): New macro.
11976 * util/mkisofs/mkisofs.h: Likewise.
11977 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
11978 around N_().
11979 (usage): Use gettext() to translate help strings when printing them.
11980
0c140626
RM
119812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11982
11983 Based on patch from Bean
11984 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11985
11986 * video/efi_fb.c: New file.
11987 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
11988 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11989 variables.
11990 * conf/x86_64-efi.rmk: Likewise.
11991
87d58298
RM
119922009-11-22 Robert Millan <rmh.grub@aybabtu.com>
11993
11994 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
11995 * util/i386/pc/grub-setup.c: Likewise.
11996
994cc3a3
ST
119972009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11998
11999 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
12000 <hurd/fs.h>
12001 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
12002 file_get_storage_info to implement grub_guess_root_device.
12003
26a61d6a
FZ
120042009-11-21 Felix Zielcke <fzielcke@z-51.de>
12005
12006 * Makefile.in (target): Use make's builtin $(shell) function
12007 instead of calling directly $(SHELL) to create the locale directories,
12008 inside the $(foreach) function.
12009
74ff1dd5
FZ
120102009-11-21 Felix Zielcke <fzielcke@z-51.de>
12011
12012 * util/grub-mkrescue.in: Print an error and usage if output option
12013 has not been given.
12014
0b787d0e
FZ
120152009-11-21 Felix Zielcke <fzielcke@z-51.de>
12016
12017 Patch from Loïc Minier <loic.minier@ubuntu.com>.
12018 * util/grub.d/30_os-prober.in: Cope with Linux entries where
12019 root and /boot are on different devices.
12020
1164b270
RM
120212009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12022
12023 Fix build for srcdir != objdir.
12024
12025 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
12026 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
12027 $(srcdir).
12028 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
12029 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
12030 reference for input.
12031
13774a2f
RM
120322009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12033
12034 * util/grub-mkrescue.in: Use source directory direcly (without copiing
12035 or hardlinking it). Remove -J option, Joliet is not compatible with
12036 multiple source directories.
12037
efda854e
RM
120382009-11-21 Carles Pina i Estany <carles@pina.cat>
120392009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12040
12041 * util/grub-mkrescue.in: Recognize `--override-directory' option.
12042 (process_input_dir): New function. Process an arbitrary input
12043 directory.
12044 Misc adjustments to support both "override mode" and system-wide mode.
12045
6c09890c
FZ
120462009-11-20 Felix Zielcke <fzielcke@z-51.de>
12047
12048 * configure.ac (UNIFONT_BDF): Rename to ...
12049 (FONT_SOURCE): ... this. Update all users.
12050
a797824f
FZ
120512009-11-20 Felix Zielcke <fzielcke@z-51.de>
12052
12053 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
12054 to the list of unifont files to look for.
12055
cd4f42b0
RM
120562009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12057
12058 Patch from Joe Auricchio <jauricchio@gmail.com>
12059 * commands/minicmd.c (grub_mini_cmd_clear): New function.
12060 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
12061 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
12062
393c783d
FZ
120632009-11-19 Felix Zielcke <fzielcke@z-51.de>
12064
12065 * Makefile.in (install-local): Add a missing backslash.
12066
b2f1e327
FZ
120672009-11-19 Felix Zielcke <fzielcke@z-51.de>
12068
12069 * include/grub/x86_64/io.h: New file.
12070
f577f7a0
RM
120712009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12072
12073 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
12074 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
12075 Include `"progname.h"'.
12076 (main): Initialize gettext.
12077 * util/i386/pc/grub-setup.c: Gettexttize.
12078 * util/i386/pc/grub-mkimage.c: Likewise.
12079
12080 * Makefile.in (po/*.po): Redefine as ...
12081 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
12082
3bc7896c
RM
12083 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
12084
c37943b6
RM
120852009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12086
12087 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
12088 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
12089 (program_name): Remove.
12090 (main): Initialize gettext support.
6323f705
RM
12091 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
12092 Include `<libintl.h>'.
12093 (_): New macro.
c37943b6
RM
12094
12095 * util/mkisofs/eltorito.c: Gettexttize.
12096 * util/mkisofs/joliet.c: Likewise.
12097 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
12098 * util/mkisofs/multi.c: Likewise.
12099 * util/mkisofs/rock.c: Likewise.
12100 * util/mkisofs/tree.c: Likewise.
12101 * util/mkisofs/write.c: Likewise.
12102
3bc7896c
RM
12103 * po/POTFILES: Update with new files.
12104
5ce77c6e
RM
121052009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12106
12107 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
12108 * util/mkisofs/iso9660.h: Likewise.
12109 * util/mkisofs/joliet.c: Likewise.
12110 * util/mkisofs/mkisofs.c: Likewise.
12111 * util/mkisofs/mkisofs.h: Likewise.
12112 * util/mkisofs/rock.c: Likewise.
12113 * util/mkisofs/tree.c: Likewise.
12114 * util/mkisofs/write.c: Likewise.
12115
12116 * util/mkisofs/eltorito.c (rcsid): Remove.
12117 * util/mkisofs/hash.c: Likewise.
12118 * util/mkisofs/joliet.c: Likewise.
12119 * util/mkisofs/name.c: Likewise.
12120 * util/mkisofs/rock.c: Likewise.
12121 * util/mkisofs/tree.c: Likewise.
12122 * util/mkisofs/write.c: Likewise.
12123
1dabbc77
RM
121242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12125
12126 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
12127 instead of static allocation.
12128 * util/mkisofs/match.h: Likewise.
12129
633877cb
RM
121302009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12131
3bc7896c
RM
12132 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
12133 and `util/grub.d/10_linux.in'.
633877cb
RM
12134 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
12135 translatable Shell files.
12136
af1c0c85
RM
121372009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12138
12139 * Makefile.in ($(srcdir)/aclocal.m4): New target.
12140
769ae37b
RM
121412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12142
12143 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 12144 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
12145 * util/grub.d/10_kfreebsd.in (bindir): New variable.
12146 Add gettext initialization.
12147 (kfreebsd_entry): Make menuentry output translatable.
12148
121492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12150
12151 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
12152 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
12153 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
12154 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
12155 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 12156 * po/LINGUAS: New file.
769ae37b
RM
12157
121582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12159
12160 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
12161 other things).
12162 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
12163 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
12164 bindtextdomain() calls for gettext initialization.
12165
121662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12167
12168 * gnulib/progname.c: New file (imported from Gnulib).
12169 * gnulib/progname.h: Likewise.
12170 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12171 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
12172 (usage): Replace `progname' with `program_name'.
12173 (main): Use set_program_name() for program name initialization.
12174
121752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12176
12177 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
12178 from here ...
12179 * Makefile.in (CPPFLAGS): ... to here.
12180
121812009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12182
12183 * aclocal.m4: Move from here ...
12184 * acinclude.m4: ... to here.
12185 * autogen.sh: Add call to `aclocal'.
12186 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
12187
121882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12189
12190 * Makefile.in (CLEANFILES): Add `po/*.mo'.
12191 (LINGUAS): New variable.
12192 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
12193 (install-local): Install MO files.
12194 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
12195 * include/grub/i18n.h: New file.
3bc7896c
RM
12196 * po/POTFILES: New file.
12197 * po/ca.po: New file.
769ae37b
RM
12198 * util/grub.d/10_linux.in (bindir): New variable.
12199 Add gettext initialization.
12200 (linux_entry): Make menuentry output translatable.
12201 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
12202 (usage): Make --help output translatable.
12203 (main): Initialize gettext.
12204
02c0a6ad
RM
122052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12206
12207 * import_gcry.py: New file (written by Vladimir with minor
12208 adjustments).
12209 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
12210 ciphers.
12211 * INSTALL: Document that Python is required for bootstrap.
12212
122132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12214
12215 Import ciphers from libgcrypt 1.4.4.
12216
12217 * lib/libgcrypt/cipher/ChangeLog
12218 * lib/libgcrypt/cipher/ac.c
12219 * lib/libgcrypt/cipher/arcfour.c
12220 * lib/libgcrypt/cipher/bithelp.h
12221 * lib/libgcrypt/cipher/blowfish.c
12222 * lib/libgcrypt/cipher/camellia-glue.c
12223 * lib/libgcrypt/cipher/camellia.c
12224 * lib/libgcrypt/cipher/camellia.h
12225 * lib/libgcrypt/cipher/cast5.c
12226 * lib/libgcrypt/cipher/cipher.c
12227 * lib/libgcrypt/cipher/crc.c
12228 * lib/libgcrypt/cipher/des.c
12229 * lib/libgcrypt/cipher/dsa.c
12230 * lib/libgcrypt/cipher/ecc.c
12231 * lib/libgcrypt/cipher/elgamal.c
12232 * lib/libgcrypt/cipher/hash-common.c
12233 * lib/libgcrypt/cipher/hash-common.h
12234 * lib/libgcrypt/cipher/hmac-tests.c
12235 * lib/libgcrypt/cipher/md.c
12236 * lib/libgcrypt/cipher/md4.c
12237 * lib/libgcrypt/cipher/md5.c
12238 * lib/libgcrypt/cipher/primegen.c
12239 * lib/libgcrypt/cipher/pubkey.c
12240 * lib/libgcrypt/cipher/rfc2268.c
12241 * lib/libgcrypt/cipher/rijndael-tables.h
12242 * lib/libgcrypt/cipher/rijndael.c
12243 * lib/libgcrypt/cipher/rmd.h
12244 * lib/libgcrypt/cipher/rmd160.c
12245 * lib/libgcrypt/cipher/rsa.c
12246 * lib/libgcrypt/cipher/seed.c
12247 * lib/libgcrypt/cipher/serpent.c
12248 * lib/libgcrypt/cipher/sha1.c
12249 * lib/libgcrypt/cipher/sha256.c
12250 * lib/libgcrypt/cipher/sha512.c
12251 * lib/libgcrypt/cipher/tiger.c
12252 * lib/libgcrypt/cipher/twofish.c
12253 * lib/libgcrypt/cipher/whirlpool.c
12254
af2f93ac
RM
122552009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12256
12257 Fix build for systems without error().
12258
12259 * gnulib/error.c: New file (imported from Gnulib).
12260 * gnulib/error.h: Likewise.
12261 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
12262 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
12263 (this variable is now used by error()).
12264
73fb3dd5
FZ
122652009-11-16 Felix Zielcke <fzielcke@z-51.de>
12266
814f5e96
FZ
12267 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
12268 instead of relying that char is signed.
73fb3dd5 12269
a691ca33
VS
122702009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
12273 blocksize different from specified.
12274 (grub_pxefs_read): Likewise.
12275
2af8f0f4
FZ
122762009-11-16 Felix Zielcke <fzielcke@z-51.de>
12277
12278 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
12279
12280 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
12281 (grub_ata_readwrite): Likewise. Update 2 format strings.
12282 (grub_atapi_read): Likewise.
12283
12284 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
12285 * conf/i386.rmk (pkglib_MODULES): ... to here ...
12286 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
12287 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
12288 (ata_mod_LDFLAGS): Move from here ...
12289 * conf/i386.rmk: ... to here ...
12290 * conf/x86_64-efi.rmk: ... and here.
12291 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
12292 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
12293
83bdecaf
RM
122942009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12295
12296 Relicense multiboot.h, with RMS' blessing.
12297
12298 * include/multiboot.h: Change to X11 license.
12299
fd6fd3d7
RM
123002009-11-15 Robert Millan <rmh.grub@aybabtu.com>
12301
12302 Support --version in grub-mkisofs.
12303
12304 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
12305 (OPTION_VERSION): New macro.
12306 (ld_options): Recognize --version.
12307 (usage): Move `program_name' from here ...
12308 (program_name): ... to here. Add `static' qualifier.
12309 (main): Recognize `OPTION_VERSION'.
12310
16a88c49
FZ
123112009-11-15 Felix Zielcke <fzielcke@z-51.de>
12312
12313 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
12314 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
12315
a4158476
RM
123162009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12317
12318 Fix help2man generation for mkisofs.
12319
12320 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
12321 (usage): Send output to stdout (rather than stderr).
12322
fc2208b0
RM
123232009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12324
12325 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
12326 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12327 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
12328 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12329 (bin_SCRIPTS): Add `grub-mkfloppy'.
12330 (grub_mkfloppy_SOURCES): New variable.
12331
12332 * util/grub-mkrescue.in: New file.
12333 * util/i386/pc/grub-mkfloppy.in: New file.
12334
12335 * util/i386/coreboot/grub-mkrescue.in: Remove.
12336 * util/i386/pc/grub-mkrescue.in: Remove.
12337
8d0edf4a
RM
123382009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12339
12340 * include/grub/multiboot.h (struct grub_multiboot_header): Move
12341 from here ...
12342 * include/multiboot.h (struct multiboot_header): ... to here. Update
12343 all users.
12344 * include/grub/multiboot.h (struct grub_multiboot_info): Move
12345 from here ...
12346 * include/multiboot.h (struct multiboot_info): ... to here. Update
12347 all users.
12348 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
12349 from here ...
12350 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
12351 Update all users.
12352 * include/grub/multiboot.h (struct grub_mod_list): Move
12353 from here ...
12354 * include/multiboot.h (struct multiboot_mod_list): ... to here.
12355 Update all users.
12356
a73f5969
RM
123572009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12358
12359 * include/multiboot2.h (multiboot_word): Rename from this ...
12360 (multiboot2_word): ... to this. Update all users.
12361 (multiboot_header): Rename from this ...
12362 (multiboot2_header): ... to this. Update all users.
12363 (multiboot_tag_header): Rename from this ...
12364 (multiboot2_tag_header): ... to this. Update all users.
12365 (multiboot_tag_start): Rename from this ...
12366 (multiboot2_tag_start): ... to this. Update all users.
12367 (multiboot_tag_name): Rename from this ...
12368 (multiboot2_tag_name): ... to this. Update all users.
12369 (multiboot_tag_module): Rename from this ...
12370 (multiboot2_tag_module): ... to this. Update all users.
12371 (multiboot_tag_memory): Rename from this ...
12372 (multiboot2_tag_memory): ... to this. Update all users.
12373 (multiboot_tag_unused): Rename from this ...
12374 (multiboot2_tag_unused): ... to this. Update all users.
12375 (multiboot_tag_end): Rename from this ...
12376 (multiboot2_tag_end): ... to this. Update all users.
12377
1c8927f0
RM
123782009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12379
12380 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
12381 this platform we should support Multiboot1 first.
12382
12383 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12384 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
12385 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
12386
6e1e0d89
RM
123872009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12388
12389 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
12390 of write calls (converting them to fwrite() if they aren't already).
12391 (get_torito_desc): Likewise.
12392 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
12393
7f2b34d8
RM
123942009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12395
12396 * util/i386/pc/grub-install.in: Move from here ...
12397 * util/grub-install.in: ... to here. Update all users.
12398
c0ef3311
CW
123992009-11-11 Colin Watson <cjwatson@ubuntu.com>
12400
12401 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
12402
e1f240ff
RM
124032009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12404
12405 Support for El Torito without floppy emulation.
12406
12407 * util/mkisofs/eltorito.c: Include `<errno.h>'.
12408 (init_boot_catalog): Improve error handling.
12409 (get_torito_desc): Don't use floppy emulation unless requested by
12410 user. Patch boot information table when requested via
12411 `-boot-info-table'.
12412 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
12413 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
12414 (use_boot_info_table): New variables.
12415 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
12416 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
12417 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
12418 `--eltorito-emul-floppy'.
12419 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
12420 and `OPTION_ELTORITO_EMUL_FLOPPY'.
12421 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
12422 (use_boot_info_table, get_731): New prototypes.
12423 * util/mkisofs/write.c (get_731): New function.
12424
af7d4de5
FZ
124252009-11-11 Felix Zielcke <fzielcke@z-51.de>
12426
12427 Fix the generation of the man page.
12428
12429 * util/pc/i386/grub-install.in: Source
12430 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12431
2c55dbc0
RM
124322009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12433
12434 Large file support for grub-mkisofs.
12435
12436 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
12437 * util/mkisofs/mkisofs.c (next_extent, last_extent)
12438 (session_start): Upgrade type to `uint64_t'. Update all users.
12439 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
12440 (struct directory_entry): Upgrade type of `starting_block' and
12441 `size' to `uint64_t'. Update all users.
12442 (struct deferred): Remove unused structure.
12443 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
12444 Update all users.
12445 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
12446 file is larger than `UINT32_MAX'.
12447 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
12448 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
12449 return value.
12450 (struct deferred_write): Upgrade type of `extent' and `size' to
12451 `uint64_t'. Update all users.
12452 (last_extent_written): Upgrade type to `uint64_t'. Update all
12453 users.
12454 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
12455 Update all users. Upgrade type of `remain' to `int64_t' and
12456 `use' to `size_t'. Use error() to handle fread() errors.
12457 (write_files): Rely on write_one_file() rather than calling
12458 xfwrite() directly.
12459
6a9cead5
FZ
124602009-11-09 Felix Zielcke <fzielcke@z-51.de>
12461
12462 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
12463
4825d790
RM
124642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12465
12466 * util/mkisofs/fnmatch.c: Remove.
12467 * util/mkisofs/getopt1.c: Likewise.
12468 * util/mkisofs/getopt.c: Likewise.
12469 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
12470 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
12471 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
12472 `gnulib/getopt1.c' and `gnulib/getopt.c'.
12473 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
12474
12475 * configure.ac: Detect `mingw32msvc' host_os.
12476 Check for lstat(), getuid() and getgid().
12477
12478 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
12479 instances of `u_char' with `uint8_t'.
12480
12481 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
12482 [!HAVE_GETUID] (getuid): New function (stub).
12483 [!HAVE_GETGID] (getgid): Likewise.
12484 [!HAVE_LSTAT] (lstat): Likewise.
12485 [!S_IROTH] (S_IROTH): New macro (dummy).
12486 [!S_IRGRP] (S_IRGRP): Likewise.
12487
84b860d8
RM
124882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12489
12490 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
12491 conditional expression).
12492
66e9b712
RM
124932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12494
12495 Import from Gnulib.
12496
12497 * gnulib/fnmatch.c: New file.
12498 * gnulib/fnmatch.h: Likewise.
12499 * gnulib/fnmatch_loop.c: Likewise.
12500 * gnulib/getopt.c: Likewise.
12501 * gnulib/getopt.h: Likewise.
12502 * gnulib/getopt1.c: Likewise.
12503 * gnulib/getopt_int.h: Likewise.
12504 * gnulib/gettext.h: Likewise.
12505
34f4a5b0
RM
125062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12507
12508 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
12509 * normal/handler.c (read_handler_list): Likewise.
12510
ac451143
RM
125112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12512
12513 Misc cleanup.
12514
12515 * kern/command.c (grub_register_command_prio): Use
12516 grub_zalloc() instead of explicitly zeroing data.
12517 * kern/list.c: Include `<grub/mm.h>'.
12518 (grub_named_list_find): Replace `0' with `NULL'.
12519 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
12520 (fs_module_list): Change type to `grub_named_list_t'. Update all
12521 users.
12522 * normal/dyncmd.c (read_command_list): Add space between function
12523 call and parenthesis.
12524 * normal/handler.c (read_handler_list): Likewise.
12525
4089b167
RM
125262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12527
12528 * normal/auth.c (punishment_delay): Moved from here ...
12529 (grub_auth_strcmp): ... to here (inside function).
12530
325f5037
RM
125312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12532
12533 * include/grub/list.h (struct grub_named_list): Remove `const'
12534 qualifier from `name'.
12535 (struct grub_prio_list): Likewise.
12536
7aea29a3
RM
125372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12538
12539 * normal/auth.c: Include `<grub/time.h>'.
12540 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
12541
3fd6f044
RM
125422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12543
12544 * normal/auth.c (punishment_delay): New variable.
12545 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
12546 (grub_auth_check_authentication): Punish failed login attempts with
12547 an incremental (2^N) delay.
12548
a4cd68e4
RM
125492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12550
12551 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
12552 path with $(srcdir).
12553
7ad12f43
VS
125542009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
12557
c1129f03
RM
125582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12559
12560 * util/i386/coreboot/grub-mkrescue.in: New file.
12561 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
12562 variables.
12563
12564 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
12565 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
12566 * configure.ac: Add header and function checks to satisfy grub-mkisofs
12567 requirements.
12568 * util/mkisofs/defaults.h: New file.
12569 * util/mkisofs/eltorito.c: Likewise.
12570 * util/mkisofs/exclude.h: Likewise.
12571 * util/mkisofs/fnmatch.c: Likewise.
12572 * util/mkisofs/getopt.c: Likewise.
12573 * util/mkisofs/getopt1.c: Likewise.
12574 * util/mkisofs/hash.c: Likewise.
12575 * util/mkisofs/include/fctldefs.h: Likewise.
12576 * util/mkisofs/include/mconfig.h: Likewise.
12577 * util/mkisofs/include/prototyp.h: Likewise.
12578 * util/mkisofs/include/statdefs.h: Likewise.
12579 * util/mkisofs/iso9660.h: Likewise.
12580 * util/mkisofs/joliet.c: Likewise.
12581 * util/mkisofs/match.c: Likewise.
12582 * util/mkisofs/match.h: Likewise.
12583 * util/mkisofs/mkisofs.c: Likewise.
12584 * util/mkisofs/mkisofs.h: Likewise.
12585 * util/mkisofs/multi.c: Likewise.
12586 * util/mkisofs/name.c: Likewise.
12587 * util/mkisofs/rock.c: Likewise.
12588 * util/mkisofs/tree.c: Likewise.
12589 * util/mkisofs/write.c: Likewise.
12590
ec8bb77d
VS
125912009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
12594 being insecure.
12595
3716b12c
RM
125962009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12597
12598 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
12599 `grub-mkimage' (and use $0 when possible).
12600
b97b7b91
RM
126012009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12602
12603 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
12604 error message for excessively large memory map.
12605
04114812
RM
126062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12607
12608 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
12609 executable bit.
12610
e4eb2373
RM
126112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12612
12613 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
12614 message for coreboot users.
12615
c926e1d5 126162009-11-07 Robert Millan <rmh.grub@aybabtu.com>
12617
12618 Fix build with GNU gold.
12619
12620 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
12621 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12622 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
12623 link addresses.
12624 * aclocal.m4: Likewise.
12625
86e5b1db 126262009-11-04 Felix Zielcke <fzielcke@z-51.de>
12627
12628 * configure.ac (AC_PREREQ): Bump to 2.59d.
12629 * INSTALL: Make it more clear when Autoconf and Ruby are
12630 needed and when to run `./autogen.sh'.
12631
246cd78f 126322009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
12633
12634 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
12635 OSes.
12636
4f9dfb37 126372009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12638
12639 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
12640
b82bd5e1 126412009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12642
12643 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
12644 giving it to GNU Mach.
12645
ff1a9bca 126462009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12647
12648 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
12649 GNU partition number to get internal GRUB partition number.
12650
61697d9c 126512009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12652
12653 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
12654 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
12655
a50569e1 126562009-11-01 Robert Millan <rmh.grub@aybabtu.com>
12657
12658 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
12659 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
12660 case.
12661
5b153867 126622009-11-01 Felix Zielcke <fzielcke@z-51.de>
12663
12664 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
12665
d9e2cd70 126662009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12667
12668 Fix build problem.
12669
12670 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
12671 `-isystem=$(srcdir)/include'.
12672
805111a4 126732009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12674
12675 * util/i386/pc/grub-install.in: Remove hint that device.map should be
12676 checked (grub-install doesn't currently rely on it).
12677
fa6e945f 126782009-10-29 Robert Millan <rmh.grub@aybabtu.com>
12679
12680 Revert SVN r2660.
12681
12682 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
12683 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12684 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
12685 * conf/i386-ieee1275.rmk: Likewise.
12686 * conf/i386-pc.rmk: Likewise.
12687 * conf/powerpc-ieee1275.rmk: Likewise.
12688 * conf/sparc64-ieee1275.rmk: Likewise.
12689 * conf/x86_64-efi.rmk: Likewise.
12690
cee15086 126912009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12692
12693 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
12694
95b9239e 126952009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12696
12697 * include/grub/misc.h: Stop checking for APPLE_CC.
12698
2ed19dfd 126992009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12700
12701 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
12702 doesn't cause an infinite call loop.
12703
fdcdde19 127042009-10-28 Felix Zielcke <fzielcke@z-51.de>
12705
12706 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
12707 strings.
12708
cefabfe1 127092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12710
12711 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
12712 variable.
12713 * Makefile.in: Likewise.
12714
ed96ab6d 127152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12716
12717 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
12718
0579b753 127192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12720
12721 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
12722
478df409 127232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12724
12725 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
12726
083d1679 127272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12728
12729 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
12730 from here ...
12731 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
12732
5947ae32 127332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12734
12735 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
12736 in $(MAKEINFO) invocation. This makes it clear in output that
12737 errors are being ignored.
12738
94180ff6 127392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12740
12741 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
12742 from here ...
12743 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12744 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
12745 * conf/i386-ieee1275.rmk: Likewise.
12746 * conf/i386-pc.rmk: Likewise.
12747 * conf/powerpc-ieee1275.rmk: Likewise.
12748 * conf/sparc64-ieee1275.rmk: Likewise.
12749 * conf/x86_64-efi.rmk: Likewise.
12750
9031b03a 127512009-10-26 Colin Watson <cjwatson@ubuntu.com>
12752
12753 * util/grub-editenv.c (main): If only a command is given, use
12754 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
12755 (usage): FILENAME is now optional and has a default.
12756
e4f6809b 127572009-10-26 Colin Watson <cjwatson@ubuntu.com>
12758
12759 Improve grub-mkconfig performance when there are several menu
12760 entries on a single filesystem.
12761
12762 * util/grub.d/10_linux.in (linux_entry): Cache the output of
12763 prepare_grub_to_access_device.
12764 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12765 * util/grub.d/30_os-prober.in: Likewise.
12766
67937d4d 127672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12768
12769 * util/grub.d/10_freebsd.in: Remove.
12770 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
12771 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
12772
ee3756cc 127732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12774
5c35048e 12775 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 12776
4dea1c6f 127772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12778
12779 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
12780 grub_util_error() call.
12781
042484d7 127822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12783
12784 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
12785 `reserved_first_sector' member.
12786 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
12787 `reserved_first_sector' to 1.
12788 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
12789 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
12790 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
12791 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
12792 filesystems which begin at first sector.
12793 (options): New option --skip-fs-probe.
12794 (main): Handle --skip-fs-probe and pass it to setup().
12795
d64448a7 127962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12797
12798 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
12799 (memset): Fix function prototype.
12800
508d42ec 128012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
128022009-10-25 Vasily Averin <vvs@parallels.com>
12803
12804 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
12805 `dirent.direntlen == 0'.
12806
b240e30c 128072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12808
12809 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
12810 `cpio'.
12811 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
12812
346e7fbe 128132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12814
12815 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
12816 `__trampoline_setup' and `__ucmpdi2'.
12817 * include/grub/powerpc/libgcc.h: Only export symbols for functions
12818 that libgcc provides.
12819
cdb308b0 128202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12821
12822 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
12823 * include/grub/sparc64/libgcc.h (memset): Likewise.
12824 * include/grub/misc.h (memset, memcmp): New function prototypes.
12825
fb26abc2 128262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12827
12828 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
12829 `cpio'.
12830 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
12831
f6693890 128322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12833
12834 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
12835 * docs/grub.cfg: Compensate for recent change in multiboot
12836 loader (since 2009-08-14 it won't pass filename to payload).
12837 * util/grub.d/10_hurd.in: Likewise.
12838
0933cdc0 128392009-10-21 Felix Zielcke <fzielcke@z-51.de>
12840
12841 * config.guess: Update to latest version from config git
12842 repository.
12843 * config.sub: Likewise.
12844
3b2fe8c2 128452009-10-20 Robert Millan <rmh.grub@aybabtu.com>
12846
12847 Fix build on sparc64.
12848
12849 * configure.ac: Perform checks for libgcc symbols before
12850 adding `-nostdlib' to LDFLAGS.
12851
46695a62 128522009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 Let user specify OpenBSD root device.
12855
12856 * loader/i386/bsd.c (openbsd_root): New variable.
12857 (openbsd_opts): New option 'root'.
12858 (OPENBSD_ROOT_ARG): New macro.
12859 (grub_openbsd_boot): Use 'openbsd_root'.
12860 (grub_cmd_openbsd): Fill 'openbsd_root'.
12861
d2b6b7fc 128622009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12863
12864 * NEWS: Misc adjustments.
12865
421bd7ac 128662009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
12869
f1d29d87 128702009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12871
12872 * configure.ac: Bump version to 1.97.
12873
6f3cd880 128742009-10-16 Colin Watson <cjwatson@ubuntu.com>
12875
12876 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
12877 -mno-3dnow on x86 architectures. Some toolchains enable these
12878 features by default, but they rely on registers that aren't enabled
12879 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
12880
035f7122 128812009-10-15 Robert Millan <rmh.grub@aybabtu.com>
12882
12883 Make entry text a bit more readable.
12884
12885 * util/grub.d/10_linux.in: Add `with' before `Linux'.
12886
44998e58 128872009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
12890
cd2851b3 128912009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
12894 operations.
12895
c6f3b249 128962009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * configure.ac: Add missing dollar.
12899
6b5886ba 129002009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
12903
12904 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
12905 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
12906 exports.
12907 * include/grub/sparc64/libgcc.h: Likewise. Use
12908 preprocessor conditionals.
12909
e9d66f6d 129102009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12911
12912 * conf/common.rmk (grub-dumpbios): Remove rule.
12913 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
12914 * util/grub-dumpbios.in: Remove file.
12915
9155bc17 129162009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12917
12918 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
12919 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
12920
12921 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
12922 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
12923 users.
12924
12925 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
12926 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
12927 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
12928 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
12929 users.
12930
bf7f7a18 129312009-10-12 Robert Millan <rmh.grub@aybabtu.com>
12932
12933 * term/tparm.c: Switch to GPLv3.
12934
86564c26 129352009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12936
12937 * include/grub/i386/cpuid.h: Add header protection.
12938
5c936493 129392009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12940
12941 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
12942
12943 * include/grub/i386/cpuid.h: New file.
12944 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
12945 (has_longmode): Rename to ...
12946 (grub_cpuid_has_longmode): ... this. Update all users. Remove
12947 `static' attribute.
12948 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
12949 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
12950 on a CPU that doesn't implement AMD64 instruction set.
12951
186e7cf2 129522009-10-06 Colin Watson <cjwatson@ubuntu.com>
12953
12954 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
12955 that version.texi is rebuilt on version number changes.
12956
83b65c4a 129572009-10-06 Colin Watson <cjwatson@ubuntu.com>
12958
12959 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
12960 Fixes bug #27602.
12961
d244281c 129622009-10-06 Colin Watson <cjwatson@ubuntu.com>
12963
12964 * util/i386/pc/grub-install.in: Source
12965 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
12966 that the --grub-probe option will work.
12967 * util/sparc64/ieee1275/grub-install.in: Likewise.
12968
da25306d 129692009-10-05 Robert Millan <rmh.grub@aybabtu.com>
12970
12971 * configure.ac: Bump version to 1.97~beta4.
12972
e8ee83c0 129732009-10-03 Robert Millan <rmh.grub@aybabtu.com>
12974
12975 Resync grub-mkdevicemap in x86_64-efi.
12976
12977 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
12978 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
12979 `util/devicemap.c'.
12980
50dcabcf 129812009-10-01 Colin Watson <cjwatson@ubuntu.com>
12982
12983 * util/grub-editenv.c (create_envblk_file): Write new block with a
12984 .new suffix and then rename it into place, to ensure atomic
12985 creation.
12986
0e51c3a7 129872009-09-28 Robert Millan <rmh.grub@aybabtu.com>
12988
12989 Do not automatically install headers.
12990
12991 * Makefile.in (include_DATA): Remove. Update all users.
12992
31299a95 129932009-09-26 Robert Millan <rmh.grub@aybabtu.com>
12994
12995 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
12996 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
12997
12998 * util/osdetect.lua: Remove.
12999 * script/lua/lauxlib.c: Likewise.
13000 * script/lua/ldebug.c: Likewise.
13001 * script/lua/grub_main.c: Likewise.
13002 * script/lua/lauxlib.h: Likewise.
13003 * script/lua/ldebug.h: Likewise.
13004 * script/lua/ltablib.c: Likewise.
13005 * script/lua/liolib.c: Likewise.
13006 * script/lua/lstrlib.c: Likewise.
13007 * script/lua/lualib.h: Likewise.
13008 * script/lua/ldo.c: Likewise.
13009 * script/lua/ldump.c: Likewise.
13010 * script/lua/ldo.h: Likewise.
13011 * script/lua/loslib.c: Likewise.
13012 * script/lua/lundump.c: Likewise.
13013 * script/lua/grub_lib.c: Likewise.
13014 * script/lua/ldblib.c: Likewise.
13015 * script/lua/lundump.h: Likewise.
13016 * script/lua/lmem.c: Likewise.
13017 * script/lua/grub_lib.h: Likewise.
13018 * script/lua/lmathlib.c: Likewise.
13019 * script/lua/lstate.c: Likewise.
13020 * script/lua/ltm.c: Likewise.
13021 * script/lua/lvm.c: Likewise.
13022 * script/lua/lmem.h: Likewise.
13023 * script/lua/lstate.h: Likewise.
13024 * script/lua/ltm.h: Likewise.
13025 * script/lua/ltable.c: Likewise.
13026 * script/lua/lvm.h: Likewise.
13027 * script/lua/llex.c: Likewise.
13028 * script/lua/lgc.c: Likewise.
13029 * script/lua/grub_lua.h: Likewise.
13030 * script/lua/loadlib.c: Likewise.
13031 * script/lua/lfunc.c: Likewise.
13032 * script/lua/lopcodes.c: Likewise.
13033 * script/lua/lparser.c: Likewise.
13034 * script/lua/ltable.h: Likewise.
13035 * script/lua/llex.h: Likewise.
13036 * script/lua/lgc.h: Likewise.
13037 * script/lua/lfunc.h: Likewise.
13038 * script/lua/lbaselib.c: Likewise.
13039 * script/lua/lopcodes.h: Likewise.
13040 * script/lua/lparser.h: Likewise.
13041 * script/lua/lzio.c: Likewise.
13042 * script/lua/linit.c: Likewise.
13043 * script/lua/lobject.c: Likewise.
13044 * script/lua/llimits.h: Likewise.
13045 * script/lua/lstring.c: Likewise.
13046 * script/lua/lzio.h: Likewise.
13047 * script/lua/lapi.c: Likewise.
13048 * script/lua/lcode.c: Likewise.
13049 * script/lua/lua.h: Likewise.
13050 * script/lua/lobject.h: Likewise.
13051 * script/lua/lstring.h: Likewise.
13052 * script/lua/lapi.h: Likewise.
13053 * script/lua/lcode.h: Likewise.
13054 * script/lua/luaconf.h: Likewise.
13055
cb8a2c38 130562009-09-26 Colin Watson <cjwatson@ubuntu.com>
13057
13058 * docs/grub.texi (Command-line and menu entry commands): Document
13059 date and echo commands.
13060
6b9b6276 130612009-09-24 Pavel Roskin <proski@gnu.org>
13062
13063 * include/grub/kernel.h (struct grub_module_header): Remove
13064 `grub_module_header_types'. Make `type' unsigned. Make `size'
13065 32-bit on all platforms.
13066 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
13067 8-bit field. Use grub_host_to_target32() for `size'.
13068 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
13069 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
13070 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
13071
4e5a02a7 130722009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13073
13074 Fix "lost keypress" bug in at_keyboard.
13075
13076 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
13077 Checks for readyness of input buffer (without flushing it).
13078 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
13079 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
13080
c6dcedf6 130812009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13082
13083 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
13084 size check within GRUB_MACHINE_PCBIOS section.
13085
74c958b1 130862009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13087
13088 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
13089 return value.
13090 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
13091 KEYBOARD_ISREADY check.
13092 (grub_at_keyboard_checkkey): Rename to ...
13093 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
13094 Remove gratuitous cast.
13095
ff420223 130962009-09-23 Colin Watson <cjwatson@ubuntu.com>
13097
13098 * configure.ac: Call AC_PROG_MKDIR_P.
13099 * Makefile.in (docs/stamp-vti): Create docs directory. Create
13100 version.texi in $(builddir) rather than $(srcdir).
13101 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
13102 to makeinfo's @include search path.
13103
d96875df 131042009-09-23 Felix Zielcke <fzielcke@z-51.de>
13105
13106 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
13107
9b3f8365 131082009-09-23 Felix Zielcke <fzielcke@z-51.de>
13109
13110 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
13111 for `*.dpkg-new'.
13112
c44c90db 131132009-09-21 Colin Watson <cjwatson@ubuntu.com>
13114
13115 Build info documentation. Some code borrowed from Automake.
13116
13117 * configure.ac: Check for makeinfo.
13118 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
13119 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
13120 docs/version.texi.
13121 (MOSTLYCLEANFILES): Add vti.tmp.
13122 (docs/version.texi, docs/stamp-vti): Update automatically.
13123 (docs/grub.info): Build info documentation. Use --force and ignore
13124 errors for now.
13125 (all-local): Add $(INFOS).
13126 (install-local): Install info files.
13127 (uninstall): Uninstall info files.
13128 * docs/version.texi: Remove from revision control. This file is
13129 automatically generated on build now.
13130 * gendistlist.sh: Add `*.info'.
13131
e0b37bb5 131322009-09-21 Felix Zielcke <fzielcke@z-51.de>
13133
13134 * kern/term.c: Fix indentation.
13135
5a78865b 131362009-09-21 Felix Zielcke <fzielcke@z-51.de>
13137
13138 * util/hostdisk.c: Fix a comment.
13139
dace7e8a 131402009-09-20 Robert Millan <rmh.grub@aybabtu.com>
13141
13142 Fix regression introduced in r2539.
13143
13144 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
13145 to 0xA1.
13146
a83d079b 131472009-09-19 Colin Watson <cjwatson@ubuntu.com>
13148
13149 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 13150 os-prober. Under normal operation, it does not print anything to
13151 stderr; if it does, we need to debug it, and throwing away stderr
13152 makes that excessively difficult.
a83d079b 13153
be94a509 131542009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
13157
63f745e8 131582009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13159
13160 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
13161 AC_LANG_PROGRAM from autoconf.
13162 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
13163 prototypes (fixes warning).
13164
13165 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
13166 `--disable-werror' was used.
13167
bbb2a70f 131682009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13169
13170 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
13171 uninitialized `lastaddr'.
13172
77c24f1d 131732009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13174
0f0b8c87 13175 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 13176
07197f23 131772009-09-14 Colin Watson <cjwatson@ubuntu.com>
13178
13179 * commands/test.c (get_fileinfo): Return immediately if
13180 grub_fs_probe fails.
13181
dabf1798 131822009-09-14 José Martínez <xosemp@gmail.com>
13183
13184 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
13185
d52109a7 131862009-09-14 Colin Watson <cjwatson@ubuntu.com>
13187
13188 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
13189 output.
13190
56532179 131912009-09-13 Robert Millan <rmh.grub@aybabtu.com>
13192
13193 * configure.ac: Remove --enable-grub-pe2elf. Only build
13194 grub-pe2elf when needed by the build system itself.
13195 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
13196
8ef070f5 131972009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13198
13199 * configure.ac: Bump version to 1.97~beta3.
13200 * docs/version.texi: Likewise.
13201
61229557 132022009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13203
13204 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
13205 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
13206 from here ...
13207 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
13208 (grub_linux_setup_video): ... to here (with some adjustments).
13209
5c9f8d84 132102009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13211
13212 Fix memory corruption issue (spotted by Colin Watson).
13213
13214 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
13215 causing returned size to be stored in an incorrect memory location.
13216 Fix use of uninitialized value when storing the returned size.
13217
e8f5d6e9 132182009-09-12 Yves Blusseau <blusseau@zetam.org>
13219
13220 Change clean rules to properly remove files
13221
13222 * genmk.rb: add new clean rules
13223 * Makefile.in (clean): add the new targets
13224 (mostlyclean): likewise
13225
cda2a409 132262009-09-11 Colin Watson <cjwatson@ubuntu.com>
13227
13228 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
13229 to grub_uint64_t.
13230 * fs/ntfs.c (init_file): Understand 64-bit sizes for
13231 non-resident files.
13232
86695375 132332009-09-11 Colin Watson <cjwatson@ubuntu.com>
13234
13235 * configure.ac: Don't look for help2man when cross-compiling. Fixes
13236 part of bug #27349.
13237
8aa1541a 132382009-09-10 Felix Zielcke <fzielcke@z-51.de>
13239
13240 * util/grub-mkconfig.in: Make the created config mode 400 and
13241 print a warning if it fails.
13242
48d9bb0a 132432009-09-10 Robert Millan <rmh.grub@aybabtu.com>
13244
13245 * util/grub.d/40_custom.in: Ask user to type custom entries below
13246 comment, rather than below 'exec tail' line.
13247
3b0521be 132482009-09-10 Colin Watson <cjwatson@ubuntu.com>
13249
13250 * util/grub.d/40_custom.in: Make sure that the explanatory text is
13251 visible in grub.cfg.
13252
50051d55 132532009-09-10 Colin Watson <cjwatson@ubuntu.com>
13254
13255 * util/grub.d/40_custom.in: Make it a little clearer how to use this
13256 file.
13257
c0d34387 132582009-09-10 Felix Zielcke <fzielcke@z-51.de>
13259
13260 * docs/grub.cfg: Add an example menu entry for memtest86+.
13261
80a608f3 132622009-09-09 Felix Zielcke <fzielcke@z-51.de>
13263
a2094832 13264 * config.guess: Update to latest version from config git.
80a608f3 13265 * config.sub: Likewise.
13266
99423078 132672009-09-08 Colin Watson <cjwatson@ubuntu.com>
13268
13269 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
13270 unknown-command case. Fixes bug #27320.
13271
44454e4c 132722009-09-08 Felix Zielcke <fzielcke@z-51.de>
13273
13274 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
13275 `help' if the command exists.
13276
e30d87ad 132772009-09-06 Robert Millan <rmh.grub@aybabtu.com>
13278
13279 * INSTALL: Require GCC 4.1.3 or later.
13280
9a86f1ec 132812009-09-06 Yves Blusseau <blusseau@zetam.org>
13282
13283 * Makefile.in (RMKFILES): add i386-qemu.rmk
13284 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
13285 $(srcdir)/stamp-h.in
13286
7f26d466 132872009-09-05 Robert Millan <rmh.grub@aybabtu.com>
13288
13289 * util/grub-probe.c (probe): Comment out buggy codepath, which
13290 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
13291 should be re-enabled after 1.97.
13292
3a613259 132932009-09-05 Felix Zielcke <fzielcke@z-51.de>
13294
13295 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
13296 find searches for.
13297
197f76c7 132982009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
13301 unnecessary calls to grub_error.
13302
70ba68ce 133032009-09-04 Colin Watson <cjwatson@ubuntu.com>
13304
13305 * NEWS: Mention `keystatus' and Unicode fonts.
13306
4ff0d7a4 133072009-09-04 Robert Millan <rmh.grub@aybabtu.com>
13308
13309 * configure.ac: Bump version to 1.97~beta2.
13310 * docs/version.texi: Likewise.
13311
77c55a87 133122009-09-03 Colin Watson <cjwatson@ubuntu.com>
13313
13314 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
13315 containing unwind information in some cases where it previously did
13316 not. Use -fno-dwarf2-cfi-asm if available to restore the old
13317 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
13318 discussion.
13319
f79572cd 133202009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
13321
13322 Embedding loadenv module into grub-emu
13323
13324 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
13325 commands/loadenv.c
13326 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
13327 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
13328 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
13329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
13330 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
13331 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
13332
93a81088 133332009-09-03 Magnus Granberg <zorry@ume.nu>
13334
13335 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
13336 include -fPIE in the default specs.
13337 * configure.ac: Check if pie_possible is yes and add -fno-PIE
13338 to TARGET_CFLAGS.
13339
160034b2 133402009-09-03 Felix Zielcke <fzielcke@z-51.de>
13341
13342 * INSTALL: Note that GNU Bison 2.3 or later is required.
13343
087c07c4 133442009-09-03 Colin Watson <cjwatson@ubuntu.com>
13345
13346 * kern/i386/pc/startup.S: Fix typo.
13347
cbf978c0 133482009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
13351 according to GCS.
13352
133532009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 13354
13355 * docs/grub.texi (Naming convention): Describe one-based partition
13356 numbering.
13357 (Device syntax): Likewise.
13358 (File name syntax): Likewise.
13359 (Block list syntax): Likewise.
13360 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
13361 menu.lst.
13362 (File name syntax): Likewise.
13363 (Command-line and menu entry commands): Document acpi, blocklist,
13364 crc, export, insmod, keystatus, ls, set, and unset commands.
13365
f3e8cdfd 133662009-09-02 Colin Watson <cjwatson@ubuntu.com>
13367
13368 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
13369 to avoid implying that only one of --shift, --ctrl, or --alt may be
13370 used.
13371
c0bc232b 133722009-09-02 Colin Watson <cjwatson@ubuntu.com>
13373
13374 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
13375 rather than comparing against S_IFREG, which will almost never work.
13376
aa0f752d 133772009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
13380 (write_blocklists): Likewise.
13381
ecb3166a 133822009-09-01 Colin Watson <cjwatson@ubuntu.com>
13383
13384 * script/lua/grub_lua.h (fputs): Supply a format string as the first
13385 argument to grub_printf.
13386
c403a125 133872009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 13388
13389 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 13390 non GNU test.
31aba781 13391
b5e7312c 133922009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * kern/file.c (grub_file_read): Spelling fix
13395
fe00f472 133962009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
13399 loading of headers in some cases.
13400
cc55302e 134012009-08-30 Robert Millan <rmh.grub@aybabtu.com>
13402
13403 * configure.ac: Bump version to 1.97~beta1.
13404 * docs/version.texi: Likewise.
13405
5c90cdd2 134062009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 13407
13408 * include/grub/i386/xnu.h: Add license header.
13409 include grub/err.h explicitly.
13410
c90edae4 134112009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13412
13413 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
13414 to `ufs' in the vfs.root.mountfrom kernel parameter.
13415
d8888b5c 134162009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13417
13418 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
13419
13420 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
13421 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
13422
13423 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
13424 `ARRAY_SIZE' macro.
13425
6f07b921 134262009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13427
13428 * kern/file.c (grub_file_read): Check offset.
13429 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
13430 * fs/jfs.c (grub_jfs_read_file): Likewise.
13431 * fs/ntfs.c (grub_ntfs_read): Likewise.
13432 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
13433 * fs/minix.c (grub_minix_read_file): Correct offset check.
13434 * fs/ufs.c (grub_ufs_read_file): Likewise.
13435
b4f34077 134362009-08-28 Colin Watson <cjwatson@ubuntu.com>
13437
13438 * term/i386/pc/console.c (bios_data_area): Cast
13439 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
13440
e7c69859 134412009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 1-bit optimised blitters.
13444
13445 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
13446 prototype.
13447 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13448 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13449 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13450 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13451 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13452 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13453 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
13454 function.
13455 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13456 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13457 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13458 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13459 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13460 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13461 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
13462 when possible.
13463 * video/video.c (grub_video_get_blit_format): Return
13464 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
13465
a57da43f 134662009-08-28 Colin Watson <cjwatson@ubuntu.com>
13467
13468 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
13469 the first argument to grub_printf.
13470
4cbe67e5 134712009-08-28 Colin Watson <cjwatson@ubuntu.com>
134722009-08-28 Robert Millan <rmh.grub@aybabtu.com>
13473
13474 Add `getkeystatus' terminal method. Add a new `keystatus' command
13475 to query it.
13476
13477 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
13478 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
13479 modifier key bitmasks.
13480 (struct grub_term_input): Add `getkeystatus' member.
13481 (grub_getkeystatus): Add prototype.
13482 * kern/term.c (grub_getkeystatus): New function.
13483
13484 * include/grub/i386/pc/memory.h
13485 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
13486 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
13487 Data Area layout.
13488 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
13489 (grub_console_term_input): Set `getkeystatus' member.
13490 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
13491 constants.
13492 (grub_usb_keyboard_getreport): Likewise.
13493 (grub_usb_keyboard_checkkey): Likewise.
13494 (grub_usb_keyboard_getkeystatus): New function.
13495 (grub_usb_keyboard_term): Set `getkeystatus' member.
13496
13497 * commands/keystatus.c: New file.
13498 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
13499 (keystatus_mod_SOURCES): New variable.
13500 (keystatus_mod_CFLAGS): Likewise.
13501 (keystatus_mod_LDFLAGS): Likewise.
13502 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
13503 commands/keystatus.c.
13504 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13505 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13506 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13508 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13509 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 13510
6e2a9085 135112009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 Split befs.mod and afs.mod into *_be.mod and *.mod
13514
13515 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
13516 (grub_fstest_SOURCES): Likewise.
13517 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
13518 (afs_be_mod_SOURCES): New variable.
13519 (afs_be_mod_CFLAGS): Likewise.
13520 (afs_be_mod_LDFLAGS): Likewise.
13521 (befs_be_mod_SOURCES): Likewise.
13522 (befs_be_mod_CFLAGS): Likewise.
13523 (befs_be_mod_LDFLAGS): Likewise.
13524 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
13525 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13526 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13527 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13528 (grub_emu_SOURCES): Likewise.
13529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13530 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13531 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13532 * fs/afs_be.c: New file.
13533 * fs/befs_be.c: New file.
13534 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
13535 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
13536 (U16): Replaced with ...
13537 (grub_afs_to_cpu16): ...this. All users updated.
13538 (U32): Replaced with ...
13539 (grub_afs_to_cpu32): ...this. All users updated.
13540 (U64): Replaced with ...
13541 (grub_afs_to_cpu64): ...this. All users updated.
13542 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
13543 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 13544 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 13545 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13546 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13547 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13548 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13549 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13550 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13551 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13552 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13553
32a71655 135542009-08-26 Bean <bean123ch@gmail.com>
13555
13556 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
13557 64-bit number.
13558 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13559 (grub_xfs_inode_block): Change return type to grub_uint64_t.
13560 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
13561
552bf6c5 135622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 NetBSD memory map support.
13565
13566 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
13567 (grub_netbsd_btinfo_mmap_header): New structure.
13568 (grub_netbsd_btinfo_mmap_entry): Likewise.
13569 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
13570
1ae2078c 135712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 Enable bsd.mod on coreboot.
13574
13575 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
13576 (bsd_mod_SOURCES): New variable.
13577 (bsd_mod_CFLAGS): Likewise.
13578 (bsd_mod_LDFLAGS): Likewise.
13579 (bsd_mod_ASFLAGS): Likewise.
13580 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
13581 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
13582
beefc598 135832009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 Cleanup NetBSD root support.
13586
13587 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
13588 grub_bsd_get_device.
13589 Fix typo.
13590
3b76e68b 135912009-08-25 Felix Zielcke <fzielcke@z-51.de>
13592
13593 * util/grub.d/00_header.in: Move check for the video backend of
13594 gfxterm from here ...
13595 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
13596 a suitable video backend.
13597
aea664ea 135982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13599
13600 Fix breakage in grub-setup.
13601
13602 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
13603 "msdos_partition_map".
13604
ff747d50 136052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 Fix breakage in normal/auth.c.
13608
13609 * normal/auth.c (grub_iswordseparator): New function.
13610
e7e1f93f 136112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 Authentication support.
13614
13615 * commands/password.c: New file.
13616 * conf/common.rmk (pkglib_MODULES): Add password.mod.
13617 (password_mod_SOURCES): New variable.
13618 (password_mod_CFLAGS): Likewise.
13619 (password_mod_LDFLAGS): Likewise.
13620 (normal_mod_SOURCES): Add normal/auth.c.
13621 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
13622 normal/auth.c.
13623 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13624 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13625 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13627 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13628 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13629 * include/grub/auth.h: New file.
13630 * include/grub/err.h (grub_err_t): New enum value
13631 GRUB_ERR_ACCESS_DENIED.
13632 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
13633 'users'.
13634 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
13635 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
13636 users updated.
13637 * normal/auth.c: New file.
13638 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
13639 (grub_cmdline_run): Don't allow to go to command line without
13640 authentication.
13641 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
13642 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
13643 menuentry without superuser rights.
13644 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
13645 user isn't a superuser.
13646
70f1161d 136472009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 Save space by inlining misc.c functions.
13650
13651 * kern/misc.c (grub_iswordseparator): Made static.
13652 * kern/misc.c (grub_strcat): Moved from here ...
13653 * include/grub/misc.h (grub_strcat): ... here. Inlined.
13654 * kern/misc.c (grub_strncat): Moved from here ...
13655 * include/grub/misc.h (grub_strncat): ... here. Inlined.
13656 * kern/misc.c (grub_strcasecmp): Moved from here ...
13657 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
13658 * kern/misc.c (grub_strncasecmp): Moved from here ...
13659 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
13660 * kern/misc.c (grub_isalpha): Moved from here ...
13661 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
13662 * kern/misc.c (grub_isdigit): Moved from here ...
13663 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
13664 * kern/misc.c (grub_isgraph): Moved from here ...
13665 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
13666 * kern/misc.c (grub_tolower): Moved from here ...
13667 * include/grub/misc.h (grub_tolower): ... here. Inlined.
13668
48e40bff 136692009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * script/sh/function.c (grub_script_function_find): Cut error message
13672 not to flood terminal.
13673 * script/sh/lexer.c (grub_script_yylex): Remove command line length
13674 limit.
13675 * script/sh/script.c (grub_script_arg_add): Duplicate string.
13676
c385bfc3 136772009-08-24 Colin Watson <cjwatson@ubuntu.com>
13678
13679 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
13680 `report' grub_uint8_t *.
13681 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
13682 Use a 50-millisecond timeout rather than just repeating
13683 grub_usb_keyboard_getreport 50 times.
13684 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
13685
2d21e3e8 136862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 Rename *_partition_map to part_*
13689
13690 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
13691 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
13692 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
13693 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
13694 All users updated.
13695 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
13696 All users updated.
13697 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
13698 * util/grub-probe.c (probe_partmap): Don't transform partition name
13699 to get module name.
13700
dd103c4e 137012009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13702
13703 Fix OpenBSD and NetBSD support.
13704
13705 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
13706 memory address conflict.
13707 (OPENBSD_MMAP_ACPI): New definition.
13708 (OPENBSD_MMAP_NVS): Likewise.
13709 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
13710 and OPENBSD_MMAP_NVS.
13711 Add memory map terminator
13712 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 13713 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 13714
16c84d74 137152009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 Let user specify NetBSD root device.
13718
13719 * loader/i386/bsd.c (netbsd_root): New variable.
13720 (netbsd_opts): New option 'root'.
13721 (NETBSD_ROOT_ARG): New macro.
13722 (grub_netbsd_boot): Use 'netbsd_root'.
13723 (grub_bsd_unload): Free 'netbsd_root'.
13724 (grub_cmd_netbsd): Fill 'netbsd_root'.
13725
adb29902 137262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 Support for 64-bit NetBSD.
13729
13730 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
13731 point when booting non-FreeBSD.
13732
f5ae9f74 137332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 Support --no-smp and --no-acpi for NetBSD.
13736
13737 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
13738 (NETBSD_AB_NOACPI): Likewise.
13739 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
13740 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
13741
de74f136 137422009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
13745 errors.
13746 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
13747 errors. Call grub_error when needed.
13748
e9a925da 137492009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * commands/search.c (search_fs): Try searching without autoload first.
13752 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13753 filesystem module explicitly for faster booting.
13754
5174302b 137552009-08-23 Colin Watson <cjwatson@ubuntu.com>
13756
13757 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
13758
c8c80635 137592009-08-23 Colin Watson <cjwatson@ubuntu.com>
13760
13761 * util/grub.d/30_os-prober.in: Disable os-prober if
13762 `GRUB_DISABLE_OS_PROBER' was set to true.
13763
71acf5e5 137642009-08-23 Robert Millan <rmh.grub@aybabtu.com>
13765
13766 * partmap/pc.c: Rename to ...
13767 * partmap/msdos.c: ... this. Update all users.
13768 (grub_pc_partition_map): Rename to ...
13769 (grub_msdos_partition_map): ... this. Update all users.
13770
13771 * parttool/pcpart.c: Rename to ...
13772 * parttool/msdospart.c: ... this. Update all users.
13773
13774 * include/grub/pc_partition.h: Rename to ...
13775 * include/grub/msdos_partition.h: ... this. Update all users.
13776 (grub_pc_partition_bsd_entry): Rename to ...
13777 (grub_msdos_partition_bsd_entry): ... this. Update all users.
13778 (grub_pc_partition_disk_label): Rename to ...
13779 (grub_msdos_partition_disk_label): ... this. Update all users.
13780 (grub_pc_partition_entry): Rename to ...
13781 (grub_msdos_partition_entry): ... this. Update all users.
13782 (grub_pc_partition_mbr): Rename to ...
13783 (grub_msdos_partition_mbr): ... this. Update all users.
13784 (grub_pc_partition): Rename to ...
13785 (grub_msdos_partition): ... this. Update all users.
13786 (grub_pc_partition_is_empty): Rename to ...
13787 (grub_msdos_partition_is_empty): ... this. Update all users.
13788 (grub_pc_partition_is_extended): Rename to ...
13789 (grub_msdos_partition_is_extended): ... this. Update all users.
13790 (grub_pc_partition_is_bsd): Rename to ...
13791 (grub_msdos_partition_is_bsd): ... this. Update all users.
13792
13793 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
13794 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
13795 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
13796 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
13797 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
13798 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
13799 (gpt_mod_LDFLAGS): Rename to ...
13800 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
13801 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
13802 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
13803 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
13804 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
13805 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
13806 (part_gpt_mod_LDFLAGS): ... this.
13807 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
13808 `pcpart.mod' to `msdospart.mod'.
13809 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
13810 to ...
13811 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
13812 (msdospart_mod_LDFLAGS): ... this.
13813
c11fded5 138142009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
13817 (openbsd_opts): Likewise.
13818 (netbsd_opts): Likewise.
13819 (freebsd_flags): Added 0 terminator.
13820 (openbsd_flags): Likewise.
13821 (netbsd_flags): Likewise.
13822 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
13823 (grub_cmd_freebsd): Transformed into extended command.
13824 (grub_cmd_openbsd): Likewise.
13825 (grub_cmd_netbsd): Likewise.
13826 (cmd_freebsd): Changed type to grub_extcmd_t.
13827 (cmd_openbsd): Likewise.
13828 (cmd_netbsd): Likewise.
13829 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
13830 grub_cmd_openbsd as extended commands.
13831 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
13832 cmd_netbsd and cmd_openbsd
13833
11d1c769 138342009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
13837
7a9094e5 138382009-08-21 Pavel Roskin <proski@gnu.org>
13839
5496c37e 13840 * Makefile.in (install-local): When checking if a file is in the
13841 build directory, use "test -e" to detect symlinks.
13842
7a9094e5 13843 * Makefile.in (install-local): Remove all files in
13844 $(DESTDIR)$(pkglibdir) before installing new files there.
13845
e53cea11 138462009-08-18 Felix Zielcke <fzielcke@z-51.de>
13847
13848 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
13849 grub-mkelfimage.
13850
9aced544 138512009-08-18 Felix Zielcke <fzielcke@z-51.de>
13852
13853 * util/grub-mkconfig.in: Don't use gfxterm by default if not
13854 explicitly specified by the user.
13855
b7da6bab 138562009-08-18 Pavel Roskin <proski@gnu.org>
13857
13858 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
13859 grub_uint8_t pointer for data.
13860 * include/grub/fbutil.h (struct grub_video_fbblit_info):
13861 Likewise.
13862 * video/fb/fbutil.c: Remove unnecessary casts.
13863
19f1b335 138642009-08-17 Michal Suchanek <hramrach@centrum.cz>
13865
13866 VBE cleanup.
13867
13868 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
13869 (grub_vbe_set_video_mode): Save active mode info
13870 only after setting the mode.
13871 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
13872 second argument.
13873
2f467aa9 138742009-08-17 Michal Suchanek <hramrach@centrum.cz>
13875
13876 Rename variables for clarity.
13877
13878 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
13879 (active_vbe_mode_info): ... this. All users updated.
13880 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
13881 All users updated.
13882 (initial_mode): Rename to ...
13883 (initial_vbe_mode): ... this. All users updated.
13884 (mode_in_use): Rename to ..
13885 (vbe_mode_in_use): ... this. All users updated.
13886 (mode_list): Rename to ..
13887 (vbe_mode_list): ... this. All users updated.
13888 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
13889 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
13890 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
13891 'mode_list_size' to 'vbe_mode_list_size'.
13892 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
13893 'best_mode_info' to 'best_vbe_mode_info' and
13894 'best_mode' to 'best_vbe_mode'
13895
6025fcd7 138962009-08-17 Michal Suchanek <hramrach@centrum.cz>
13897
13898 Remove duplicate grub_video_fb_get_video_ptr.
13899
13900 * include/grub/fbutil.h (get_data_ptr): Rename to ...
13901 (grub_video_fb_get_video_ptr): ... this.
13902 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
13903 * video/fb/fbutil.c: Add comment about addressing.
13904 (get_data_ptr): Rename to ...
13905 (grub_video_fb_get_video_ptr): ... this. All users updated.
13906 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
13907
cc8c6faf 139082009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13909
13910 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
13911 grub_dprintf() that was just added.
13912
08aa61f0 139132009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13914
13915 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
13916 (DEFAULT_VIDEO_MODE): Remove macros.
13917 (grub_linux_boot): Remove assumption that Linux has FB support,
13918 and use "text" as default video mode.
13919
7cef4f75 139202009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
13923 grub_dprintf.
13924 * fs/fat.c (grub_fat_read_data): Likewise.
13925
e1f39873 139262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
13929 payload.
13930 (grub_module): Likewise.
13931
c166d79e 139322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
13935 mbi->cmdline but free playground.
13936
c60cee8e 139372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 Handle group offset on UFS1.
13940
13941 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
13942 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
13943
c0d8b5d4 139442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 Split ufs.mod into ufs1.mod and ufs2.mod.
13947
13948 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
13949 (grub_fstest_SOURCES): Likewise.
13950 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
13951 (ufs_mod_SOURCES): Remove.
13952 (ufs_mod_CFLAGS): Likewise.
13953 (ufs_mod_LDFLAGS): Likewise.
13954 (ufs1_mod_SOURCES): New variable.
13955 (ufs1_mod_CFLAGS): Likewise.
13956 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 13957 (ufs2_mod_SOURCES): New variable.
13958 (ufs2_mod_CFLAGS): Likewise.
13959 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 13960 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
13961 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13962 Likewise.
13963 (grub_emu_SOURCES): Likewise.
13964 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13965 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13966 (grub_setup_SOURCES): Likewise.
13967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13968 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
13969 (grub_setup_SOURCES): Likewise.
13970 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13971 Likewise.
13972 * fs/ufs2.c: New file.
13973 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
13974
d3539132 139752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 Framebuffer split.
13978
13979 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
13980 subsystem at the end.
13981 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
13982 (video_fb_mod_SOURCES): New variable.
13983 (video_fb_mod_CFLAGS): Likewise.
13984 (video_fb_mod_LDFLAGS): Likewise.
13985 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
13986 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
13987 * video/i386/pc/vbeblit.c: Moved from here ...
13988 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
13989 * video/i386/pc/vbefill.c: Moved from here ...
13990 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
13991 * video/i386/pc/vbeutil.c: Moved from here ...
13992 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
13993 * include/grub/i386/pc/vbeblit.h: Moved from here ...
13994 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
13995 * include/grub/i386/pc/vbefill.h: Moved from here ...
13996 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
13997 * include/grub/i386/pc/vbeutil.h: Moved from here ...
13998 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
13999 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
14000 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
14001 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
14002 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
14003 (grub_video_adapter): Added 'get_info_and_fini'.
14004 (grub_video_get_info_and_fini): New prototype.
14005 (grub_video_set_mode): make modestring const char *.
14006 * loader/i386/linux.c (grub_linux_setup_video): Use
14007 grub_video_get_info_and_fini.
14008 (grub_linux_boot): Move modesetting just before booting.
14009 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
14010 grub_video_get_info_and_fini.
14011 * video/i386/pc/vbe.c: Moved framebuffer part ...
14012 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
14013 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
14014 grub_video_fbstd_colors and grub_video_fb_set_palette.
14015 (grub_video_vbe_init): Clear 'framebuffer' variable and use
14016 grub_video_fb_init.
14017 (grub_video_vbe_fini): Use grub_video_fb_fini.
14018 (grub_video_vbe_setup): Use framebuffer.render_target instead of
14019 render_target and use grub_video_fb_set_active_render_target and
14020 grub_video_fb_set_palette.
14021 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
14022 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
14023 (grub_video_vbe_adapter): Use framebuffer.
14024 * video/video.c (grub_video_get_info_and_fini): New function.
14025 (grub_video_set_mode): Make modestring const char *.
14026 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
14027 values are already initialised.
14028
d404ee56 140292009-08-14 Pavel Roskin <proski@gnu.org>
14030
14031 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
14032 ABS and APPLE_CC.
14033 * boot/i386/pc/diskboot.S: Likewise.
14034 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
14035 sectors allow compilation on MacOSX.
14036 * conf/i386-pc.rmk: Enable unconditional compilation of
14037 lnxboot.img.
14038
9a10df16 140392009-08-13 Colin Watson <cjwatson@ubuntu.com>
14040
14041 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
14042 * util/grub.d/00_header.in: Enter interruptible sleep if
14043 GRUB_HIDDEN_TIMEOUT is set.
14044
be3c9ca7 140452009-08-13 Yves Blusseau <blusseau@zetam.org>
14046
14047 * include/grub/symbol.h: Add the LOCAL macro.
14048 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
14049 starting with "L_".
14050
1f9e557e 140512009-08-13 Pavel Roskin <proski@gnu.org>
14052
9ca62843 14053 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
14054 any modern compilers we support.
14055
1f9e557e 14056 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
14057 Use local labels starting with "L_" so that Apple assembler
14058 knows they are local.
14059
81623db6 140602009-08-10 Robert Millan <rmh.grub@aybabtu.com>
14061
14062 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
14063 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
14064 (bsd_kernel_types): ... this enum.
14065
14066 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
14067 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
14068 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
14069
14070 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
14071 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
14072 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
14073 messages.
14074
f5d35e7a 140752009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14076
14077 * util/grub-dumpdevtree: Moved from here ...
14078 * util/i386/efi/grub-dumpdevtree: ... to here.
14079 (hexify): New function. Converts a string to its hex version.
14080 Generate hex versions of "efi" and "device-properties" by calling
14081 hexify() on the ASCII strings rather than by hardcoding numbers.
14082
d1e1d527 140832009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14084
14085 * fs/jfs.c: Update copyright year.
14086
1ebbe064 140872009-08-08 Felix Zielcke <fzielcke@z-51.de>
14088
14089 * util/grub.d/00_header.in: Fix a comment.
14090 * util/grub.d/10_linux.in: Likewise.
14091 * util/grub.d/10_windows.in: Likewise.
14092 * util/grub.d/10_hurd.in: Likewise.
14093
a78c8d24 140942009-08-08 Felix Zielcke <fzielcke@z-51.de>
14095
14096 * util/grub-mkconfig.in: Allow the user to specify the used font
14097 with GRUB_FONT.
14098
29a6b9e8 140992009-08-08 Pavel Roskin <proski@gnu.org>
14100
b5f16cc4 14101 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
14102 available, xfs.mod needs it now.
14103
2f5cb827 14104 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
14105 the "g" modifier in sed when the intention is to strip something
14106 once. This fixes comparison of kernels with multiple dashes.
14107
29a6b9e8 14108 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
14109 on it. Add missing space before closing bracket. Fix
14110 misleading formatting.
14111
892a3d98 141122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14113
14114 * docs/grub.texi: Major overhaul. Remove all sections that are
14115 specific to GRUB Legacy, or mostly composed of Legacy-specific
14116 information.
14117
ed94253f 141182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14119
14120 * docs/version.texi: New file. Provides version information for
14121 grub.texi.
14122
126d6628 141232009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14124
14125 * docs/grub.texi: Update CVS information to SVN.
14126 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
14127
998b5aa9 141282009-08-07 Felix Zielcke <fzielcke@z-51.de>
14129
14130 * util/grub-mkconfig.in: Remove a wrong `fi'.
14131
818e094a 141322009-08-07 Felix Zielcke <fzielcke@z-51.de>
14133
14134 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
14135 (grub_jfs_uuid): New function.
14136 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
14137
b969c52f 141382009-08-07 Felix Zielcke <fzielcke@z-51.de>
14139
14140 * util/grub-mkconfig_lib.in (font_path): Move the functionality
14141 of it to ...
14142 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
14143 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
14144
7a4894cc 141452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14146
14147 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
14148 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
14149 Update all users.
14150
14151 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
14152 not just "vmlinu[zx]".
14153 Moved from here ...
14154 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
14155 all users.
14156
14157 * util/grub.d/10_linux.in (find_latest): Moved from here ...
14158 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
14159 all users.
14160
4e2171f8 141612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14162
14163 * util/grub.d/10_freebsd.in: Use an absolute device path for
14164 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
14165
6dcfcb32 141662009-08-06 Felix Zielcke <fzielcke@z-51.de>
14167
14168 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
14169 handling of multiple abstraction modules.
14170
f56a8756 141712009-08-04 Robert Millan <rmh.grub@aybabtu.com>
14172
14173 Fix a bug resulting in black screen when loading Linux using a
14174 packed video mode.
14175
14176 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
14177 function.
14178
14179 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
14180 (grub_vbe_bios_getset_dac_palette_width): New function.
14181 (grub_vbe_bios_get_dac_palette_width)
14182 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
14183 grub_vbe_bios_getset_dac_palette_width()).
14184
14185 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
14186 check for return status.
14187 (grub_vbe_get_video_mode_info): When getting information for a packed
14188 mode (<= 8 bpp), obtain DAC palette width using
14189 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
14190 {red,green,blue}_mark_size.
14191
222671b2 141922009-08-04 Felix Zielcke <fzielcke@z-51.de>
14193
ecb1a6d9 14194 * commands/search.c (options): Fix help output to match actual code.
222671b2 14195
f84114f5 141962009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
14199 of homegrown code.
14200
bd288a20 142012009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 14202
14203 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
14204 on XFS or ReiserFS.
14205
8aab5e25 142062009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14207
14208 Support Apple partition map with sector size different from 512 bytes.
14209
14210 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
14211 (apple_partition_map_iterate): Respect 'aheader.blocksize'
14212 and 'apart.partmap_size'.
14213
6ad6258a 142142009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
142152009-08-01 Robert Millan <rmh.grub@aybabtu.com>
14216
14217 Fix cpuid command.
14218
14219 * commands/i386/cpuid.c (options): New variable.
14220 (grub_cmd_cpuid): Return real error.
14221 (GRUB_MOD_INIT(cpuid)): Declare options.
14222
67459bc6 142232009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
14226 valid.
14227
fbc6ab54 142282009-07-31 Bean <bean123ch@gmail.com>
14229
14230 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
14231 log2_inode.
14232 (grub_fshelp_node): Move inode field to the end.
14233 (grub_xfs_data): Remove inode field.
14234 (grub_xfs_inode_block): Calculate inode size using sblock.
14235 (grub_xfs_inode_offset): Likewise.
14236 (grub_xfs_read_inode): Calculate inode size using sblock.
14237 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
14238 (grub_xfs_iterate_dir): Calculate inode size using sblock.
14239 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
14240 to match inode size.
14241 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
14242 not accessible when data is null.
14243 (grub_xfs_open): Likewise.
14244
f45d6cfc 142452009-07-31 Bean <bean123ch@gmail.com>
14246
14247 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
14248 Don't change pv->disk if it's already set.
14249
14250 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
14251 (grub_raid_register): ... here.
14252 (grub_raid_rescan): Removed.
14253
14254 * include/grub/raid.h (grub_raid_rescan): Removed.
14255
14256 * util/grub-fstest.c: Remove include file <grub/raid.h>.
14257 (fstest): Replace grub_raid_rescan with module fini function followed
14258 by init function.
14259
14260 * util/grub-probe.c: Add include file <grub/raid.h>.
14261 (probe_raid_level): New function.
14262 (probe): Detect abstraction by walking the disk device, support two
14263 level of abstraction (LVM on RAID) when detecting partition map.
14264
24443b5a 142652009-07-31 Pavel Roskin <proski@gnu.org>
14266
14267 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
14268 to grub_zalloc(), it was erroneous.
14269 Reported by Bean <bean123ch@gmail.com>
14270
a275d9e7 142712009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 14274 embedding zone, not only the first one.
a275d9e7 14275
56c5a47f 142762009-07-29 Joe Auricchio <jauricchio@gmail.com>
14277
14278 * term/gfxterm.c (clear_char): New function.
14279 (grub_virtual_screen_setup): Use clear_char.
14280 (scroll_up): Likewise.
14281 (grub_virtual_screen_cls): Likewise.
14282
67bb323a 142832009-07-29 Felix Zielcke <fzielcke@z-51.de>
14284
14285 * util/deviceiter.c (get_acceleraid_disk_name): New static
14286 function.
14287 (grub_util_iterate_devices): Handle Accelraid devices.
14288 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
14289
388a7c75 142902009-07-28 Robert Millan <rmh.grub@aybabtu.com>
14291
14292 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
14293 separator for the suggested gfxpayload string (';' collides with the
14294 parser and needs escaping).
14295
3bb7abcf 142962009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
14299 Clear direction flag before jumping to OS.
14300 (grub_multiboot2_real_boot): Likewise.
14301
2ddd36d7 143022009-07-28 Felix Zielcke <fzielcke@z-51.de>
14303
14304 * util/i386/pc/grub-install: Fix parsing of --disk-module
14305 option.
14306
c521b62b 143072009-07-28 Felix Zielcke <fzielcke@z-51.de>
14308
14309 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
14310 when embedding.
14311
880e0a0c 143122009-07-26 Felix Zielcke <fzielcke@z-51.de>
14313
14314 * util/grub-mkconfig.in (package_version): New variable.
14315 Use it do display the version.
14316
2366e356 143172009-07-25 Felix Zielcke <fzielcke@z-51.de>
14318
14319 * kern/file.c (grub_file_open): Revert to previous check with
14320 grub_errno.
14321
7ad8c80e 143222009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
14325 from help line. It's out of sync with code.
14326
72b9658b 143272009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
14330 entries on failed boot.
14331
77435277 143322009-07-25 Felix Zielcke <fzielcke@z-51.de>
14333
14334 * kern/file.c (grub_file_open): Fix an error check.
14335
fcaa8b21 143362009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
14337
35d16c74 14338 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
14339 partition map couldn't be identified.
fcaa8b21 14340
48904cd1 143412009-07-23 Pavel Roskin <proski@gnu.org>
14342
ef3c317f 14343 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
14344 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
14345 case of little endian words becomes just an optimization.
14346 Respect const modifier.
ad8ea1f4 14347 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 14348
48904cd1 14349 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
14350 to avoid loss of upper bits if align is unsigned and shorter
14351 than addr.
14352
260c9a89 143532009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 UUID support for UFS
14356
14357 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
14358 (grub_ufs_uuid): New function.
14359 (grub_ufs_fs): add .uuid
14360
f76ce889 143612009-07-21 Pavel Roskin <proski@gnu.org>
14362
14363 * kern/dl.c (grub_dl_check_header): Make static.
14364
6a6cbcaf 143652009-07-21 Felix Zielcke <fzielcke@z-51.de>
14366
14367 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
14368 add drivemap for Vista. It breaks Windows 7.
14369
cffcddb2 143702009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14371
14372 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
14373 128 bytes
14374
1ef44b80 143752009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 Add BFS support
14378
14379 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
14380 (grub_fstest_SOURCES): Likewise.
14381 (pkglib_MODULES): Add befs.mod.
14382 (befs_mod_SOURCES): New variable.
14383 (befs_mod_CFLAGS): Likewise.
14384 (befs_mod_LDFLAGS): Likewise.
14385 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14386 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14387 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14388 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14389 (grub_setup_SOURCES): Likewise.
14390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14391 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14392 (grub_setup_SOURCES): Likewise.
14393 * fs/befs.c: New file.
14394 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
14395 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
14396 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
14397 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
14398 (B_KEY_INDEX_ALIGN): New declaration.
14399 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
14400 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
14401 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
14402 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
14403 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
14404 (grub_afs_mount) [MODE_BFS]: Likewise.
14405 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
14406 (grub_afs_fs): Use GRUB_AFS_FSNAME
14407 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
14408 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
14409 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
14410 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
14411
4f253044 144122009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
14413
14414 * util/getroot.c (find_root_device): Add support for MacOSX.
14415 * util/hostdisk.c: Likewise.
14416
57a55913 144172009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 * font/font.c (find_glyph): Check whether a font is present to avoid
14420 segmentation fault.
75421ca9 14421
144222009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 14423
14424 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
14425
e98cd0c2 144262009-07-20 Pavel Roskin <proski@gnu.org>
14427
14428 * configure.ac: Trim excessively wordy excuses.
14429
1d2d169a 144302009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 Add symlink, mtime and label support to AtheFS.
14433
14434 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
14435 (grub_afs_iterate_dir): Handle symlinks.
14436 (grub_afs_open): Use grub_afs_read_symlink.
14437 (grub_afs_dir): Likewise.
14438 Pass mtime.
14439 (grub_afs_label): New function.
14440 (grub_afs_fs): Add grub_afs_label.
14441 (grub_afs_read_symlink): New function.
14442
186f3189 144432009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 Fix AtheFS support.
14446
14447 * fs/afs.c: Fix comments style.
14448 (grub_afs_blockrun): Declare as packed.
14449 (grub_afs_datastream): Likewise.
14450 (grub_afs_bnode): Likewise.
14451 (grub_afs_btree): Likewise.
14452 (grub_afs_sblock): Likewise.
14453 Declare `name' as char.
14454 (grub_afs_inode): Declare as packed.
14455 Change void *vnode to grub_uint32_t unused.
14456 (grub_afs_iterate_dir): Check that key_size is positive.
14457 (grub_afs_mount): Don't read superblock twice.
75421ca9 14458 (grub_afs_dir): Don't free node in case of error,
186f3189 14459 grub_fshelp_find_file already handles this.
14460 (grub_afs_open): Likewise.
14461
5680109e 144622009-07-19 Pavel Roskin <proski@gnu.org>
14463
14464 * Makefile.in: Remove LIBLZO and enable_lzo.
14465 * conf/i386-pc.rmk: Remove lzo support.
14466 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
14467 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
14468 support.
14469 * kern/i386/pc/lzo1x.S: Remove.
14470 * kern/i386/pc/startup.S: Remove lzo support.
14471 * util/i386/pc/grub-mkimage.c: Likewise.
14472
ac70fa32 144732009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
14476 * fs/xfs.c (grub_xfs_dir): Likewise.
14477 * fs/afs.c (grub_afs_dir): Likewise.
14478 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
14479 (grub_iso9660_open): Likewise.
14480 * fs/jfs.c (grub_jfs_open): Likewise.
14481 * fs/ext2.c (grub_ext2_dir): Likewise.
14482 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
14483 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 14484
eab58da2 144852009-07-16 Pavel Roskin <proski@gnu.org>
14486
d2838156 14487 * configure.ac: Never add "-c" to CFLAGS.
14488
55c70904 14489 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
14490
43e6200c 14491 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
14492 grub_cv_cc_efiemu should be used.
14493
ce7a733d 14494 * configure.ac: Typo fixes.
14495
eab58da2 14496 * kern/mm.c (grub_zalloc): New function.
14497 (grub_debug_zalloc): Likewise.
14498 * include/grub/mm.h: Declare grub_zalloc() and
14499 grub_debug_zalloc().
14500 * util/misc.c (grub_zalloc): New function.
14501 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
14502 instead of grub_malloc(), remove unneeded initializations.
14503 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
14504 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
14505 * commands/parttool.c (grub_cmd_parttool): Likewise.
14506 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14507 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
14508 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
14509 * disk/usbms.c (grub_usbms_finddevs): Likewise.
14510 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
14511 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
14512 (grub_cmd_efiemu_pnvram): Likewise.
14513 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
14514 * fs/iso9660.c (grub_iso9660_mount): Likewise.
14515 (grub_iso9660_iterate_dir): Likewise.
14516 * fs/jfs.c (grub_jfs_opendir): Likewise.
14517 * fs/ntfs.c (list_file): Likewise.
14518 (grub_ntfs_mount): Likewise.
14519 * kern/disk.c (grub_disk_open): Likewise.
14520 * kern/dl.c (grub_dl_load_core): Likewise.
14521 * kern/elf.c (grub_elf_file): Likewise.
14522 * kern/env.c (grub_env_context_open): Likewise.
14523 (grub_env_set): Likewise.
14524 (grub_env_set_data_slot): Likewise.
14525 * kern/file.c (grub_file_open): Likewise.
14526 * kern/fs.c (grub_fs_blocklist_open): Likewise.
14527 * loader/i386/multiboot.c (grub_module): Likewise.
14528 * loader/xnu.c (grub_xnu_create_key): Likewise.
14529 (grub_xnu_create_value): Likewise.
14530 * normal/main.c (grub_normal_add_menu_entry): Likewise.
14531 (read_config_file): Likewise.
14532 * normal/menu_entry.c (make_screen): Likewise.
14533 * partmap/sun.c (sun_partition_map_iterate): Likewise.
14534 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
14535 * script/sh/script.c (grub_script_parse): Likewise.
14536 * video/bitmap.c (grub_video_bitmap_create): Likewise.
14537 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14538 * video/readers/png.c (grub_png_output_byte): Likewise.
14539 (grub_video_reader_png): Likewise.
14540
830afef7 145412009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 14542
14543 Enable all targets that can be built by default
14544
830afef7 14545 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 14546 grub-mkfont and grub-fstest if they can be built
14547
ee293aee 145482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 Fix hang and segmentation fault in grub-emu-usb
14551
14552 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
14553 * util/usb.c (grub_libusb_devices): likewise
14554 (grub_libusb_init): rename to ...
14555 (GRUB_MOD_INIT (libusb)):...this
14556 (grub_libusb_fini): rename to ..
14557 (GRUB_MOD_FINI (libusb)):...this
14558 * disk/usbms.c (grub_usbms_transfer): fix retry logic
14559 * include/grub/disk.h (grub_raid_init): removed, it's useless
14560 (grub_raid_fini): likewise
14561 (grub_lvm_init): likewise
14562 (grub_lvm_fini): likewise
14563 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
14564 by grub_init_all
14565
94414221 145662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 Fix libusb
14569
14570 * Makefile.in (LIBUSB): new macro
14571 * genmk.rb (Utility/print_tail): new method
14572 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
14573 (top level): call util.print_tail at the end.
14574
59ade63d 145752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 Make FreeBSD accept zpool.cache
14578
14579 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
14580 type is /boot/zfs/zpool.cache
14581
a58da8c7 145822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 Fix 64-bit efiemu
14585
14586 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
14587 correct wrong typedef
14588 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
14589
20591577 145902009-07-15 Pavel Roskin <proski@gnu.org>
14591
560ca572 14592 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
14593 * kern/disk.c (struct grub_disk_cache): Likewise.
14594
e8e8e4fd 14595 * commands/probe.c (options): Typo fix.
14596
fde24e10 14597 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
14598 Increase to 0x5a to accommodate FAT32. Adjust other offsets
14599 accordingly.
14600 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
14601
379c54c1 14602 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
14603 the end of "Error" to make the message more readable.
14604
7bd8f5bf 14605 * boot/i386/pc/boot.S (kernel_segment): Remove.
14606 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
14607 for destination.
14608
40b132c5 14609 * boot/i386/pc/boot.S (boot_version): Remove.
14610 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14611 Remove.
14612
20591577 14613 * include/grub/i386/pc/boot.h: Sort all offsets.
14614 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
14615 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
14616 * boot/i386/pc/boot.S: Assert location of every offset listed in
14617 include/grub/i386/pc/boot.h.
14618
2df32b2c 146192009-07-13 Pavel Roskin <proski@gnu.org>
14620
44b5d879 14621 * include/grub/i386/coreboot/machine.h: Rename
14622 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
14623 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
14624 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
14625
17dc3751 14626 * kern/dl.c: Force native word size to suppress warnings when
14627 compiling grub-emu.
14628
2df32b2c 14629 * kern/device.c (grub_device_iterate): Change struct part_ent to
14630 hold the name, not a pointer to it. Use one grub_malloc() per
14631 partition, not two. Free partition_name if grub_malloc() fails.
14632 Set ents to NULL only before grub_partition_iterate() is called.
14633
75c59f59 146342009-07-11 Bean <bean123ch@gmail.com>
14635
14636 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
14637 childname.
14638
0ae1bf88 146392009-07-10 Bean <bean123ch@gmail.com>
146402009-07-10 Robert Millan <rmh.grub@aybabtu.com>
14641
14642 * kern/ieee1275/openfw.c (grub_children_iterate)
14643 (grub_devalias_iterate): Fix size evaluation for property or path
14644 strings, which was broken since r2132.
14645
8279cade 146462009-07-07 Pavel Roskin <proski@gnu.org>
14647
7d8a52d3 14648 * commands/search.c (search_file): Merge into ...
14649 (search_fs): ... this. Accept search type as argument.
14650 (grub_cmd_search): Pass search type to search_fs().
14651
25f9a05a 14652 * include/grub/util/console.h: New file.
14653 * util/console.c: Use it instead of grub/machine/console.h.
14654 * util/grub-emu.c: Likewise.
14655
8279cade 14656 * lib/arg.c (find_long_option): Remove.
14657 (find_long): Add `len' argument, make `s' const char *.
14658 (grub_arg_parse): Parse long options in place, not in a
14659 temporary buffer.
14660
4a11b60f 146612009-07-06 Pavel Roskin <proski@gnu.org>
14662
99f68041 14663 * commands/search.c (search_fs): Fix potential NULL pointer
14664 dereference.
14665
4a11b60f 14666 * commands/search.c (search_fs): Replace QUID macro with quid_fn
14667 function pointer.
14668
e110f4de 146692009-07-06 Daniel Mierswa <impulze@impulze.org>
14670
14671 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
14672 comparison.
14673
46eeb6a2 146742009-07-05 Pavel Roskin <proski@gnu.org>
14675
bab74958 14676 * include/grub/i386/linux.h (struct linux_kernel_params):
14677 Restore padding3, it's still needed.
14678
46eeb6a2 14679 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
14680 FreeBSD.
14681 * util/osdetect.lua: Likewise.
14682
b4a1dc79 146832009-07-05 Bean <bean123ch@gmail.com>
14684
14685 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
14686
14687 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
14688 (grub_lua_getenv): Likewise.
14689 (grub_lua_setenv): Likewise.
14690 (save_errno): New function.
14691 (push_result): Likewise.
14692 (grub_lua_enum_device): Likewise.
14693 (grub_lua_enum_file): Likewise.
14694 (grub_lua_file_open): Likewise.
14695 (grub_lua_file_close): Likewise.
14696 (grub_lua_file_seek): Likewise.
14697 (grub_lua_file_read): Likewise.
14698 (grub_lua_file_getline): Likewise.
14699 (grub_lua_file_getsize): Likewise.
14700 (grub_lua_file_getpos): Likewise.
14701 (grub_lua_file_eof): Likewise.
14702 (grub_lua_file_exist): Likewise.
14703 (grub_lua_add_menu): Likewise.
14704
14705 * script/lua/grub_lua.h (isupper): New inline function.
14706 (islower): Likewise.
14707 (ispunct): Likewise.
14708 (isxdigit): Likewise.
14709 (strcspn): Change to normal function.
14710 (strpbkr): New function declaration.
14711 (memchr): Likewise.
14712
14713 * script/lua/grub_main.c (scan_str): New function.
14714 (strcspn): Likewise.
14715 (strpbrk): Likewise.
14716 (memchr): Likewise.
14717
14718 * script/lua/linit.c (lualibs): Enable the string library.
14719
14720 * util/osdetect.lua: New file.
14721
2da92295 147222009-07-04 Robert Millan <rmh.grub@aybabtu.com>
14723
14724 * include/grub/i386/linux.h (struct linux_kernel_params): Add
14725 `capabilities' member.
14726
b2582ec9 147272009-07-02 Pavel Roskin <proski@gnu.org>
14728
14729 * genparttoollist.sh: Add missing newline at the end.
14730
32622956 147312009-07-01 Pavel Roskin <proski@gnu.org>
14732
87a7339e 14733 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
14734
d23af54e 14735 * util/hostdisk.c (open_device): Remove `const' from
14736 `sysctl_size', as sysctlbyname() can change it (in this case it
14737 doesn't actually happen).
14738
c94b18a9 14739 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
14740 using signed long int constants.
14741
c6cd3ef0 14742 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
14743 constant to avoid a warning on FreeBSD.
14744
0df63420 14745 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
14746 where it's needed.
14747
999577f1 14748 * Makefile.in: Install include/grub/machine symlink.
14749
6f41557f 14750 * Makefile.in: When installing symlinks, use "cp -fR", which
14751 works on FreeBSD and MacOSX.
14752 From Yves Blusseau <cl7m42e02@sneakemail.com>
14753
c8d22988 14754 * kern/dl.c (grub_dl_resolve_symbol): Make static.
14755 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
14756
1b96e952 14757 * util/misc.c: Move grub_reboot() and grub_halt() ...
14758 * util/grub-emu.c: ... here. Make main_env static.
14759 * include/grub/util/misc.h: Remove main_env.
14760
2ef0084d 14761 * kern/mm.c: Use correct format to print size_t.
14762
32622956 14763 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
14764 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
14765 * kern/powerpc/dl.c: Likewise.
14766 * kern/sparc64/dl.c: Likewise.
14767 * kern/x86_64/dl.c: Likewise.
14768
3f7f0cd0 147692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14770
14771 Fix grub-emu build on sparc64-ieee1275.
14772
75421ca9 14773 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 14774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
14775
211d06b5 147762009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14777
14778 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
14779 (grub_reboot, grub_halt): New functions.
14780
14781 * util/i386/pc/misc.c: Delete. Update all users.
14782 * util/sparc64/ieee1275/misc.c: Likewise.
14783 * util/powerpc/ieee1275/misc.c: Likewise.
14784
aaf53e3c 147852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14786
14787 * conf/i386.rmk (setjmp_mod_SOURCES)
14788 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
14789 * conf/common.rmk (setjmp_mod_SOURCES)
14790 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
14791 to use $(target_cpu).
14792 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
14793 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
14794 * conf/powerpc-ieee1275.rmk: Likewise.
14795 * conf/sparc64-ieee1275.rmk: Likewise.
14796
14797 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
14798 $(target_cpu) for kern/$(target_cpu)/dl.c.
14799 * conf/i386-efi.rmk: Likewise.
14800 * conf/i386-ieee1275.rmk: Likewise.
14801 * conf/x86_64-efi.rmk: Likewise.
14802 * conf/i386-coreboot.rmk: Likewise.
14803 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
14804 $(target_cpu) for kern/$(target_cpu)/dl.c and for
14805 kern/$(target_cpu)/cache.S.
14806 * conf/sparc64-ieee1275.rmk: Likewise.
14807
a337130b 148082009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14809
14810 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
14811 type to `grub_uint8_t', and adjust `padding9' accordingly.
14812
c6fe4d53 148132009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14814
b09db61d 14815 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
14816
c6fe4d53 14817 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
14818 assembly in final jump, using register constraints.
14819
b09db61d 14820 (grub_linux_boot): For text mode, initialize `have_vga' using
14821 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
14822
14823 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
14824 right before the final jump.
14825
14826 Set `video_mode' to 0x3.
14827
14828 Document initialization of `video_page', `video_mode' and
14829 `video_ega_bx'.
14830
28333ad0 148312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14832
14833 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
14834 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 14835 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 14836
02164e1b 148372009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14838
14839 Fix build on Debian / sparc.
14840
14841 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
14842
18b6c557 148432009-06-28 Pavel Roskin <proski@gnu.org>
14844
85f2aab6 14845 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
14846 fix a warning.
14847
18b6c557 14848 * util/grub.d/10_linux.in: Match SUSE style initrd names.
14849
ad760f81 148502009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14851
14852 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
14853 `err'.
14854
87a4623b 148552009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14856
14857 Revert r2338.
14858
14859 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
14860 file can't be opened. grub_file_open() is already supposed to set
75421ca9 14861 grub_errno / grub_errmsg appropriately.
87a4623b 14862 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14863
8231fb77 148642009-06-27 Pavel Roskin <proski@gnu.org>
148652009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14866
14867 * include/grub/dl.h: Include grub/elf.h.
14868 (struct grub_dl): Add symtab field.
14869 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
14870 GRUB_MODULES_MACHINE_READONLY.
14871 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
14872 of the header for read-only modules.
14873 (grub_dl_unload): Free mod->symtab for read-only modules.
14874 * kern/i386/dl.c: Use mod->symtab.
14875 * kern/powerpc/dl.c: Likewise.
14876 * kern/sparc64/dl.c: Likewise.
14877 * kern/x86_64/dl.c: Likewise.
14878
14879 * conf/i386-qemu.rmk: New file.
14880 * kern/i386/qemu/startup.S: Likewise.
14881 * kern/i386/qemu/mmap.c: Likewise.
14882 * boot/i386/qemu/boot.S: Likewise.
14883 * include/grub/i386/qemu/time.h: Likewise.
14884 * include/grub/i386/qemu/serial.h: Likewise.
14885 * include/grub/i386/qemu/kernel.h: Likewise.
14886 * include/grub/i386/qemu/console.h: Likewise.
14887 * include/grub/i386/qemu/boot.h: Likewise.
14888 * include/grub/i386/qemu/init.h: Likewise.
14889 * include/grub/i386/qemu/machine.h: Likewise.
14890 * include/grub/i386/qemu/loader.h: Likewise.
14891 * include/grub/i386/qemu/memory.h: Likewise.
14892
14893 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
14894 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
14895 [qemu] (pkglib_IMAGES): Add `boot.img'.
14896 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
14897 [qemu] (boot_img_FORMAT): New variables.
14898 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
14899 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
14900 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
14901 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14902 [qemu] (kernel_img_FORMAT): New variables.
14903
14904 * configure.ac: Recognise `i386-qemu'.
14905
14906 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
14907 (for no compression).
14908 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
14909 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
14910 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
14911 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
14912 ifdefs).
14913
97fe384e 149142009-06-27 Pavel Roskin <proski@gnu.org>
14915
14916 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
14917 read.
14918 * efiemu/prepare32.c: Likewise.
14919 * efiemu/prepare64.c: Likewise.
14920
c402ab17 149212009-06-26 Pavel Roskin <proski@gnu.org>
14922
14923 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
14924 * include/grub/elf.h: Define symbols without "32" or "64" based
14925 on GRUB_TARGET_WORDSIZE.
14926 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
14927 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
14928 ELF definitions.
14929 * efiemu/loadcore64.c: Likewise.
14930 * loader/i386/bsd32.c: Likewise.
14931 * loader/i386/bsd64.c: Likewise.
14932 * kern/dl.c: Remove own ELF definitions.
14933 * util/i386/efi/grub-mkimage.c: Likewise.
14934
9bbdfd4d 149352009-06-23 Robert Millan <rmh.grub@aybabtu.com>
14936
14937 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
14938 segment 0x0 unconditionally, because the reference generated by
14939 GAS is an absolute address.
14940
a42ce6e9 149412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14942
14943 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
14944 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
14945
c952cf92 149462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14947
14948 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
14949 indexes. Check for -f explicitly.
cc3752ad 14950 (search_file): Improve error message.
14951 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 14952
132a0a59 149532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14954
14955 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
14956 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
14957
387a140c 149582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14959
14960 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
14961 * conf/i386-ieee1275.rmk: Likewise.
14962 * conf/i386-coreboot.rmk: Likewise.
14963
14964 * kern/i386/pc/startup.S (grub_stop): Remove function.
14965 * kern/i386/ieee1275/startup.S: Likewise.
14966 * kern/i386/coreboot/startup.S: Likewise.
14967 * kern/i386/misc.S (grub_stop): New function.
14968
41da9665 149692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14970
14971 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
14972 * kern/i386/realmode.S (real_to_prot): ... to here.
14973
bf337234 149742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14975
14976 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
14977 with `kernel.img'.
14978 (kernel_elf_SOURCES): Rename to ...
14979 (kernel_img_SOURCES): ... this.
14980 (kernel_elf_HEADERS): Rename to ...
14981 (kernel_img_HEADERS): ... this. Update all users.
14982 (kernel_elf_ASFLAGS): Rename to ...
14983 (kernel_img_ASFLAGS): ... this.
14984 (kernel_elf_CFLAGS): Rename to ...
14985 (kernel_img_CFLAGS): ... this.
14986 (kernel_elf_LDFLAGS): Rename to ...
14987 (kernel_img_LDFLAGS): ... this.
14988 * conf/i386-coreboot.rmk: Likewise.
14989 * conf/powerpc-ieee1275.rmk: Likewise.
14990
14991 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
14992 with "kernel.img".
14993
f52196ff 149942009-06-21 Pavel Roskin <proski@gnu.org>
14995
c3cee413 14996 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
14997 to match nested functions.
14998 * loader/sparc64/ieee1275/linux.c: Likewise.
14999
f52196ff 15000 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
15001
58750afc 150022009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15003
15004 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
15005 all i386 platforms.
15006
15355c7d 150072009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15008
15009 Fix asm file handling on ELF, and remove workarounds.
15010
15011 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 15012 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 15013 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
15014 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
15015
3f3ec72b 150162009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 Load BSD ELF modules
15019
15020 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
15021 and loader/i386/bsd64.c
15022 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
15023 (FREEBSD_MODTYPE_ELF_MODULE): New definition
15024 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
15025 (grub_freebsd_load_elfmodule32): New declaration
15026 (grub_freebsd_load_elfmoduleobj64): Likewise
15027 (grub_freebsd_load_elf_meta32): Likewise
15028 (grub_freebsd_load_elf_meta64): Likewise
15029 (grub_freebsd_add_meta): Likewise
15030 (grub_freebsd_add_meta_module): Likewise
15031 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
15032 (grub_freebsd_add_meta_module): Likewise and move module-specific
15033 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
15034 (grub_cmd_freebsd): Add elf-kernel specific parts
15035 based on grub_freebsd_add_meta_module
15036 (grub_cmd_freebsd_module): Add type parsing moved from
15037 grub_freebsd_add_meta_module
15038 (grub_cmd_freebsd_module_elf): New function
15039 (cmd_freebsd_module_elf): New variable
15040 (GRUB_MOD_INIT): Register freebsd_module_elf
15041 * loader/i386/bsd32.c: New file
15042 * loader/i386/bsd64.c: Likewise
15043 * loader/i386/bsdXX.c: Likewise
15044 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
15045 (grub_elf64_load): Likewise
15046 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
15047 All users updated
15048 (grub_elf64_load_hook_t): Likewise
15049
0db15301 150502009-06-21 Colin Watson <cjwatson@ubuntu.com>
15051
15052 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
15053 variable.
15054 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
15055 don't write a menu entry for recovery mode.
15056
546796c1 150572009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15058
15059 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
15060 after it's no longer needed.
15061
cd7310d5 150622009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15063
15064 * include/grub/i386/loader.h (grub_linux_prot_size)
15065 (grub_linux_tmp_addr, grub_linux_real_addr)
15066 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
15067 GRUB_MACHINE_PCBIOS.
15068 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
15069 common grub_util_info() call to ...
15070 (generate_image): ... here.
15071 Fix use of uninitialized memory, comparison of signed with
15072 unsigned integers and memory leak.
15073 Remove bogus module address message.
15074
ab32d3b5 150752009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15076
15077 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
15078 grub_raid_register
15079 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
15080
024ef597 150812009-06-19 Pavel Roskin <proski@gnu.org>
15082
15083 * configure.ac: Remove stray AC_MSG_CHECKING.
15084
3ac72b51 150852009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 15088
e14cd814 150892009-06-18 Pavel Roskin <proski@gnu.org>
15090
15091 * conf/common.rmk: Add fs_file.mod.
15092 * disk/fs_file.c: New file.
15093 * include/grub/disk.h (enum grub_disk_dev_id): Add
15094 GRUB_DISK_DEVICE_FILE_ID.
15095
26586d98 150962009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15097
15098 Fix build with Apple's toolchain. Part 2
15099
15100 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
15101 a fake start
15102
26de2bcd 151032009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15104
15105 Fix build with Apple's toolchain. Part 1
15106
15107 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
15108 for long calls
15109 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 15110 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 15111 Apple's toolchain
15112
09b3490b 151132009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15114
15115 Fix warnings
15116
15117 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
15118 (decomp_block): initialize ch
15119 use grub_memcpy instead of memcpy
15120
c22a006a 151212009-06-17 Pavel Roskin <proski@gnu.org>
15122
d3638678 15123 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
15124 version, use declarations needed to use vga_text as the startup
15125 console.
15126
c22a006a 15127 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
15128 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
15129 the kernel.
15130 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
15131 and grub_at_keyboard_fini(), it's done on module load and
15132 unload.
15133
05b129e0 151342009-06-17 Felix Zielcke <fzielcke@z-51.de>
15135
15136 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
15137 file can't be found.
15138 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15139
cf24ed9e 151402009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15141
15142 Fix newline handling
15143
15144 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 15145 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 15146 (grub_script_yylex): don't segfault on unterminated script
15147 newline terminates command and variable
15148
74aa8e4b 151492009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 avoid double grub_adjust_range call. Bug reported by David Simner
15152
15153 * kern/disk.c (grub_disk_write): change to raw disk access before
15154 calling disk_read
15155
1bd265f3 151562009-06-17 Colin Watson <cjwatson@ubuntu.com>
15157
15158 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
15159 spaces, for the benefit of help2man.
15160 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15161
a2d08c06 151622009-06-16 Pavel Roskin <proski@gnu.org>
15163
15164 * kern/i386/halt.c: Include grub/machine/init.h.
15165 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
15166
b97bcb19 151672009-06-16 Felix Zielcke <fzielcke@z-51.de>
15168
15169 * util/grub.d/30_os-prober.in: Use ${root} in the generated
15170 drivemap menuentry.
15171
0644f96c 151722009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
15173
15174 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
15175 `echo' command.
15176
3ef17a2e 151772009-06-16 Pavel Roskin <proski@gnu.org>
15178
15179 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
15180 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
15181 save %dx, we only need %dl and we never change it.
15182 * boot/i386/pc/cdboot.S: Don't set the root drive.
15183 * boot/i386/pc/pxeboot.S: Likewise.
15184 * include/grub/i386/pc/boot.h: Remove
15185 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
15186 GRUB_BOOT_MACHINE_DRIVE_CHECK.
15187 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
15188 * kern/i386/pc/init.c (make_install_device): Remove references
15189 to grub_root_drive.
15190 * kern/i386/pc/startup.S: Likewise.
15191 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
15192
693fe637 151932009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 xnu_uuid command
15196
15197 * commands/xnu_uuid.c: new file
15198 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
15199 (xnu_uuid_mod_SOURCES): new variable
15200 (xnu_uuid_mod_CFLAGS): likewise
15201 (xnu_uuid_mod_LDFLAGS): likewise
15202 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15203 * conf/i386-ieee1275.rmk: likewise
15204 * conf/i386-pc.rmk: likewise
15205 * conf/powerpc-ieee1275.rmk: likewise
15206 * conf/sparc64-ieee1275.rmk: likewise
15207 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
15208
c9da87d0 152092009-06-16 Pavel Roskin <proski@gnu.org>
15210
15211 * configure.ac: Avoid '==' in test command, it's not portable.
15212
9c6f4596 152132009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 Probe command
15216
15217 * commands/probe.c: new file
15218 * conf/common.rmk (pkglib_MODULES): add probe.mod
15219 (probe_mod_SOURCES): new variable
15220 (probe_mod_CFLAGS): likewise
15221 (probe_mod_LDFLAGS): likewise
15222 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15223 * conf/i386-ieee1275.rmk: likewise
15224 * conf/i386-pc.rmk: likewise
15225 * conf/powerpc-ieee1275.rmk: likewise
15226 * conf/sparc64-ieee1275.rmk: likewise
15227
70b7f9fd 152282009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
15229
15230 Fix handling of string like \"hello\" and "a
15231 b"
15232
15233 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
15234 (grub_script_yylex): fix parsing of quoting, escaping and newline
15235
71c79a6b 152362009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
15237
dd74360c 15238 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 15239 handling
dd74360c 15240
0644f96c 152412009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 15242
15243 * util/grub-mkconfig.in: Fix parsing of --output option.
15244
e40893c3 152452009-06-12 Pavel Roskin <proski@gnu.org>
15246
15247 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
15248 genmk.rb don't need to be generated or installed.
15249
3a1acfe2 152502009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 * commands/i386/pc/drivemap_int13h.S: add more comments
15253
3a4575d4 152542009-06-11 Pavel Roskin <proski@gnu.org>
15255
0658e928 15256 * Makefile.in (uninstall): Uninstall manuals.
15257
ca0388f0 15258 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
15259 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
15260 and update-grub_lib in two places.
15261 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
15262
e3b27c39 15263 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
15264 a compiler warning.
15265
3a4575d4 15266 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
15267 `entry_lo' to fix variable shadowing.
15268
af1f4f55 152692009-06-11 Christian Franke <franke@computer.org>
15270
15271 * kern/misc.c (__enable_execute_stack): Add missing return type
15272 to prevent gcc warning.
15273
5225e649 152742009-06-11 Felix Zielcke <fzielcke@z-51.de>
15275
15276 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
15277
7d83bd47 152782009-06-11 Pavel Roskin <proski@gnu.org>
15279
c1cb63ba 15280 * Makefile.in: Don't rely on any scripts being executable.
15281 Always use $(SHELL) to run shell scripts.
15282
7d83bd47 15283 * configure.ac: Always define ___main if using -nostdlib. This
15284 fixes tests on Cygwin.
15285
948f48e7 152862009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
15287
15288 UDF fix
15289
7d83bd47 15290 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 15291 is in bytes and not in blocks
7d83bd47 15292
8ada9bc1 152932009-06-11 Pavel Roskin <proski@gnu.org>
15294
15295 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
15296 warning.
15297
25ad2323 152982009-06-11 Felix Zielcke <fzielcke@z-51.de>
15299
15300 * util/grub.d/30_os-prober.in: Fix a comment. Source
15301 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
15302 to set the root device. Place drivemap command in the generated
15303 chain entry.
15304
e65acb0c 153052009-06-11 Pavel Roskin <proski@gnu.org>
15306
15307 * configure.ac: Remove host_m32. Issues with 64-bit utilities
15308 have long been resolved.
15309
f285fe2d 153102009-06-11 Colin Watson <cjwatson@ubuntu.com>
15311
bd47b0b5 15312 * util/grub.d/10_linux.in: Capitalise "Linux".
15313
f285fe2d 15314 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
15315
a0c62e4e 153162009-06-11 Pavel Roskin <proski@gnu.org>
15317
b6783cb2 15318 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
15319 fix a gcc warning and ensure that the function won't ever exit.
15320
dde032e8 15321 * kern/i386/ieee1275/init.c: Add missing prototype for
15322 grub_stop_floppy().
15323
22cd079d 15324 * loader/ieee1275/multiboot2.c [__i386__]: Include
15325 grub/cpu/multiboot.h.
15326
a0c62e4e 15327 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
15328 casts to short - they are not portable and cause warnings. Fix
15329 use of uninitialized values in input_buf. Use ARRAY_SIZE.
15330
63963d17 153312009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 Drivemap fixes
15334
15335 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
15336 new function
15337 (grub_get_root_biosnumber_saved): new variable
15338 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
15339 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 15340 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 15341 %dx after the call if necessary
15342 * conf/common.rmk (pkglib_MODULES): remove boot.mod
15343 (boot_mod_SOURCES): remove
15344 (boot_mod_CFLAGS): remove
15345 (boot_mod_LDFLAGS): remove
15346 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
15347 (boot_mod_SOURCES): new variable
15348 (boot_mod_CFLAGS): likewise
15349 (boot_mod_LDFLAGS): likewise
15350 * conf/i386-efi.rmk: likewise
15351 * conf/i386-ieee1275.rmk: likewise
15352 * conf/i386-pc.rmk: likewise
15353 * conf/powerpc-ieee1275.rmk: likewise
15354 * conf/sparc64-ieee1275.rmk: likewise
15355 * conf/x86_64-efi.rmk: likewise
15356 * include/grub/i386/pc/biosnum.h: new file
15357 * lib/i386/pc/biosnum.c: likewise
15358 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
15359 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
15360 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 15361
33abf7ae 153622009-06-10 Pavel Roskin <proski@gnu.org>
15363
5ac35b35 15364 * io/gzio.c (test_header): Don't reuse one buffer for all data.
15365 Use separate variables. Read only the file size at the end, but
15366 not the checksum that we don't use.
15367
5c5215d5 15368 * kern/file.c (grub_file_read): Use void pointer for the buffer.
15369 Adjust all callers.
15370
27d5fef7 15371 * kern/ieee1275/openfw.c: Remove libc includes.
15372 * kern/ieee1275/cmain.c: Likewise.
15373 * include/grub/ieee1275/ieee1275.h: Likewise.
15374
33abf7ae 15375 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
15376 compiler warnings.
15377
19d50c2b 153782009-06-10 Felix Zielcke <fzielcke@z-51.de>
15379
15380 * Makefile.in: Remove all trailing whitespace.
15381 * conf/i386-pc.rmk: Likewise.
15382 * conf/powerpc-ieee1275.rmk: Likewise.
15383 * conf/sparc64-ieee1275.rmk: Likewise.
15384 * docs/grub.texi: Likewise.
15385 * docs/texinfo.tex: Likewise.
15386 * disk/fs_uuid.c: Likewise.
15387 * disk/lvm.c: Likewise.
15388 * disk/scsi.c: Likewise.
15389 * disk/ata.c: Likewise.
15390 * disk/ieee1275/ofdisk.c: Likewise.
15391 * disk/i386/pc/biosdisk.c: Likewise.
15392 * disk/host.c: Likewise.
15393 * disk/raid.c: Likewise.
15394 * disk/efi/efidisk.c: Likewise.
15395 * disk/usbms.c: Likewise.
15396 * disk/memdisk.c: Likewise.
15397 * disk/loopback.c: Likewise.
15398 * kern/powerpc/dl.c: Likewise.
15399 * kern/device.c: Likewise.
15400 * kern/dl.c: Likewise.
15401 * kern/sparc64/dl.c: Likewise.
15402 * kern/ieee1275/ieee1275.c: Likewise.
15403 * kern/term.c: Likewise.
15404 * kern/fs.c: Likewise.
15405 * kern/i386/dl.c: Likewise.
15406 * kern/i386/pc/startup.S: Likewise.
15407 * kern/i386/pc/init.c: Likewise.
15408 * kern/i386/pc/mmap.c: Likewise.
15409 * kern/i386/pc/lzo1x.S: Likewise.
15410 * kern/i386/ieee1275/init.c: Likewise.
15411 * kern/i386/realmode.S: Likewise.
15412 * kern/i386/tsc.c: Likewise.
15413 * kern/partition.c: Likewise.
15414 * kern/corecmd.c: Likewise.
15415 * kern/file.c: Likewise.
15416 * kern/efi/efi.c: Likewise.
15417 * kern/efi/init.c: Likewise.
15418 * kern/efi/mm.c: Likewise.
15419 * kern/main.c: Likewise.
15420 * kern/err.c: Likewise.
15421 * kern/env.c: Likewise.
15422 * kern/disk.c: Likewise.
15423 * kern/generic/millisleep.c: Likewise.
15424 * kern/generic/rtc_get_time_ms.c: Likewise.
15425 * kern/misc.c: Likewise.
15426 * kern/parser.c: Likewise.
15427 * genmk.rb: Likewise.
15428 * configure.ac: Likewise.
15429 * boot/i386/pc/diskboot.S: Likewise.
15430 * boot/i386/pc/pxeboot.S: Likewise.
15431 * boot/i386/pc/boot.S: Likewise.
15432 * boot/i386/pc/lnxboot.S: Likewise.
15433 * boot/i386/pc/cdboot.S: Likewise.
15434 * parttool/pcpart.c: Likewise.
15435 * video/readers/tga.c: Likewise.
15436 * video/video.c: Likewise.
15437 * video/bitmap.c: Likewise.
15438 * lib/envblk.c: Likewise.
15439 * lib/i386/setjmp.S: Likewise.
15440 * fs/xfs.c: Likewise.
15441 * fs/afs.c: Likewise.
15442 * fs/fat.c: Likewise.
15443 * fs/ntfs.c: Likewise.
15444 * fs/udf.c: Likewise.
15445 * fs/affs.c: Likewise.
15446 * fs/iso9660.c: Likewise.
15447 * fs/hfs.c: Likewise.
15448 * fs/fshelp.c: Likewise.
15449 * fs/ext2.c: Likewise.
15450 * fs/jfs.c: Likewise.
15451 * fs/reiserfs.c: Likewise.
15452 * fs/hfsplus.c: Likewise.
15453 * fs/minix.c: Likewise.
15454 * fs/cpio.c: Likewise.
15455 * fs/sfs.c: Likewise.
15456 * fs/ufs.c: Likewise.
15457 * efiemu/prepare.c: Likewise.
15458 * efiemu/loadcore_common.c: Likewise.
15459 * efiemu/runtime/efiemu.sh: Likewise.
15460 * efiemu/runtime/efiemu.S: Likewise.
15461 * efiemu/runtime/efiemu.c: Likewise.
15462 * efiemu/pnvram.c: Likewise.
15463 * efiemu/main.c: Likewise.
15464 * efiemu/i386/pc/cfgtables.c: Likewise.
15465 * efiemu/i386/loadcore64.c: Likewise.
15466 * efiemu/i386/loadcore32.c: Likewise.
15467 * efiemu/loadcore.c: Likewise.
15468 * efiemu/symbols.c: Likewise.
15469 * efiemu/mm.c: Likewise.
15470 * include/grub/autoefi.h: Likewise.
15471 * include/grub/datetime.h: Likewise.
15472 * include/grub/term.h: Likewise.
15473 * include/grub/hfs.h: Likewise.
15474 * include/grub/lvm.h: Likewise.
15475 * include/grub/i386/tsc.h: Likewise.
15476 * include/grub/i386/linux.h: Likewise.
15477 * include/grub/i386/xnu.h: Likewise.
15478 * include/grub/i386/efiemu.h: Likewise.
15479 * include/grub/i386/pc/biosdisk.h: Likewise.
15480 * include/grub/i386/pc/memory.h: Likewise.
15481 * include/grub/i386/pc/vbe.h: Likewise.
15482 * include/grub/parttool.h: Likewise.
15483 * include/grub/video.h: Likewise.
15484 * include/grub/memory.h: Likewise.
15485 * include/grub/fs.h: Likewise.
15486 * include/grub/partition.h: Likewise.
15487 * include/grub/xnu.h: Likewise.
15488 * include/grub/efi/api.h: Likewise.
15489 * include/grub/efi/pe32.h: Likewise.
15490 * include/grub/efi/memory.h: Likewise.
15491 * include/grub/multiboot.h: Likewise.
15492 * include/grub/usbdesc.h: Likewise.
15493 * include/grub/multiboot2.h: Likewise.
15494 * include/grub/acpi.h: Likewise.
15495 * include/grub/efiemu/efiemu.h: Likewise.
15496 * include/grub/disk.h: Likewise.
15497 * include/grub/ieee1275/ieee1275.h: Likewise.
15498 * include/grub/net.h: Likewise.
15499 * include/grub/machoload.h: Likewise.
15500 * include/grub/macho.h: Likewise.
15501 * include/multiboot.h: Likewise.
15502 * genmoddep.awk: Likewise.
15503 * normal/main.c: Likewise.
15504 * normal/menu_entry.c: Likewise.
15505 * normal/menu_viewer.c: Likewise.
15506 * normal/completion.c: Likewise.
15507 * normal/cmdline.c: Likewise.
15508 * normal/misc.c: Likewise.
15509 * normal/datetime.c: Likewise.
15510 * bus/usb/usbtrans.c: Likewise.
15511 * bus/usb/ohci.c: Likewise.
15512 * bus/usb/uhci.c: Likewise.
15513 * bus/usb/usb.c: Likewise.
15514 * mmap/efi/mmap.c: Likewise.
15515 * mmap/i386/pc/mmap_helper.S: Likewise.
15516 * mmap/i386/pc/mmap.c: Likewise.
15517 * mmap/i386/mmap.c: Likewise.
15518 * mmap/i386/uppermem.c: Likewise.
15519 * mmap/mmap.c: Likewise.
15520 * commands/acpi.c: Likewise.
15521 * commands/echo.c: Likewise.
15522 * commands/blocklist.c: Likewise.
15523 * commands/loadenv.c: Likewise.
15524 * commands/usbtest.c: Likewise.
15525 * commands/boot.c: Likewise.
15526 * commands/parttool.c: Likewise.
15527 * commands/search.c: Likewise.
15528 * commands/cat.c: Likewise.
15529 * commands/i386/pc/play.c: Likewise.
15530 * commands/i386/pc/drivemap.c: Likewise.
15531 * commands/i386/pc/vbeinfo.c: Likewise.
15532 * commands/i386/pc/acpi.c: Likewise.
15533 * commands/i386/pc/vbetest.c: Likewise.
15534 * commands/ls.c: Likewise.
15535 * commands/cmp.c: Likewise.
15536 * commands/test.c: Likewise.
15537 * commands/efi/acpi.c: Likewise.
15538 * commands/gptsync.c: Likewise.
15539 * commands/help.c: Likewise.
15540 * partmap/amiga.c: Likewise.
15541 * partmap/apple.c: Likewise.
15542 * partmap/acorn.c: Likewise.
15543 * partmap/pc.c: Likewise.
15544 * partmap/sun.c: Likewise.
15545 * partmap/gpt.c: Likewise.
15546 * script/sh/lexer.c: Likewise.
15547 * script/sh/function.c: Likewise.
15548 * font/font.c: Likewise.
15549 * font/font_cmd.c: Likewise.
15550 * loader/powerpc/ieee1275/linux.c: Likewise.
15551 * loader/efi/chainloader.c: Likewise.
15552 * loader/multiboot_loader.c: Likewise.
15553 * loader/macho.c: Likewise.
15554 * loader/i386/multiboot.c: Likewise.
15555 * loader/i386/linux.c: Likewise.
15556 * loader/i386/pc/linux.c: Likewise.
15557 * loader/i386/pc/multiboot2.c: Likewise.
15558 * loader/i386/pc/chainloader.c: Likewise.
15559 * loader/i386/pc/xnu.c: Likewise.
15560 * loader/i386/bsd_trampoline.S: Likewise.
15561 * loader/i386/efi/linux.c: Likewise.
15562 * loader/i386/multiboot_elfxx.c: Likewise.
15563 * loader/i386/bsd_helper.S: Likewise.
15564 * loader/i386/bsd.c: Likewise.
15565 * loader/i386/linux_trampoline.S: Likewise.
15566 * loader/i386/xnu_helper.S: Likewise.
15567 * loader/i386/xnu.c: Likewise.
15568 * loader/i386/bsd_pagetable.c: Likewise.
15569 * loader/i386/multiboot_helper.S: Likewise.
15570 * loader/xnu.c: Likewise.
15571 * loader/xnu_resume.c: Likewise.
15572 * io/gzio.c: Likewise.
15573 * term/efi/console.c: Likewise.
15574 * term/terminfo.c: Likewise.
15575 * term/ieee1275/ofconsole.c: Likewise.
15576 * term/i386/pc/serial.c: Likewise.
15577 * term/i386/pc/vesafb.c: Likewise.
15578 * term/i386/pc/vga.c: Likewise.
15579 * term/usb_keyboard.c: Likewise.
15580 * term/gfxterm.c: Likewise.
15581 * aclocal.m4: Likewise.
15582 * util/lvm.c: Likewise.
15583 * util/grub.d/30_os-prober.in: Likewise.
15584 * util/grub.d/10_hurd.in: Likewise.
15585 * util/console.c: Likewise.
15586 * util/grub-macho2img.c: Likewise.
15587 * util/grub-probe.c: Likewise.
15588 * util/hostfs.c: Likewise.
15589 * util/i386/pc/grub-mkimage.c: Likewise.
15590 * util/i386/pc/grub-setup.c: Likewise.
15591 * util/i386/efi/grub-mkimage.c: Likewise.
15592 * util/grub-mkconfig.in: Likewise.
15593 * util/raid.c: Likewise.
15594 * util/resolve.c: Likewise.
15595 * util/grub-mkdevicemap.c: Likewise.
15596 * util/grub-emu.c: Likewise.
15597 * util/getroot.c: Likewise.
15598 * util/hostdisk.c: Likewise.
15599 * util/usb.c: Likewise.
15600 * util/grub-editenv.c: Likewise.
15601 * util/misc.c: Likewise.
15602
d2d49665 156032009-06-10 Felix Zielcke <fzielcke@z-51.de>
15604
15605 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
15606 `genparttoollist.sh'.
15607 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
15608 Add `*.sh' to the list find searches for and change `mdate.sh'
15609 to `mdate-sh'.
15610
fe052e37 156112009-06-10 Pavel Roskin <proski@gnu.org>
15612
2763ac18 15613 * include/grub/multiboot2.h: Provide compatibility defines for
15614 multiboot2.h.
15615 * include/multiboot2.h: Include stdint.h only if needed, using
15616 angle brackets.
15617 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
15618 grub/multiboot2.h.
15619 * loader/ieee1275/multiboot2.c: Likewise.
15620 * loader/multiboot2.c: Likewise.
15621 * loader/multiboot_loader.c: Likewise.
15622
437e6adc 15623 * configure.ac: Use -nostdlib when probing for the target. It
15624 should not be required to have libc for the target.
15625
06a6836c 15626 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
15627 they fail without libc headers for the target.
15628 * include/grub/powerpc/libgcc.h: Use weak attribute for all
15629 exports.
15630 * include/grub/sparc64/libgcc.h: Likewise. Don't use
15631 preprocessor conditionals.
15632
fe052e37 15633 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
15634 build system doesn't need to be aware of the tar.c internals.
15635
afd22553 156362009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 15637
afd22553 15638 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 15639
6b787c4f 156402009-06-09 Robert Millan <rmh.grub@aybabtu.com>
15641
15642 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
15643 disk limit to 26 for IDE, Virtio, Xen and SCSI.
15644
156452009-06-09 Felix Zielcke <fzielcke@z-51.de>
15646
15647 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 15648 aren't available if ata.mod gets used.
6b787c4f 15649
473d1e45 156502009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 15651
473d1e45 15652 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 15653 initialising controller.
473d1e45 15654 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 15655
255a27d4 156562009-06-08 Felix Zielcke <fzielcke@z-51.de>
15657
15658 * util/i386/pc/grub-install.in: Add a parameter --disk-module
15659 to choose between ata and biosdisk module on i386-pc.
15660
473d1e45 156612009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 15662
d55842d8 15663 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
15664 Subclass and Programming Interface fields in terms of the 3 byte
15665 Class Code register.
15666 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15667
fa5db0b1 15668 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
15669 interface is OHCI. Add grub_dprintf for symmetry with
15670 bus/usb/uhci.c.
15671 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
15672 interface is UHCI. Add interf variable for programming
15673 interface. Print interface with class/subclass.
15674
c0947beb 15675 * bus/usb/ohci.c: Set interf with correct field.
15676
69da8877 15677 * bus/usb/uhci.c: Remove unneeded doubled lines.
15678 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
15679 Remove whitespace inside comment.
15680
9e172e30 156812009-06-08 Robert Millan <rmh.grub@aybabtu.com>
15682
15683 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
15684 as fallback an equivalent option without depth.
15685
de65ee2b 156862009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 Not fail if unable to retrieve C/H/S on LBA disks
15689
473d1e45 15690 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 15691 if unable to retrieve C/H/S on LBA disks
15692
b57ea2c9 156932009-06-08 Pavel Roskin <proski@gnu.org>
15694
15695 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
15696 about aliasing.
15697
af361263 156982009-06-08 Felix Zielcke <fzielcke@z-51.de>
15699
15700 * Makefile.in (uninstall): Remove all $lib_DATA files.
15701
4c9ec6b3 157022009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 Bugfix: install on partitionless device
15705
15706 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
15707 is a whole disk
15708
e76fc924 157092009-06-08 Felix Zielcke <fzielcke@z-51.de>
15710
15711 * Makefile.in (uninstall): Remove all $include_DATA files.
15712
ba5a0d05 157132009-06-08 Felix Zielcke <fzielcke@z-51.de>
15714
15715 * commands/true.c: New file. Implement the true and false commands.
15716 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
15717 (true_mod_SOURCES): New variable.
15718 (true_mod_CFLAGS): Likewise.
15719 (true_mod_LDFLAGS): Likewise.
15720
c8048e32 157212009-06-05 Colin D Bennett <colin@gibibit.com>
15722
15723 Optimized font character lookup using binary search instead of linear
15724 search. Fonts now are required to have the character index ordered by
15725 code point.
15726
15727 * font/font.c (load_font_index): Verify that fonts have ordered
15728 character indices.
15729 (find_glyph): Use binary search instead of linear search to find a
15730 character in a font.
15731
408305be 157322009-06-05 Michael Scherer <misc@mandriva.org>
15733
15734 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
15735 uses case sensitive btree.
15736 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
15737 only for case insensitive filesystems.
15738
8ee1e0d9 157392009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
15740
15741 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
15742 * conf/common.rmk (search_mod_CFLAGS): likewise
15743
a9966eb1 157442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15745
473d1e45 15746 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 15747 compensate a compiler bug
15748
9e7100fb 157492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15750
473d1e45 15751 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 15752 instead of '\b'
473d1e45 15753
ede21d71 157542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 Definitions for creating asm symbols with Apple's CC
15757
15758 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
15759 [APPLE_CC] (VARIABLE): likewise
15760
9dbf7653 157612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 Disable lnxboot.img when compiled
15764 with Apple's CC
15765
15766 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
15767 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
15768 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
15769 [! APPLE_CC] (CODE_LENG): skip
15770 [! APPLE_CC] (setup_sects): likewise
15771 [! APPLE_CC]: skip filling
473d1e45 15772
e93cdc3d 157732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 Address in trampolines based on 32-bit registers when compiled
15776 with Apple's CC
15777
473d1e45 15778 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 15779 for addresses
15780 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
15781
6c688477 157822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 Avoid aliases when compiling with Apple's CC for PCBIOS machine
15785
15786 * kern/misc.c [APPLE_CC] (memcpy): new function
15787 [APPLE_CC] (memmove): likewise
15788 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 15789 (memcpy): define alias conditionally on !APPLE_CC
6c688477 15790 (memset): likewise
15791 (abort): likewise
15792 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
15793 APPLE_CC are defined
15794 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
15795 (grub_assert_fail): make prototype conditional
15796
e37ffc5c 157972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
15800
473d1e45 15801 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
15802 grub-macho2img
e37ffc5c 15803 (CLEANFILES): add grub-macho2img
15804 (grub_macho2img_SOURCES): new variable
15805 * kern/i386/pc/startup.S (bss_start): new variable
15806 (bss_end): likewise
15807 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
15808 * util/grub-macho2img.c: new file
15809
cf00df31 158102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 Use objconv when compiling with Apple's CC
15813
15814 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
15815 (efiemu64.o): likewise
15816 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
15817 when compiling with Apple's CC
15818 (efiemu64_s.o): likewise
15819 * configure.ac: check for objconv when compiling with Apple's CC
15820 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 15821
d119a20c 158222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 Define segment as well as section when compiling with
15825 Apple's CC
15826
15827 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
15828 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
15829 (efiemu_convert_pointer): likewise
15830 (efiemu_set_virtual_address_map): likewise
15831 (efiemu_convert_pointer): likewise
15832 (efiemu_getcrc32): likewise
15833 (init_crc32_table): likewise
15834 (reflect): likewise
15835 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
15836 (GRUB_MOD_DEP): likewise
473d1e45 15837
c8600122 158382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 Allow a compilation without -mcmodel=large
15841
15842 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
15843 when compiled without -mcmodel=large
473d1e45 15844 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 15845 without -mcmodel=large
473d1e45 15846 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 15847 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 15848
e8df1d4e 158492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 Remove nested functions in efiemu core
15852
15853 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 15854
cc6c3ac1 158552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
15858
15859 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
15860 temporary storage
473d1e45 15861 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
15862 using Apple's CC
cc6c3ac1 15863 (grub_cpu_is_tsc_supported): likewise
15864 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 15865
3e325901 158662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15867
15868 Absolute addressing through constant with Apple's cc
15869
15870 * kern/i386/pc/startup.S: Define necessary constants
15871 and address through it when using ABS with Apple's CC
15872 * boot/i386/pc/diskboot.S: likewise
15873 * boot/i386/pc/boot.S: likewise
15874 * boot/i386/pc/lnxboot.S: likewise
15875 * boot/i386/pc/cdboot.S: likewise
15876 * mmap/i386/pc/mmap_helper.S: likewise
15877 * commands/i386/pc/drivemap_int13h.S: likewise
15878
2b167a72 158792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 Check if compiler is apple cc
15882
15883 * Makefile.in (ASFLAGS): new variable
15884 (TARGET_ASFLAGS): likewise
15885 (TARGET_MODULE_FORMAT): likewise
15886 (TARGET_APPLE_CC): likewise
15887 (OBJCONV): likewise
15888 (TARGET_IMG_CFLAGS): likewise
15889 (TARGET_CPPFLAGS): add includedir
15890 * configure.ac: call grub_apple_cc and grub_apple_target_cc
15891 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
15892 Check for linker script only if compiler isn't Apple's CC
15893 (TARGET_MODULE_FORMAT): set
15894 (TARGET_APPLE_CC): likewise
15895 (TARGET_ASFLAGS): likewise
15896 (ASFLAGS): likewise
15897 Check for objcopy only if compiler isn't Apple's CC
15898 Check for BSS symbol only if compiler isn't Apple's CC
15899 * genmk.rb: adapt nm options if we use Apple's utils
15900 * aclocal.m4 (grub_apple_cc): new test
15901 (grub_apple_target_cc): likewise
473d1e45 15902
fb14123e 159032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 Simplify sed expressions and improve awk
15906
15907 * Makefile.in (install-local): simplify sed expression
15908 * gencmdlist.sh: likewise
15909 * genmoddep.awk: avoid adding module as a dependency of itself
15910
5b889789 159112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 Add missing start symbols
15914
15915 * boot/i386/pc/boot.S: add start
fb14123e 15916 * boot/i386/pc/pxeboot.S: likewise
473d1e45 15917
fd2bf2e3 159182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15919
15920 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 15921
15922 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 15923 (relocate_addresses): consider both r_addend and value at offset
15924 (make_mods_section): zerofill modinfo and header
15925 (convert_elf): write prefix here
473d1e45 15926
5389763d 159272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 Use .asciz instead of .string
15930
15931 * i386/pc/diskboot.S: use .asciz instead of .string
15932 * i386/pc/boot.S: likewise
15933 * include/grub/dl.h (GRUB_MOD_DEP): likewise
15934 (GRUB_MOD_NAME): likewise
473d1e45 15935
3eb5ed4e 159362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15937
15938 gfxpayload support
15939
15940 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
15941 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
15942 (grub_video_setup): remove
15943 (grub_video_set_mode): new prototype
15944 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
15945 (vid_mode): remove
15946 (linux_vesafb_res): compile only on PCBIOS
15947 (grub_linux_boot): support gfxpayload
15948 * loader/i386/pc/xnu.c (video_hook): new function
15949 (grub_xnu_set_video): support gfxpayload
15950 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
15951 (DEFAULT_VIDEO_HEIGHT): likewise
15952 (DEFAULT_VIDEO_FLAGS): likewise
15953 (DEFAULT_VIDEO_MODE): new definition
15954 (video_hook): new function
15955 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 15956 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 15957 loading xnu
15958 * video/video.c (grub_video_setup): removed
473d1e45 15959 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 15960 grub_video_setup
15961
4b0e1143 159622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 Avoid calling biosdisk in drivemap
15965
15966 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
15967 (revparse_biosdisk): likewise
15968 (list_mappings): derive name from id directly
15969 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 15970
fda6cb98 159712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15972
15973 Script fixes
15974
15975 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
15976 (grub_lexer_param): add tokenonhold
15977 (grub_script_create_cmdline): remove cmdline. All callers updated
15978 (grub_script_function_create): make functionname
15979 grub_script_arg. All callers updated
15980 (grub_script_execute_argument_to_string): new prototype
15981 * kern/parser.c (state_transitions): reorder
15982 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 15983 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 15984 make global
15985 (grub_script_execute_cmdline): use new format
15986 * script/sh/function.c (grub_script_function_create): make functionname
15987 grub_script_arg. All callers updated
473d1e45 15988 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 15989 (grub_script_yylex): remove
15990 (grub_script_yylex2): renamed to ...
15991 (grub_script_yylex): ...renamed
15992 parse the expressions like a${b}c
15993 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
15994 (GRUB_PARSER_TOKEN_VAR): remove
15995 (GRUB_PARSER_TOKEN_NAME): likewise
15996 ("if"): declare as typeless
15997 ("while"): likewise
15998 ("function"): likewise
15999 ("else"): likewise
16000 ("then"): likewise
16001 ("fi"): likewise
16002 (text): remove
16003 (argument): likewise
16004 (script): accept empty scripts and make exit on error
16005 (arguments): use GRUB_PARSER_TOKEN_ARG
16006 (function): likewise
16007 (command): move error handling to script
16008 (menuentry): move grub_script_lexer_ref before
473d1e45 16009 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 16010 argument. All callers updated
16011
f4448a07 160122009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16013
16014 Prevent GRUB from probing floppies during boot.
16015
16016 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
16017 * commands/search.c (options): Add --no-floppy.
16018 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
16019 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
16020 --no-floppy when searching for UUIDs.
16021
2bf5885a 160222009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16023
16024 Simplify the code duplication in commands/search.c.
16025
16026 * commands/search.c (search_label, search_fs_uuid): Merge into ...
16027 (search_fs): ... this. Update all users.
16028
f6fd460a 160292009-06-03 Felix Zielcke <fzielcke@z-51.de>
16030
16031 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
16032
cbb3c83e 160332009-05-28 Pavel Roskin <proski@gnu.org>
16034
57788cfd 16035 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
16036 Remove the original symlink explicitly.
16037
cbb3c83e 16038 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
16039 just one slash. That's how grub_fshelp_find_file() does it.
16040
cd0d5e30 160412009-05-26 Pavel Roskin <proski@gnu.org>
16042
f0f8bbe2 16043 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
16044 to `str'.
16045
cd0d5e30 16046 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
16047 possibly unused.
16048
8c2cab51 160492009-05-25 Christian Franke <franke@computer.org>
16050
16051 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
16052 register.
16053 (grub_atapi_identify): Add wait after drive select.
16054 (grub_ata_identify): Do more strict status register check before
16055 calling grub_atapi_identify (). Suppress error message if status
16056 register is 0x00 after command failure. Add status register
16057 check after PIO read to avoid bogus identify due to stuck DRQ.
16058 Thanks to Pavel Roskin for testing.
16059 (grub_device_initialize): Remove unsafe status register check.
16060 Thanks to 'phcoder' for problem report and patch.
16061 Prevent sign extension in debug message.
16062
230c0ad6 160632009-05-23 Colin D Bennett <colin@gibibit.com>
16064
16065 Cleaned up `include/grub/normal.h'. Grouped prototypes by
16066 definition file, and functions defined in `normal/menu.c' have had
16067 their prototypes moved to `include/grub/menu.h' for consistency.
16068
16069 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
16070 from normal.h.
16071 (grub_menu_get_entry): Likewise.
16072 (grub_menu_get_timeout): Likewise.
16073 (grub_menu_set_timeout): Likewise.
16074 (grub_menu_execute_entry): Likewise.
16075 (grub_menu_execute_with_fallback): Likewise.
16076 (grub_menu_entry_run): Likewise.
16077
16078 * include/grub/normal.h: Re-ordered and grouped function
16079 prototypes by file that the function is defined in.
16080 (grub_menu_execute_callback): Removed; moved to menu.h.
16081 (grub_menu_get_entry): Likewise.
16082 (grub_menu_get_timeout): Likewise.
16083 (grub_menu_set_timeout): Likewise.
16084 (grub_menu_execute_entry): Likewise.
16085 (grub_menu_execute_with_fallback): Likewise.
16086 (grub_menu_entry_run): Likewise.
16087 (grub_menu_addentry): Renamed from this ...
16088 (grub_normal_add_menu_entry): ... to this.
16089
16090 * normal/main.c (grub_menu_addentry): Renamed from this ...
16091 (grub_normal_add_menu_entry): ... to this.
16092
16093 * script/sh/execute.c (grub_script_execute_menuentry): Update
16094 reference to renamed grub_menu_addentry function.
16095
861f03a5 160962009-05-23 Felix Zielcke <fzielcke@z-51.de>
16097
16098 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
16099
96b1619a 161002009-05-22 Pavel Roskin <proski@gnu.org>
16101
bf6a5fb2 16102 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
16103 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
16104 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
16105 compiling for the i386 targets, but not for the utilities.
16106
96b1619a 16107 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
16108 to grub_uint8_t.
16109 (grub_root_drive): Likewise.
16110 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
16111 remove alignment.
16112 (grub_root_drive): Change size to byte.
16113 (grub_start_addr): Remove.
16114 (grub_end_addr): Likewise.
16115 (grub_apm_bios_info): Likewise.
16116
b729776b 161172009-05-21 Felix Zielcke <fzielcke@z-51.de>
16118
16119 * normal/i386: Remove.
16120 * normal/powerpc: Likewise.
16121 * normal/sparc64: Likewise.
16122 * normal/x86_64: Likewise.
16123
0a15ce80 161242009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16125
16126 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 16127 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 16128 * loader/i386/xnu_helper.S: Likewise
d6da58e6 16129
33db9015 161302009-05-18 Colin D Bennett <colin@gibibit.com>
16131
d6da58e6 16132 Display error messages when parsing a Lua statement fails.
16133 Previously, executing a syntactically invalid statement like
16134 ")foo" or "bar;" would silently fail.
33db9015 16135
16136 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 16137 (grub_lua_parse_line): Improved reporting of Lua parser and
16138 execution errors.
33db9015 16139
46422c89 161402009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 Remove -Werror which causes build to fail on some systems
16143
16144 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
16145 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
16146 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 16147
22f53a96 161482009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 trampoline for linux on 64-bit platform
16151
18f547ad 16152 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
16153 loader/i386/efi/linux_trampoline.S
16154 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 16155 declaration
d6da58e6 16156 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
16157 here
22f53a96 16158 * loader/i386/linux_trampoline.S: moved here
d6da58e6 16159 * loader/i386/efi/linux.c (allocate_pages): reserve space for
16160 trampoline
22f53a96 16161 (jumpvector): removed
16162 (grub_linux_trampoline_start): new declaration
16163 (grub_linux_trampoline_end): likewise
16164 (grub_linux_boot): use trampoline when on 64-bit platform
16165 * loader/i386/linux.c: likewise
16166
cb5a0f40 161672009-05-16 Pavel Roskin <proski@gnu.org>
16168
16169 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
16170 const to avoid a warning.
16171 (grub_lua_setenv): Likewise.
16172 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
16173 lmsg to fix a warning.
16174
334f2c28 161752009-05-16 Felix Zielcke <fzielcke@z-51.de>
16176
16177 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 16178 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16179 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
16180 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16181 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16182 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16183 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16184 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 16185
59e5d3ec 161862009-05-16 Felix Zielcke <fzielcke@z-51.de>
16187
16188 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
16189
9d87a1ba 161902009-05-16 Bean <bean123ch@gmail.com>
16191
16192 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
16193 (lua_mod_SOURCES): New variable.
16194 (lua_mod_CFLAGS): Likewise.
16195 (lua_mod_LDFLAGS): Likewise.
16196
16197 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
16198 (setjmp_mod_SOURCES): New variable.
16199 (setjmp_mod_CFLAGS): Likewise.
16200 (setjmp_LDFLAGS): Likewise.
16201
16202 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
16203 (setjmp_mod_SOURCES): New variable.
16204 (setjmp_mod_CFLAGS): Likewise.
16205 (setjmp_LDFLAGS): Likewise.
16206
16207 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16208 (setjmp_mod_SOURCES): New variable.
16209 (setjmp_mod_CFLAGS): Likewise.
16210 (setjmp_LDFLAGS): Likewise.
16211
16212 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16213 (setjmp_mod_SOURCES): New variable.
16214 (setjmp_mod_CFLAGS): Likewise.
16215 (setjmp_LDFLAGS): Likewise.
16216
16217 * normal/i386/setjmp.S: Moved from here ...
16218 * lib/i386/setjmp.S: ... Moved here
16219 * normal/x86_64/setjmp.S: Moved from here ...
16220 * lib/x86_64/setjmp.S: ... Moved here
16221 * normal/powerpc/setjmp.S: Moved from here ...
16222 * lib/powerpc/setjmp.S: ... Moved here
16223 * normal/sparc64/setjmp.S: Moved from here ...
16224 * lib/sparc64/setjmp.S: ... Moved here
16225
16226 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
16227 returns_twice in mingw.
16228
16229 * script/lua/grub_lib.c: New file.
16230 * script/lua/grub_lib.h: Likewise.
16231 * script/lua/grub_lua.h: Likewise.
16232 * script/lua/grub_main.c: Likewise.
16233 * script/lua/lapi.c: Likewise.
16234 * script/lua/lapi.h: Likewise.
16235 * script/lua/lauxlib.c: Likewise.
16236 * script/lua/lauxlib.h: Likewise.
16237 * script/lua/lbaselib.c: Likewise.
16238 * script/lua/lcode.c: Likewise.
16239 * script/lua/lcode.h: Likewise.
16240 * script/lua/ldblib.c: Likewise.
16241 * script/lua/ldebug.c: Likewise.
16242 * script/lua/ldebug.h: Likewise.
16243 * script/lua/ldo.c: Likewise.
16244 * script/lua/ldo.h: Likewise.
16245 * script/lua/ldump.c: Likewise.
16246 * script/lua/lfunc.c: Likewise.
16247 * script/lua/lfunc.h: Likewise.
16248 * script/lua/lgc.c: Likewise.
16249 * script/lua/lgc.h: Likewise.
16250 * script/lua/linit.c: Likewise.
16251 * script/lua/liolib.c: Likewise.
16252 * script/lua/llex.c: Likewise.
16253 * script/lua/llex.h: Likewise.
16254 * script/lua/llimits.h: Likewise.
16255 * script/lua/lmathlib.c: Likewise.
16256 * script/lua/lmem.c: Likewise.
16257 * script/lua/lmem.h: Likewise.
16258 * script/lua/loadlib.c: Likewise.
16259 * script/lua/lobject.c: Likewise.
16260 * script/lua/lobject.h: Likewise.
16261 * script/lua/lopcodes.c: Likewise.
16262 * script/lua/lopcodes.h: Likewise.
16263 * script/lua/loslib.c: Likewise.
16264 * script/lua/lparser.c: Likewise.
16265 * script/lua/lparser.h: Likewise.
16266 * script/lua/lstate.c: Likewise.
16267 * script/lua/lstate.h: Likewise.
16268 * script/lua/lstring.c: Likewise.
16269 * script/lua/lstring.h: Likewise.
16270 * script/lua/lstrlib.c: Likewise.
16271 * script/lua/ltable.c: Likewise.
16272 * script/lua/ltable.h: Likewise.
16273 * script/lua/ltablib.c: Likewise.
16274 * script/lua/ltm.c: Likewise.
16275 * script/lua/ltm.h: Likewise.
16276 * script/lua/lua.h: Likewise.
16277 * script/lua/luaconf.h: Likewise.
16278 * script/lua/lualib.h: Likewise.
16279 * script/lua/lundump.c: Likewise.
16280 * script/lua/lundump.h: Likewise.
16281 * script/lua/lvm.c: Likewise.
16282 * script/lua/lvm.h: Likewise.
16283 * script/lua/lzio.c: Likewise.
16284 * script/lua/lzio.h: Likewise.
16285
5e898c9d 162862009-05-16 Bean <bean123ch@gmail.com>
16287
16288 * include/grub/kernel.h (grub_module_header_types): Add type
16289 OBJ_TYPE_CONFIG.
16290
16291 * kern/main.c (grub_load_config): New function.
16292 (grub_main): Call grub_load_config to read boot config.
16293
16294 * grub-mkimage (generate_image): New parameter config_path.
16295 (options): New option --config.
16296 (main): Parse --config option, and pass it to generate_image.
16297
cf353a47 162982009-05-14 Christian Franke <franke@computer.org>
16299
16300 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
16301 This fixes build on Cygwin.
16302
3834887f 163032009-05-14 Pavel Roskin <proski@gnu.org>
16304
16305 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
16306 jump. This saves two bytes, so the typical case of 2 swapped
16307 drives would fit 32 bytes.
16308
8090fc01 163092009-05-13 Pavel Roskin <proski@gnu.org>
16310
ac963883 16311 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
16312 grub_uint32_t to avoid a warning.
16313
8090fc01 16314 * loader/i386/linux.c (allocate_pages): When assigning
16315 real_mode_mem, cast through grub_size_t to fix a warning. The
16316 code already makes sure that the value would fit a pointer.
16317 (grub_linux_setup_video): Cast render_target->data to
16318 grub_size_t to fix a warning.
16319
18f547ad 163202009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 16321
16322 * commands/i386/pc/drivemap.c: New file - implement drivemap
16323 command.
16324 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
16325 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
16326
6f6a8b28 163272009-05-13 Pavel Roskin <proski@gnu.org>
16328
16329 * util/i386/pc/grub-setup.c (setup): Remove unused variable
16330 embedding_area_exists.
16331
15fbf4c4 163322009-05-13 Robert Millan <rmh.grub@aybabtu.com>
16333
16334 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
16335 it easier to understand / work with.
59978c8a 16336 Improve warning messages for cases where there's no embedding area,
16337 or when it is too small (or core.img too large).
15fbf4c4 16338
238e871f 163392009-05-13 Pavel Roskin <proski@gnu.org>
16340
0ab3a9a4 16341 * loader/i386/pc/multiboot2.c: Add necessary includes for
16342 grub_multiboot2_real_boot().
16343
a2c8c5f8 16344 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
16345 PX record is always little-endian. We only need the lower 2
16346 bytes of the mode.
16347
faec96af 16348 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
16349 facilitate code reuse.
16350 (grub_cpio_mount): Use "struct head", not a char buffer. This
16351 fixes a warning reported by gcc 4.4.
16352
238e871f 16353 * kernel/disk.c (grub_disk_read): Use void pointer for the
16354 buffer.
16355 (grub_disk_write): Use const void pointer for the buffer.
16356 Adjust all callers. Remove unnecessary casts.
16357
901d2f0c 163582009-05-10 Robert Millan <rmh.grub@aybabtu.com>
16359
16360 * util/i386/pc/grub-install.in: Update copyright year.
16361
18f547ad 163622009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 16363
16364 gptsync
16365
16366 * commands/gptsync.c: new file
16367 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
16368 (gptsync_mod_SOURCES): new variable
16369 (gptsync_mod_CFLAGS): likewise
16370 (gptsync_mod_LDFLAGS): likewise
18f547ad 16371 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 16372 new definition
16373 (GRUB_PC_PARTITION_TYPE_HFS): likewise
16374 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
16375 * conf/i386-ieee1275.rmk: likewise
16376 * conf/i386-pc.rmk: likewise
16377 * conf/powerpc-ieee1275.rmk: likewise
16378
b4ba690a 163792009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16380
16381 Fixed grub-emu
16382
16383 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
16384 (grub_dl_ref): likewise
16385
317e1a44 163862009-05-08 Robert Millan <rmh.grub@aybabtu.com>
16387
16388 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
16389 split in two functions (one for msdos and one for gpt).
16390
041b8094 163912009-05-08 Pavel Roskin <proski@gnu.org>
16392
752473c2 16393 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
16394 not modified.
16395
041b8094 16396 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
16397 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
16398 Initialize them with -1. Add sanity check for bad1. Eliminate
16399 nerr variable.
16400
172800ce 164012009-05-08 David S. Miller <davem@davemloft.net>
16402
16403 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
16404
29aa5e81 164052009-05-06 Robert Millan <rmh.grub@aybabtu.com>
16406
16407 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 16408 existence.
29aa5e81 16409
96613b62 164102009-05-05 Felix Zielcke <fzielcke@z-51.de>
16411
16412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 16413 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 16414
eef73c8a 164152009-05-05 David S. Miller <davem@davemloft.net>
16416
16417 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
16418
119494b5 164192009-05-05 Pavel Roskin <proski@gnu.org>
16420
16421 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
16422 of grub_dl_ref() and grub_dl_unref().
16423 * commands/parttool.c: Remove preprocessor conditionals around
16424 grub_dl_ref() and grub_dl_unref().
16425 * fs/affs.c: Likewise.
16426 * fs/afs.c: Likewise.
16427 * fs/cpio.c: Likewise.
16428 * fs/ext2.c: Likewise.
16429 * fs/fat.c: Likewise.
16430 * fs/hfs.c: Likewise.
16431 * fs/hfsplus.c: Likewise.
16432 * fs/iso9660.c: Likewise.
16433 * fs/jfs.c: Likewise.
16434 * fs/minix.c: Likewise.
16435 * fs/ntfs.c: Likewise.
16436 * fs/reiserfs.c: Likewise.
16437 * fs/sfs.c: Likewise.
16438 * fs/udf.c: Likewise.
16439 * fs/ufs.c: Likewise.
16440 * fs/xfs.c: Likewise.
16441 * include/grub/dl.h: Likewise.
16442 * loader/xnu.c: Likewise.
16443
de5fd76e 164442009-05-04 Pavel Roskin <proski@gnu.org>
16445
16446 * commands/acpi.c: Remove unused variable my_mod.
16447 * partmap/amiga.c: Likewise.
16448 * partmap/apple.c: Likewise.
16449 * partmap/gpt.c: Likewise.
16450 * partmap/pc.c: Likewise.
16451 * partmap/sun.c: Likewise.
16452 * term/gfxterm.c: Likewise.
16453 * term/i386/pc/vesafb.c: Likewise.
16454 * term/i386/pc/vga.c: Likewise.
16455
983598ad 164562009-05-04 David S. Miller <davem@davemloft.net>
16457
16458 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
16459 pointer args to grub_ieee1275_get_property().
16460
8aadec43 16461 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
16462
9554b15e 16463 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
16464 devices, and do not traverse down under controller nodes.
16465
67e23c90 16466 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
16467 (grub_ofdisk_open): Use it to un-escape "," characters.
16468 * kern/disk.c (find_part_sep): New.
16469 (grub_disk_open): Use it to find the first non-escaped ','
16470 character in the disk name.
16471 * util/ieee1275/devicemap.c (escape_of_path): New.
16472 (grub_util_emit_devicemap_entry): Use it.
16473 * util/sparc64/ieee1275/grub-install.in: Update script to
16474 strip partition specifiers properly by not triggering on
16475 '\' escaped ',' characters.
16476
74bfdd2f 164772009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16478
16479 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
16480 to 0x300.
16481 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
16482 resolutions.
16483 (linux_vesafb_modes): Add a lot of additional modes to the list (based
16484 on documentation from Wikipedia).
16485
4241d2b1 164862009-05-04 Pavel Roskin <proski@gnu.org>
16487
16488 * disk/ata.c: Spelling fixes.
16489 * disk/raid.c: Likewise.
16490 * disk/usbms.c: Likewise.
16491 * disk/dmraid_nvidia.c: Likewise.
16492 * kern/ieee1275/openfw.c: Likewise.
16493 * kern/ieee1275/init.c: Likewise.
16494 * kern/ieee1275/cmain.c: Likewise.
16495 * boot/i386/pc/cdboot.S: Likewise.
16496 * video/readers/png.c: Likewise.
16497 * video/i386/pc/vbe.c: Likewise.
16498 * fs/udf.c: Likewise.
16499 * fs/hfs.c: Likewise.
16500 * fs/reiserfs.c: Likewise.
16501 * efiemu/runtime/efiemu.c: Likewise.
16502 * efiemu/main.c: Likewise.
16503 * efiemu/mm.c: Likewise.
16504 * include/grub/elf.h: Likewise.
16505 * include/grub/xnu.h: Likewise.
16506 * include/grub/usbdesc.h: Likewise.
16507 * include/grub/usb.h: Likewise.
16508 * include/grub/script_sh.h: Likewise.
16509 * include/grub/lib/LzmaEnc.h: Likewise.
16510 * include/grub/efiemu/efiemu.h: Likewise.
16511 * include/grub/command.h: Likewise.
16512 * normal/menu.c: Likewise.
16513 * normal/main.c: Likewise.
16514 * normal/datetime.c: Likewise.
16515 * bus/usb/uhci.c: Likewise.
16516 * mmap/i386/uppermem.c: Likewise.
16517 * mmap/mmap.c: Likewise.
16518 * commands/acpi.c: Likewise.
16519 * commands/test.c: Likewise.
16520 * partmap/apple.c: Likewise.
16521 * font/font.c: Likewise.
16522 * loader/sparc64/ieee1275/linux.c: Likewise.
16523 * loader/macho.c: Likewise.
16524 * loader/i386/bsd_trampoline.S: Likewise.
16525 * loader/i386/bsd.c: Likewise.
16526 * loader/xnu.c: Likewise.
16527 * term/i386/pc/vesafb.c: Likewise.
16528 * term/usb_keyboard.c: Likewise.
16529 * util/resolve.c: Likewise.
16530 * util/getroot.c: Likewise.
16531
0cfc0083 165322009-05-04 Felix Zielcke <fzielcke@z-51.de>
16533
16534 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
16535
7c1d00cd 165362009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16537
16538 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
16539 build error.
16540
b01f0548 165412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16542
16543 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
16544 parameter only available on BIOS.
16545
ecc3eb22 165462009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 Removed wrong semicolon in declaration
16549
16550 * grub/misc.h (grub_dprintf): remove semicolon
16551
112972a9 165522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16553
16554 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
16555 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
16556 is done by grub_cmd_linux() now).
16557 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
16558 restore video to text mode.
16559 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
16560 indicates lack of "vga=" parameter. "vga=0" is mapped to
16561 `GRUB_LINUX_VID_MODE_NORMAL'.
16562
afd5c115 165632009-05-04 Felix Zielcke <fzielcke@z-51.de>
16564
16565 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
16566 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
16567 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 16568 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 16569 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
16570 `grub_script.tab.c'.
16571
16572 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16573 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16575 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16576 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16577
faa517ce 16578 * Makefile.in: Remove duplicated 2008 in Copyright line.
16579
ae0c0bdc 165802009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16581
473d1e45 16582 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 16583 unconditionally.
16584 * include/grub/util/misc.h (grub_util_warn): New declaration.
16585
16586 * util/i386/pc/grub-install.in: Understand --force and pass it down
16587 to grub-setup.
16588
16589 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
16590 down to setup().
16591 (setup): Improve error messages and add warnings when requested to
16592 install in odd layouts. Refuse to install using blocklists unless
16593 --force was set.
16594
18f547ad 165952009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 16596
16597 * disk/raid.c (grub_raid_scan_device): Improve debug message.
16598
6d260daa 165992009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 Updated copyright year
16602
16603 * fs/hfsplus.c: updated copyright year
18f547ad 16604
69f853f8 166052009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 HFS+ UUID
16608
18f547ad 16609 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 16610 in the space previously used by unused3
16611 (grub_hfsplus_uuid): new function
16612 (grub_hfsplus_fs): added uuid field
16613
4c402e73 166142009-05-03 Pavel Roskin <proski@gnu.org>
16615
16616 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
16617 suppress warnings. It's no longer needed.
16618 * disk/host.c: Likewise.
16619 * disk/ata_pthru.c: Likewise.
16620 * disk/loopback.c: Likewise.
16621 * hook/datehook.c: Likewise.
16622 * parttool/pcpart.c: Likewise.
16623 * fs/i386/pc/pxe.c: Likewise.
16624 * fs/ntfscomp.c: Likewise.
16625 * efiemu/main.c: Likewise.
16626 * mmap/mmap.c: Likewise.
16627 * commands/crc.c: Likewise.
16628 * commands/hexdump.c: Likewise.
16629 * commands/hdparm.c: Likewise.
16630 * commands/acpi.c: Likewise.
16631 * commands/echo.c: Likewise.
16632 * commands/minicmd.c: Likewise.
16633 * commands/blocklist.c: Likewise.
16634 * commands/memrw.c: Likewise.
16635 * commands/loadenv.c: Likewise.
16636 * commands/usbtest.c: Likewise.
16637 * commands/lsmmap.c: Likewise.
16638 * commands/boot.c: Likewise.
16639 * commands/parttool.c: Likewise.
16640 * commands/configfile.c: Likewise.
16641 * commands/search.c: Likewise.
16642 * commands/ieee1275/suspend.c: Likewise.
16643 * commands/cat.c: Likewise.
16644 * commands/i386/pc/pxecmd.c: Likewise.
16645 * commands/i386/pc/play.c: Likewise.
16646 * commands/i386/pc/halt.c: Likewise.
16647 * commands/i386/pc/vbeinfo.c: Likewise.
16648 * commands/i386/pc/vbetest.c: Likewise.
16649 * commands/lspci.c: Likewise.
16650 * commands/date.c: Likewise.
16651 * commands/handler.c: Likewise.
16652 * commands/ls.c: Likewise.
16653 * commands/test.c: Likewise.
16654 * commands/cmp.c: Likewise.
16655 * commands/efi/loadbios.c: Likewise.
16656 * commands/efi/fixvideo.c: Likewise.
16657 * commands/halt.c: Likewise.
16658 * commands/help.c: Likewise.
16659 * commands/reboot.c: Likewise.
16660 * hello/hello.c: Likewise.
16661 * script/sh/main.c: Likewise.
16662 * loader/xnu.c: Likewise.
16663 * term/terminfo.c: Likewise.
16664 * term/i386/pc/serial.c: Likewise.
16665 * term/usb_keyboard.c: Likewise.
16666
515b5079 166672009-05-03 David S. Miller <davem@davemloft.net>
16668
16669 * normal/menu.c: Include grub/parser.h
16670
dfc31a22 166712009-05-03 Pavel Roskin <proski@gnu.org>
16672
2fee74f1 16673 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
16674 not char*.
16675 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
16676 Suggested by Javier Martín <lordhabbit@gmail.com>
16677
dfc31a22 16678 * util/i386/pc/grub-mkrescue.in: Allow for the case when
16679 efiemu??.o doesn't exist.
16680 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
16681 copying.
16682
18f547ad 166832009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 16684
16685 FreeBSD 64-bit support
16686
18f547ad 16687 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 16688 and loader/i386/bsd_trampoline.S
16689 (bsd_mod_ASFLAGS): new variable
16690 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
16691 (FREEBSD_MODTYPE_KERNEL64): likewise
16692 (grub_bsd64_trampoline_start): likewise
16693 (grub_bsd64_trampoline_end): likewise
16694 (grub_bsd64_trampoline_selfjump): likewise
16695 (grub_bsd64_trampoline_gdt): likewise
16696 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
16697 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
16698 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
16699 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 16700 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 16701 of "attrib" member
16702 * loader/i386/bsd_pagetable.c: new file
16703 * loader/i386/bsd_trampoline.S: likewise
16704 * loader/i386/bsd.c (ALIGN_QWORD): new macro
16705 (ALIGN_VAR): likewise
16706 (entry_hi): new variable
16707 (kern_end_mdofs): likewise
16708 (is_64bit): likewise
16709 (grub_freebsd_add_meta): use ALIGN_VAR
16710 (grub_e820_mmap): new declaration
16711 (grub_freebsd_add_mmap): new function
16712 (grub_freebsd_add_meta_module): support 64 bit kernels
16713 (grub_freebsd_list_modules): use ALIGN_VAR
16714 (gdt_descriptor): new declaration
16715 (grub_freebsd_boot): support 64 bit kernels
16716 (grub_bsd_elf64_hook): new function
16717 (grub_bsd_load_elf): support elf64
16718
038c5720 167192009-05-03 Bean <bean123ch@gmail.com>
16720
16721 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
16722 after we get the result of if statement.
16723
fc45fb58 167242009-05-03 Bean <bean123ch@gmail.com>
16725
16726 * Makefile.in (enable_efiemu): New variable.
16727
16728 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
16729 set.
16730 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
16731 path.
16732 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
16733 path, add -mno-red-zone option.
16734 (efiemu64_s.o): Likewise.
16735 (efiemu64.o): Use macro $^ for source file.
16736
16737 * configure.ac (--enable-efiemu): New option.
16738
bbee0f2b 167392009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16740
16741 xnu support
16742
16743 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
16744 (pkglib_MODULES): add xnu.mod
16745 (xnu_mod_SOURCES): new variable
16746 (xnu_mod_CFLAGS): likewise
16747 (xnu_mod_LDFLAGS): likewise
16748 (xnu_mod_ASFLAGS): likewise
16749 * conf/i386-pc.rmk: likewise
16750 * conf/x86_64-efi.rmk: likewise
7dd4a573 16751 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 16752 new declaration
16753 * include/grub/i386/macho.h: new file
16754 * include/grub/i386/xnu.h: likewise
16755 * include/grub/macho.h: likewise
16756 * include/grub/machoload.h: likewise
16757 * include/grub/x86_64/macho.h: likewise
16758 * include/grub/x86_64/xnu.h: likewise
16759 * include/grub/xnu.h: likewise
16760 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
16761 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
16762 * loader/i386/efi/xnu.c: new file
16763 * loader/i386/pc/xnu.c: likewise
16764 * loader/i386/xnu.c: likewise
16765 * loader/i386/xnu_helper.S: likewise
16766 * loader/macho.c: likewise
16767 * loader/xnu.c: likewise
16768 * loader/xnu_resume.c: likewise
16769 * util/grub-dumpdevtree: likewise
16770 * include/grub/i386/pit.h: include grub/err.h
16771 (grub_pit_wait): export
16772 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 16773
5caf964d 167742009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 Efiemu
7dd4a573 16777
5caf964d 16778 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 16779 _linux_efi, linux_efi.
16780 new files in grub-emu
5caf964d 16781 new targets efiemu32.o and efiemu64.o
16782 * loader/linux_normal_efiemu.c: likewise
16783 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 16784 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 16785 files to copy
16786 * include/grub/autoefi.h: new file
7dd4a573 16787 * include/grub/i386/efiemu.h: likewise
5caf964d 16788 * include/grub/i386/pc/efiemu.h: likewise
16789 * include/grub/efi/api.h: add LL suffix when necessary
16790 new definitions relating to tables
16791 * include/grub/efiemu/efiemu.h: new file
16792 * include/grub/efiemu/runtime.h: likewise
16793 * efiemu/prepare.c: likewise
16794 * efiemu/loadcore_common.c: likewise
16795 * efiemu/loadcore64.c: likewise
16796 * efiemu/runtime/efiemu.sh: likewise
16797 * efiemu/runtime/efiemu.S: likewise
16798 * efiemu/runtime/efiemu.c: likewise
16799 * efiemu/runtime/config.h: likewise
16800 * efiemu/prepare32.c: likewise
16801 * efiemu/main.c: likewise
16802 * efiemu/modules/pnvram.c: likewise
16803 * efiemu/modules/i386: likewise
16804 * efiemu/modules/i386/pc: likewise
16805 * efiemu/modules/acpi.c: likewise
16806 * efiemu/i386/pc/cfgtables.c: likewise
16807 * efiemu/i386/loadcore64.c: likewise
16808 * efiemu/i386/loadcore32.c: likewise
16809 * efiemu/prepare64.c: likewise
16810 * efiemu/loadcore.c: likewise
16811 * efiemu/symbols.c: likewise
16812 * efiemu/mm.c: likewise
16813 * efiemu/loadcore32.c: likewise
7dd4a573 16814
168152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 16816
16817 ACPI spoofing
16818
16819 * commands/acpi.c: new file
16820 * commands/i386/pc/acpi.c: likewise
16821 * commands/efi/acpi.c: likewise
16822 * include/grub/acpi.h: likewise
16823 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
16824 (acpi_mod_SOURCES): new variable
16825 (acpi_mod_CFLAGS): likewise
16826 (acpi_mod_LDFLAGS): likewise
16827 * conf/i386-efi.rmk: likewise
16828 * conf/x86_64-efi.rmk: likewise
16829
7dd4a573 168302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 16831
16832 Missing part from mmap patch
16833
16834 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
16835 (grub_mmap_unregister)
16836 (grub_mmap_free_and_unregister): use grub_mmap_register
16837
7dd4a573 168382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 16839
16840 Mmap services
16841
16842 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
16843 * loader/i386/linux.c (find_mmap_size): likewise
16844 (allocate_pages): likewise
16845 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
16846 (grub_fill_multiboot_mmap): likewise
16847 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
16848 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
16849 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
16850 (OPENBSD_MMAP_RESERVED): likewise
16851 * include/grub/i386/pc/memory.h: include grub/memory.h
16852 (grub_lower_mem): removed
16853 (grub_upper_mem): likewise
16854 (GRUB_MACHINE_MEMORY_ACPI): new definition
16855 (GRUB_MACHINE_MEMORY_NVS): likewise
16856 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
16857 (GRUB_MACHINE_MEMORY_HOLE): likewise
16858 (grub_machine_mmap_register): likewise
16859 (grub_machine_mmap_unregister): likewise
16860 (grub_machine_get_upper): likewise
16861 (grub_machine_get_lower): likewise
16862 (grub_machine_get_post64): likewise
16863 * include/grub/i386/efi/memory.h: new file
16864 * include/grub/x86_64/efi/memory.h: likewise
16865 * include/grub/efi/memory.h: likewise
16866 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
16867 (mmap_mod_SOURCES): new variable
16868 (mmap_mod_LDFLAGS): likewise
16869 (mmap_mod_ASFLAGS): likewise
16870 * conf/i386-coreboot.rmk: likewise
16871 * conf/i386-ieee1275.rmk: likewise
16872 * conf/i386-efi.rmk: likewise
16873 * conf/x86_64-efi.rmk: likewise
16874 * include/grub/types.h (UINT_TO_PTR): new macro
16875 (PTR_TO_UINT32): likewise
16876 (PTR_TO_UINT64): likewise
16877 * include/grub/memory.h: new file
16878 * mmap/i386/pc/mmap.c: likewise
16879 * mmap/i386/pc/mmap_helper.S: likewise
16880 * mmap/i386/uppermem.c: likewise
16881 * mmap/mmap.c: likewise
16882 * mmap/efi/mmap.c: likewise
7dd4a573 16883 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 16884 grub_upper_mem
16885 * kern/i386/pc/init.c (grub_lower_mem): removed variable
16886 (grub_upper_mem): likewise
16887 (grub_machine_init): don't use grub_upper_mem,
16888 make grub_lower_mem local
16889 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
16890 grub_mmap_iterate and grub_mmap_get_upper
16891 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
16892
d558e6b5 168932009-05-02 Bean <bean123ch@gmail.com>
16894
16895 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
16896 script/sh/parser.y.
16897 (pkglib_MODULES): Add normal.mod and sh.mod.
16898 (normal_SOURCES): New variable.
16899 (normal_mod_CFLAGS): Likewise.
16900 (normal_mod_LDFLAGS): Likewise.
16901 (sh_mod_SOURCES): Likewise.
16902 (sh_mod_CFLAGS): Likewise.
16903 (sh_mod_LDFLAGS): Likewise.
16904
16905 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
16906 script/sh/lexer.c_DEPENDENCIES.
16907 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
16908 kern/rescue_reader.c and kern/rescue_parser.c.
16909 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
16910 (grub_emu_SOURCES): Change source files.
16911 (pkglib_MODULES): Remove normal.mod.
16912 (normal_SOURCES): Removed.
16913 (normal_mod_CFLAGS): Likewise.
16914 (normal_mod_LDFLAGS): Likewise.
16915 * conf/i386-coreboot.rmk: Likewise.
16916 * conf/i386-efi.rmk: Likewise.
16917 * conf/i386-ieee1276.rmk: Likewise.
16918 * conf/powerpc-ieee1275.rmk: Likewise.
16919 * conf/sparc64-ieee1275.rmk: Likewise.
16920 * conf/x86_64-efi.rmk: Likewise.
16921
16922 * include/grub/command.h (grub_command_execute): New inline function.
16923
16924 * include/grub/menu.h (grub_menu_entry): Removed commands field.
16925
16926 * include/grub/normal.h: Remove <grub/setjmp.h>.
16927 (grub_fs_module_list): Moved to normal/autofs.c.
16928 (grub_exit_env): Removed.
16929 (grub_command_execute): Likewise.
16930 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
16931 parameter script.
16932 (read_command_list): New function declaration.
16933 (read_fs_list): Likewise.
16934
16935 * include/parser.h: Include <grub/reader.h>.
16936 (grub_parser_split_cmdline): Change type of getline parameter.
16937 (grub_parser): New structure.
16938 (grub_parser_class): New variable.
16939 (grub_parser_execute): New function declaration.
16940 (grub_register_rescue_parser): Likewise.
16941 (grub_parser_register): New inline function.
16942 (grub_parser_unregister): Likewise.
16943 (grub_parser_get_current): Likewise.
16944 (grub_parser_set_current): Likewise.
16945
16946 * include/grub/reader.h: New file.
16947 * kern/reader.c: Likewise.
16948 * kern/rescue_parser.c: Likewise.
16949 * kern/rescue_reader.c: Likewise.
16950 * normal/autofs.c: Likewise.
16951 * normal/dyncmd.c: Likewise.
16952
16953 * include/grub/rescue.h: Removed.
16954 * normal/command.h: Likewise.
16955
16956 * include/grub/script.h: Moved to ...
16957 * include/grub/script_sh.h: ... Moved here.
16958 * normal/execute.c: Moved to ...
16959 * script/sh/execute.c: ... Moved here.
16960 * normal/function.c: Moved to ...
16961 * script/sh/function.c: ... Moved here.
16962 * normal/lexer.c: Moved to ...
16963 * script/sh/lexer.c: ... Moved here.
16964 * normal/parser.y: Moved to ...
16965 * script/sh/parser.y: ... Moved here.
16966 * normal/script.c: Moved to ...
16967 * script/sh/script.c: ... Moved here.
16968
16969 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
16970 <grub/reader.h>.
16971 (grub_exit_env): Removed.
16972 (fs_module_list): Moved to normal/autofs.c.
16973 (grub_file_getline): Don't handle comment here.
16974 (free_menu): Skip removed field entry->commands.
16975 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
16976 script parameter.
16977 (read_config_file): Removed nested parameter, change getline function.
16978 (grub_enter_normal_mode): Removed.
16979 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
16980 (read_command_list): Likewise.
16981 (autoload_fs_module): Moved to normal/autofs.c.
16982 (read_fs_list): Likewise.
16983 (reader_nested): New variable.
16984 (grub_normal_execute): Run parser.sh to switch to sh parser.
16985 (grub_cmd_rescue): Removed.
16986 (cmd_normal): Removed.
16987 (grub_cmd_normal): Unregister itself at the beginning. Don't register
16988 rescue command.
16989 (grub_cmdline_run): New function.
16990 (grub_normal_reader_init): Likewise.
16991 (grub_normal_read_line): Likewise.
16992 (grub_env_write_pager): Likewise.
16993 (cmdline): New variable.
16994 (grub_normal_reader): Likewise.
16995 (GRUB_MOD_INIT): Register normal reader and set as current, register
16996 pager hook, register normal command with grub_register_command_prio,
16997 so that it won't show up in command.lst.
16998 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
16999 grub_fs_autoload_hook.
17000
17001 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
17002 (grub_menu_execute_entry): Replace grub_script_execute with
17003 grub_parser_execute, change parameter to grub_command_execute.
17004
17005 * normal/menu_text.c: Remove <grub/script.h>.
17006
17007 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
17008 and <grub/parser.h>.
17009 (run): Change editor_getline to use new parser interface. Change
17010 parameter to grub_command_execute.
17011
17012 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
17013 <grub/reader.h> and <grub/parser.h>.
17014 (grub_load_normal_mode): Execute normal command.
17015 (grub_main): Call grub_register_core_commands,
17016 grub_register_rescue_parser and grub_register_rescue_reader, use
17017 grub_reader_loop to enter input loop.
17018
7dd4a573 17019 * kern/parser.c (grub_parser_split_cmdline): Change type of
17020 getline parameter.
d558e6b5 17021 (grub_parser_class): New variable.
17022 (grub_parser_execute): New function.
17023
17024 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
17025 * loader/multiboot2.c: Likewise.
17026 * loader/sparc64/ieee1275/linux.c: Likewise.
17027
17028 * util/grub-emu.c (read_command_list): New dummy function.
17029
18db813d 170302009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17031
17032 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
17033 count to 16 for CCISS and IDA.
17034
6c67de15 170352009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17036
17037 * normal/menu_text.c (grub_wait_after_message): Print a newline
17038 after waiting for user input.
17039
17040 * loader/i386/linux.c: Include `<grub/normal.h>'.
17041 (grub_cmd_linux): Improve the error message about `ask' mode, by
17042 waiting for user input so it's not missed (we can do this, since
17043 user requested interaction).
17044
d9dc87b0 170452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 Added missing lst to grub-mkrescue
17048
17049 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
17050 and ${input_dir}/parttool.lst
17051
ac8a2baa 170522009-04-30 David S. Miller <davem@davemloft.net>
17053
ad22a610 17054 * util/hostdisk.c (device_is_wholedisk): New function.
17055 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
17056 zero only if device_is_wholedisk() returns true.
17057
6966215d 17058 * util/hostdisk.c (convert_system_partition_to_system_disk):
17059 Handle virtual disk devices named /dev/vdiskX as found on sparc
17060 and powerpc.
17061
ac8a2baa 17062 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
17063 lettered partition specifier is found, convert to numbered.
17064
979b4fb4 170652009-04-29 David S. Miller <davem@davemloft.net>
17066
e2bf39b2 17067 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
17068 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17069
3c64e104 17070 * normal/command.c: Add missing newline at end of file.
17071
979b4fb4 17072 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
17073 warnings.
17074 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
17075 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
17076 grub_ofdisk_read): Likewise, and deal similarly with the fact that
17077 ihandles have a 32-bit type but need to be stored in a "void *".
17078
136d9f82 170792009-04-28 Pavel Roskin <proski@gnu.org>
17080
9459c306 17081 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
17082 not disk. Adjust all dependencies.
2e08a26a 17083 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 17084 grub_disk_close().
17085
136d9f82 17086 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
17087 parent's partition, don't copy it by reference, as it gets freed
17088 on close.
17089
7dd4a573 170902009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 17091
17092 Preboot hooks support
17093
17094 * commands/boot.c (struct grub_preboot_t): new declaration
17095 (preboots_head): new variable
17096 (preboots_tail): likewise
17097 (grub_loader_register_preboot_hook): new function
17098 (grub_loader_unregister_preboot_hook): likewise
17099 (grub_loader_set): launch preboot hooks
17100 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
17101 (grub_loader_register_preboot_hook): new declaration
17102 (grub_loader_unregister_preboot_hook): likewise
17103
5af922b5 171042009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17105
17106 Warning fix
17107
7dd4a573 17108 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 17109 calling grub_dprintf
17110
a5562c30 171112009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 Bug and warning fixes
17114
7dd4a573 17115 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 17116 declaration
17117 * commands/test.c (test_parse): fixed bug with file tests and corrected
17118 declaration of find_file
17119
4006f85c 171202009-04-26 Pavel Roskin <proski@gnu.org>
17121
17122 * Makefile.in: Don't install empty manual pages if help2man is
17123 missing. Use help2man option for output, not shell redirection.
17124
5c77c3de 171252009-04-26 David S. Miller <davem@davemloft.net>
17126
17127 * util/grub-mkdevicemap.c (make_device_map): Add missing
17128 NESTED_FUNC_ATTR to process_device().
17129
033b10a8 171302009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 Test command
17133
17134 * commands/test.c: rewritten to use bash-like test
17135
e4343593 171362009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 Parttool autoloading and improvements
17139
7dd4a573 17140 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 17141 (parttool.lst): new target
17142 * genmk.rb: generate parttool-*
17143 (CLEANFILES): add #{parttool}
17144 (PARTTOOLFILES): new variable
17145 * genparttoollist.sh: new file
7dd4a573 17146 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 17147 (grub_pcpart_type): likewise
17148 * commands/parttool.c (helpmsg): new variable
17149 (grub_cmd_parttool): output help if not enough arguments are supplied
17150 autoload modules
17151 (GRUB_MOD_INIT(parttool)): use helpmsg
17152
0d312500 171532009-04-24 David S. Miller <davem@davemloft.net>
17154
7dd4a573 17155 Avoiding opening same device multiple times in device iterator.
0d312500 17156
17157 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 17158 and use it to build a list of partitions in iterate_disk() and
0d312500 17159 iterate_partition().
17160
ac20caff 17161 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
17162 on disk->data.
17163
0dcf7495 17164 * disk/ieee1275/nand.c (grub_nand_iterate): Return
17165 grub_devalias_iterate() result instead of unconditional 0.
17166 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
17167 Also, capture hook return value, either directly or via
17168 grub_children_iterate(), and propagate to caller.
17169 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
17170 grub_children_iterate): Return value is now 'int' instead of
17171 'grub_err_t'.
17172 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
17173 like a proper iterator, stopping when hooks return non-zero.
17174 (grub_devalias_iterate): Likewise.
17175
c8c08833 171762009-04-23 David S. Miller <davem@davemloft.net>
17177
17178 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
17179
f01005a8 171802009-04-22 David S. Miller <davem@davemloft.net>
17181
17182 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
17183 is larger than address_cells, use that value for address_cells too.
17184
4e8269da 17185 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
17186 IEEE1275_MAX_PATH_LEN): Define.
17187 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
17188 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
17189 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
17190 'devtype'. Explicitly NULL terminate devalias expansion.
17191
a1447506 17192 * util/sparc64/ieee1275/misc.c: New file.
17193 * util/sparc64/ieee1275/grub-setup.c: New file.
17194 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
17195 * util/sparc64/ieee1275/grub-mkimage.c: New file.
17196 * util/sparc64/ieee1275/grub-install.in: New file.
17197 * util/ieee1275/ofpath.c: New file.
17198 * util/ieee1275/devicemap.c: New file.
17199 * util/devicemap.c: New file.
17200 * util/deviceiter.c: New file.
17201 * kern/sparc64/ieee1275/init.c: New file.
17202 * include/grub/util/ofpath.h: New file.
17203 * include/grub/util/deviceiter.h: New file.
17204 * util/grub-mkdevicemap.c: Include deviceiter.h.
17205 Implement using grub_util_emit_devicemap_entry and
17206 grub_util_iterate_devices.
17207 * conf/i386-corebook.rmk: Build util/deviceiter.c and
17208 util/devicemap.c into grub-mkdevicemap
17209 * conf/i386-efi.rmk: Likewise.
17210 * conf/i386-ieee1275.rmk: Likewise.
17211 * conf/i386-pc.rmk: Likewise.
17212 * conf/powerpc-ieee1275.rmk: Likewise.
17213 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
17214 images and installation utilities. Build kernel as image
17215 instead of as elf binary. Use common rules as much as possible.
17216
7dd4a573 172172009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 17218
17219 Correct GPT definition
17220
7dd4a573 17221 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 17222 of "attrib" member
17223
c6c5219f 172242009-04-19 Felix Zielcke <fzielcke@z-51.de>
17225
17226 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
17227
0552ff9f 172282009-04-19 David S. Miller <davem@davemloft.net>
17229
17230 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
17231 (grub_rescue_cmd_linux): Rename to...
17232 (grub_cmd_linux): and fix prototype.
17233 (grub_rescue_cmd_initrd): Rename to...
17234 (grub_cmd_initrd): and fix prototype.
17235 (cmd_linux, cmd_initrd): New.
17236 (GRUB_MOD_INIT(linux)): Use grub_register_command().
17237 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
17238
d1a282fc 172392009-04-17 Pavel Roskin <proski@gnu.org>
17240
07c5039f 17241 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
17242 format.
17243 (grub_ohci_transfer): Likewise.
17244
b012002d 17245 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
17246
1bc09c35 17247 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
17248 return without a value. Fix inconsistent indentation.
17249
e0ff9126 17250 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
17251 match struct grub_fs.
17252
d1a282fc 17253 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
17254 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
17255 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17256 * commands/lspci.c (grub_lspci_iter): Likewise.
17257
a96df3f2 172582009-04-16 Bean <bean123ch@gmail.com>
17259
17260 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
17261 value.
17262
41bb0fe9 172632009-04-15 Pavel Roskin <proski@gnu.org>
17264
17265 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
17266 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
17267 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
17268 definitions.
17269
596c6970 172702009-04-15 Felix Zielcke <fzielcke@z-51.de>
17271
17272 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 17273 that no multiple data or metadata areas are supported and `Unknown
596c6970 17274 metadata header'.
17275
7dd4a573 172762009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 17277
17278 Move loader out of the kernel
17279
17280 * kern/loader.c: moved to ...
17281 * commands/boot.c: ... moved here
17282 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
17283 * commands/boot.c (grub_cmd_boot): moved here. All users updated
17284 * include/grub/kernel.h (grub_machine_fini): export
17285 * include/grub/loader.h (grub_loader_is_loaded): update declaration
17286 (grub_loader_set): likewise
17287 (grub_loader_unset): likewise
17288 (grub_loader_boot): likewise
17289 * conf/common.rmk: new module boot.mod
17290 (pkglib_MODULES): add boot.mod
17291 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
17292 (grub_emu_SOURCES): likewise
17293 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
17294 (grub_emu_SOURCES): likewise
17295 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
17296 (grub_emu_SOURCES): likewise
17297 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
17298 (grub_emu_SOURCES): likewise
17299 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
17300 (grub_emu_SOURCES): likewise
7dd4a573 17301 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
17302 (grub_emu_SOURCES): likewise
0d5d5653 17303 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 17304 (grub_emu_SOURCES): likewise
0d5d5653 17305
7dd4a573 173062009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 17307
17308 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 17309
5999d619 17310 * kern/misc.c (grub_itoa): Removed function
17311 (grub_ltoa): likewise
17312 (grub_vsprintf): use grub_lltoa
17313
7dd4a573 173142009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 17315
17316 Restore grub-emu
17317
17318 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
17319 * conf/i386-coreboot.rmk: likewise
17320 * conf/i386-ieee1275.rmk: likewise
17321 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17322
20318222 173232009-04-15 Felix Zielcke <fzielcke@z-51.de>
17324
17325 * INSTALL: Add that `./autogen.sh' needs to be run before
17326 `./configure.'.
17327
d05f0df3 173282009-04-14 Bean <bean123ch@gmail.com>
17329
17330 * Makefile.in (pkglib_DATA): Add handler.lst.
17331 (handler.lst): New rule.
17332
17333 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
17334 * conf/i386-coreboot.rmk: Likewise.
17335 * conf/i386-ieee1275.rmk: Likewise.
17336 * conf/i386-efi.rmk: Likewise.
17337 * conf/x86_64-efi.rmk: Likewise.
17338 * conf/powerpc-ieee1275.rmk: Likewise.
17339 * conf/sparc64-ieee1275.rmk: Likewise.
17340
17341 * genhandlerlist.sh: New file.
17342
17343 * genmk.rb: Add rules to generate handler.lst.
17344
17345 * include/grub/normal.h (grub_file_getline): New function definition.
17346 (read_handler_list): Likewise.
17347 (free_handler_list): Likewise.
17348
17349 * include/grub/term.h (grub_term_register_input): Add name parameter
17350 for auto generation of handler.lst.
17351 (grub_term_register_output): Likewise.
17352
17353 * normal/handler.c: New file.
17354
17355 * normal/main.c (get_line): Renamed to grub_file_getline.
17356 (read_config_file): Use the newly renamed grub_file_getline.
17357 (read_command_list): Likewise.
17358 (read_fs_list): Likewise.
17359 (grub_normal_execute): Call read_handler_list to parse handler.lst.
17360 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
17361
17362 * term/efi/console.c (grub_console_init): Add name parameter for auto
17363 generation of handler.lst.
17364 * term/gfxterm.c: Likewise.
17365 * term/i386/pc/at_keyboard.c: Likewise.
17366 * term/i386/pc/console.c: Likewise.
17367 * term/i386/pc/serial.c: Likewise.
17368 * term/i386/pc/vesafb.c: Likewise.
17369 * term/i386/pc/vga.c: Likewise.
17370 * term/i386/pc/vga_text.c: Likewise.
17371 * term/ieee1275/ofconsole.c: Likewise.
17372 * term/usb_keyboard.c: Likewise.
17373
33c846be 173742009-04-14 Bean <bean123ch@gmail.com>
17375
17376 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
17377 properly with null character.
17378
4484e01e 173792009-04-14 Felix Zielcke <fzielcke@z-51.de>
17380
17381 * configure: Remove.
17382 * config.h.in: Likewise.
f93d668e 17383 * stamp-h.in: Likewise.
4484e01e 17384 * DISTLIST: Likewise.
17385 * conf/common.mk: Likewise.
17386 * conf/i386-coreboot.mk: Likewise.
17387 * conf/i386-efi.mk: Likewise.
17388 * conf/i386-ieee1275.mk: Likewise.
17389 * conf/i386.mk: Likewise.
17390 * conf/i386-pc.mk: Likewise.
17391 * conf/powerpc-ieee1275.mk: Likewise.
17392 * conf/sparc64-ieee1275.mk: Likewise.
17393 * conf/x86_64-efi.mk: Likewise.
17394
17395 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
17396 develop on GRUB.
17397
7dd4a573 173982009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 17399 David S. Miller <davem@davemloft.net>
17400
17401 * util/hostdisk.c (make_device_name): Fix buffer length
17402 calculations.
17403
e25b5a8c 174042009-04-14 Felix Zielcke <fzielcke@z-51.de>
17405
17406 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
17407 <sys/param.h> and <sys/sysctl.h>.
17408 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
17409 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
17410 opening the device and reset them afterwards.
17411
1f1f580c 174122009-04-13 Pavel Roskin <proski@gnu.org>
17413
17414 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
17415 Reported by John Stanley <jpsinthemix@verizon.net>
17416
7ebc2d6b 174172009-04-13 Robert Millan <rmh@aybabtu.com>
17418
17419 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 17420 that name for menuentries when appropriate.
7ebc2d6b 17421
d8ba3667 174222009-04-13 Felix Zielcke <fzielcke@z-51.de>
17423
17424 * util/grub.d/10_freebsd.in: Add a missing `fi'.
17425
cba416eb 174262009-04-13 Robert Millan <rmh@aybabtu.com>
17427
17428 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
17429 to Linux, simply abort telling the user it's no longer supported.
17430
a547a745 174312009-04-13 Felix Zielcke <fzielcke@z-51.de>
17432
17433 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 17434 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 17435 `freebsd_loadenv' only when devices.hints exist.
17436
232a769c 174372009-04-13 Pavel Roskin <proski@gnu.org>
17438
17439 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
17440
c3012039 174412009-04-13 Felix Zielcke <fzielcke@z-51.de>
17442
17443 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
17444 partition number.
17445 (grub_drive): Likewise.
17446
234022fe 174472009-04-13 David S. Miller <davem@davemloft.net>
17448
17449 * kern/sparc64/ieee1275/ieee1275.c: New file.
17450 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
17451 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
17452 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
17453 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
17454 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
17455 grub_ieee1275_alloc_physmem): Declare new exported functions.
17456
d8e1836c 17457 * include/grub/sparc64/ieee1275/loader.h: New file.
17458 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17459 * include/grub/sparc64/kernel.h: Likewise.
17460 * loader/sparc64/ieee1275/linux.c: Likewise.
17461
96bd81ec 17462 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
17463 (grub_fstest_SOURCES): Likewise.
17464
6a4737e5 17465 * util/hostdisk.c (make_device_name): Do not make any assumptions
17466 about the length of drive names.
17467
1d7a72fd 17468 * kern/dl.c (grub_dl_load_file): Close file immediately when
17469 we are done using it.
17470
56bc2471 174712009-04-12 David S. Miller <davem@davemloft.net>
17472
17473 * kern/misc.c (grub_ltoa): Fix cast when handling negative
17474 values. Noticed by Pavel Roskin.
17475
df38d0bb 17476 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
17477 target compiler.
7dd4a573 17478
e382e93a 17479 * genmk.rb: Add more flexible image type specification, also
17480 pass --strip-unneeded to objcopy.
17481 * conf/i386-pc.rmk: Use *_FORMAT.
17482 * conf/i386-pc.mk: Rebuilt.
17483
f5dbbca9 17484 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
17485 (OFDISK_HASH_SZ): Define.
17486 (ofdisk_hash): New hash table.
17487 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
17488 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
17489 instead of device phandle which is not unique.
17490
91c88b12 17491 * kern/sparc64/ieee1275/init.c: Delete, replace with...
17492 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
17493 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
17494 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
17495 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
17496 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
17497 GRUB_KERNEL_MACHINE_DATA_END): Define.
17498 (grub_kernel_image_size, grub_total_module_size): Declare.
17499
5b5d4aa5 175002009-04-12 Pavel Roskin <proski@gnu.org>
17501
7dd4a573 17502 * configure.ac: Change the logic when we check for target tools.
17503 Do it when the target is specified and it's different from the
17504 specified value of the host.
5b5d4aa5 17505
c91e1793 175062009-04-11 Felix Zielcke <fzielcke@z-51.de>
17507
17508 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
17509 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
17510 GNU/kFreeBSD. Check if a device is a character device. Use
17511 DIOCGMEDIASIZE to get the size.
17512 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
17513 support for GNU/kFreeBSD.
17514 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
17515 is a character device instead of a block device. Add support for
17516 FreeBSD device names.
17517
17518 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
17519 is a character device instead of a block device.
17520
17521 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
17522 is a character device instead of a block device.
17523
b1ac8644 175242009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
17525
17526 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
17527 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
17528 FreeBSD. Check if a device is a character device. Use
17529 DIOCGMEDIASIZE to get the size.
17530 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
17531 support for FreeBSD.
17532 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
17533 is a character device instead of a block device. Add support for
17534 FreeBSD device names.
17535
17536 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
17537 a character device instead of a block device.
17538 (grub_util_check_char_device): New function.
17539
17540 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
17541 a character device instead of a block device.
17542
17543 * include/grub/util/getroot.h (grub_util_check_char_device): New
17544 prototype.
17545
a3f7515a 175462009-04-11 David S. Miller <davem@davemloft.net>
17547
17548 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
17549 static libgcc.
17550 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
17551 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
17552 function, if present.
17553 (__bswapdi2): Likewise.
17554
0d44993d 17555 * include/grub/sparc64/ieee1275/boot.h: New file.
17556 * boot/sparc64/ieee1275/boot.S: Likewise.
17557 * boot/sparc64/ieee1275/diskboot.S: Likewise.
17558
ed3d2bc2 17559 * kern/misc.c (grub_ltoa): New function.
17560 (grub_vsprintf): Use it to format 'long' integers.
17561
d3bfb59c 175622009-04-10 David S. Miller <davem@davemloft.net>
17563
17564 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
17565 slots are of type grub_ieee1275_cell_t.
17566 (grub_nand_read): Likewise.
17567 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
17568 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
17569 macros are used to compare values in arg/ret block of the call.
17570 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17571 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
17572 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
17573 grub_ieee1275_instance_to_path, grub_ieee1275_write,
17574 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
17575 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
17576 grub_ieee1275_close, grub_ieee1275_set_property,
17577 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
17578 grub_ieee1275_cell_t.
17579 * kern/ieee1275/openfw.c (grub_map): Likewise.
17580 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
17581 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
17582
450e2238 17583 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
17584 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
17585 (grub_devalias_iterate): Likewise.
17586
7dd4a573 175872009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 17588
17589 UFS improvements
17590
17591 * fs/ufs.c (INODE_NBLOCKS): new definition
17592 (struct grub_ufs_dirent): added fields for non-BSD dirents
17593 (grub_ufs_get_file_block): fixed double indirect handling
17594 (grub_ufs_lookup_symlink): use more robust way to determine whether
17595 symlink is inline
17596 (grub_ufs_find_file): support for non-BSD dirents
17597 (grub_ufs_dir): support for non-BSD dirents
17598
e7e6862a 175992009-04-10 Bean <bean123ch@gnail.com>
17600
17601 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
17602 attribute, otherwise the size would be wrong for i386 platform.
17603
17604 * include/grub/pci.h (grub_pci_read_word): New inline function.
17605 (grub_pci_read_byte): Likewise.
17606 (grub_pci_write): Likewise.
17607 (grub_pci_write_word): Likewise.
17608 (grub_pci_write_byte): Likewise.
17609
17610 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
17611
17612 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
17613 (find_framebuf): Scan pci to locate the frame buffer address.
17614
17615 * commands/efi/fixvideo.c: New file.
17616
17617 * commands/efi/loadbios.c: Likewise.
17618
17619 * commands/memrw.c: Likewise.
17620
17621 * util/grub-dumpbios.in: Likewise.
17622
17623 * conf/common.rmk (grub-dumpbios): New utility.
17624 (pkglib_MODULES): New module memrw.mod.
17625 (memrw_mod_SOURCE): New macro.
17626 (memrw_mod_CFLAGS): Likewise.
17627 (memrw_mod_LDFLAGS): Likewise.
17628
7dd4a573 17629 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17630 fixvideo.mod.
17631 (loadbios_mod_SOURCE): New macro.
17632 (loadbios_mod_CFLAGS): Likewise.
17633 (loadbios_mod_LDFLAGS): Likewise.
17634 (fixvideo_mod_SOURCE): Likewise.
17635 (fixvideo_mod_CFLAGS): Likewise.
17636 (fixvideo_mod_LDFLAGS): Likewise.
17637
7dd4a573 17638 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17639 fixvideo.mod.
17640 (loadbios_mod_SOURCE): New macro.
17641 (loadbios_mod_CFLAGS): Likewise.
17642 (loadbios_mod_LDFLAGS): Likewise.
17643 (fixvideo_mod_SOURCE): Likewise.
17644 (fixvideo_mod_CFLAGS): Likewise.
17645 (fixvideo_mod_LDFLAGS): Likewise.
17646
af63ada2 176472009-04-08 Felix Zielcke <fzielcke@z-51.de>
17648
17649 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
17650
c2cdde70 176512009-04-07 David S. Miller <davem@davemloft.net>
17652
17653 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
17654 support for R_SPARC_OLO10 relocations. Fix compile warning for
17655 R_SPARC_WDISP30 case.
ea3f72cf 17656 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 17657
761319cf 176582009-04-06 Pavel Roskin <proski@gnu.org>
17659
1007d1f5 17660 * include/grub/misc.h (ARRAY_SIZE): New macro.
17661 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
17662 New macro.
17663 * loader/i386/linux.c (allocate_pages): Use free_pages().
17664 (grub_linux_unload): Don't use free_pages().
17665 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
17666 wrong index. Treat all other modes as text modes.
17667 (grub_cmd_linux): Initialize vid_mode unconditionally to
17668 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
17669
761319cf 17670 * commands/help.c (print_command_help): Use cmd->prio, not
17671 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
17672
ea761d40 176732009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 17674
ea761d40 17675 Parttool
17676
17677 * parttool/pcpart.c: new file
17678 * commands/parttool.c: likewise
17679 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
17680 (parttool_mod_SOURCES): new variable
17681 (parttool_mod_CFLAGS): likewise
17682 (parttool_mod_LDFLAGS): likewise
17683 (pcpart_mod_SOURCES): likewise
17684 (pcpart_mod_CFLAGS): likewise
17685 (pcpart_mod_LDFLAGS): likewise
7dd4a573 17686 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 17687 and parttool/pcpart.c
17688 * conf/i386-efi.rmk: likewise
17689 * conf/i386-ieee1275.rmk: likewise
17690 * conf/i386-pc.rmk: likewise
17691 * conf/powerpc-ieee1275.rmk: likewise
17692 * conf/sparc64-ieee1275.rmk: likewise
17693 * conf/x86_64-ieee1275.rmk: likewise
17694
05aaebfb 176952009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17696
17697 Support for mtime and further expandability of dir command
17698
17699 * include/grub/lib/datetime.h: moved to ...
7dd4a573 17700 * include/grub/datetime.h: ... moved here and added
05aaebfb 17701 declaration of grub_unixtime2datetime. All users updated
7dd4a573 17702 * include/grub/fs.h: new syntax for dir and mtime functions in
17703 struct grub_fs
05aaebfb 17704 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
17705 and GRUB_FSHELP_FLAGS_MASK
17706 * commands/ls.c (grub_ls_list_files): Write mtime in long format
17707 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
17708 (grub_ext2_mtime): new function
17709 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
17710 (grub_hfsplus_mtime): new function
17711 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
17712 (GRUB_UFS_ATTR_FILE): likewise
17713 (GRUB_UFS_ATTR_LNK): likewise
17714 (struct grub_ufs_sblock): new fields mtime
17715 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
17716 all users updated
17717 (grub_ufs_dir): mtime support
17718 (grub_ufs_mtime): new function
17719 * fs/affs.c (grub_affs_dir): use new dir syntax
17720 * fs/afs.c (grub_afs_dir): likewise
17721 * fs/cpio.c (grub_cpio_dir): likewise
17722 * fs/fat.c (grub_fat_find_dir): likewise
17723 * fs/hfs.c (grub_hfs_dir): likewise
17724 * fs/iso9660.c (grub_iso9660_dir): likewise
17725 * fs/jfs.c (grub_jfs_dir): likewise
17726 * fs/minix.c (grub_minix_dir): likewise
17727 * fs/ntfs.c (grub_ntfs_dir): likewise
17728 * fs/reiserfs.c (grub_reiserfs_dir): likewise
17729 * fs/sfs.c (grub_sfs_dir): likewise
17730 * fs/xfs.c (grub_xfs_dir): likewise
17731 * util/hostfs.c (grub_hostfs_dir): likewise
17732 * lib/datetime.c: moved to ...
17733 * normal/datetime.c: ... moved here
17734 (grub_unixtime2datetime): new function
17735 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 17736 * normal/completion.c (iterate_dir): use new dir syntax
17737 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 17738 last modification time of a volume
7dd4a573 17739 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 17740 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 17741 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 17742 (normal_mod_SOURCES): likewise
17743 (datetime_mod_SOURCES): Removed lib/datetime.c
17744 * conf/i386-efi.rmk: likewise
7dd4a573 17745 * conf/i386-ieee1275.rmk: likewise
05aaebfb 17746 * conf/i386-pc.rmk: likewise
17747 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17748 * conf/sparc64-ieee1275.rmk: likewise
17749 * conf/x86_64-efi.rmk: likewise
05aaebfb 17750
8a7e1a14 177512009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 17754
17755 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 17756 on grub_fat_find_dir
17757 (grub_fat_find_dir): use grub_fat_iterate_dir
17758 (grub_fat_label): likewise
17759
04186a9c 177602009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17761
7dd4a573 17762 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 17763 and command.h
17764 remove extraneous kernel_elf_HEADERS
17765
da4c0bb6 177662009-04-04 Bean <bean123ch@gnail.com>
17767
17768 * include/grub/util/misc.h: Add dummy function fsync for mingw.
17769
17770 * util/misc.c: Likewise.
17771
54ad9555 177722009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
17773
17774 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
17775 instead of grub_printf.
17776
7a6bf9f2 177772009-04-03 Robert Millan <rmh@aybabtu.com>
17778
17779 * loader/i386/linux.c (grub_linux_setup_video): Fill
17780 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
17781 values from `mode info' structure instead of hardcoded
17782 values.
17783
3fcc2083 177842009-04-01 Pavel Roskin <proski@gnu.org>
17785
17786 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
17787 unused now.
17788 * genmk.rb: Likewise.
17789 * configure.ac: Likewise.
17790
5ec9740b 177912009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
17792
17793 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
17794 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
17795
5270cec8 177962009-04-01 David S. Miller <davem@davemloft.net>
17797
17798 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 17799 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 17800 (grub_setjmp): Mark with 'returns_twice' attribute.
17801 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
17802 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
17803 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
17804
9c3dd854 178052009-04-01 Robert Millan <rmh@aybabtu.com>
17806
17807 Reapply fix from 2008-07-28 which was accidentally reverted; also
17808 perform the same fix to a similar check in same function.
17809
17810 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17811 with the same number are found, just use issue a warning with
17812 grub_dprintf(), as this error has been reported to be non-fatal.
17813
0d818b7e 178142009-03-31 Pavel Roskin <proski@gnu.org>
17815
17816 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
17817 for cross-compilation.
17818
95646d92 178192009-03-30 Robert Millan <rmh@aybabtu.com>
17820
17821 Fix i386-ieee1275 build.
17822
17823 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
17824 Remove declaration.
17825
6a003ed1 178262009-03-30 Pavel Roskin <proski@gnu.org>
17827
17828 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
17829 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
17830 zero-terminated, rely only on the strlen value. Fix comparison
17831 of strings differing in length.
17832
92f33540 178332009-03-30 Robert Millan <rmh@aybabtu.com>
17834
17835 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
17836 checking for abi version. Improve error messages on BIOS to notify
17837 user about `linux16' command.
17838
a8c48fd5 178392009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17840
f968172e 17841 Leak fixes
a8c48fd5 17842
f968172e 17843 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
17844 in case of collision
17845 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 17846
9c323f09 178472009-03-29 Robert Millan <rmh@aybabtu.com>
17848
17849 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
17850 set `vid_mode' accordingly.
17851 (grub_linux_boot): Process `vid_mode' and set video mode.
17852
ae68f423 178532009-03-29 Robert Millan <rmh@aybabtu.com>
17854
17855 * util/grub.d/10_linux.in (linux_entry): New function.
17856 Factorize generation of Linux boot entries.
17857
5709cfc4 178582009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
17859
17860 Make the format of Environment Block plain text. The boot loader
17861 part is not tested well yet.
7dd4a573 17862
5709cfc4 17863 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
17864 (buffer): Removed.
17865 (envblk): Likewise.
17866 (usage): Remove "info" and "clear". Add "unset". Update the
17867 description of "set", as this does not delete variables any
17868 longer.
17869 (create_envblk_file): Complete rewrite.
17870 (open_envblk_file): Likewise.
17871 (cmd_info): Removed.
17872 (cmd_list): Likewise.
17873 (cmd_set): Likewise.
17874 (cmd_clear): Likewise.
17875 (list_variables): New function.
17876 (write_envblk): Likewise.
17877 (set_variables): Likewise.
17878 (unset_variables): Likewise.
17879 (main): Complete rewrite.
17880
17881 * commands/loadenv.c (buffer): Removed.
17882 (envblk): Likewise.
17883 (open_envblk_file): New function.
17884 (read_envblk_file): Complete rewrite.
17885 (grub_cmd_load_env): Likewise.
17886 (grub_cmd_list_env): Likewise.
17887 (struct blocklist): New struct.
17888 (free_blocklists): New function.
17889 (check_blocklists): Likewise.
17890 (write_blocklists): Likewise.
17891 (grub_cmd_save_env): Complete rewrite.
17892
17893 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
17894 a plain text signature.
17895 (GRUB_ENVBLK_MAXLEN): Removed.
17896 (struct grub_envblk): Complete rewrite.
17897 (grub_envblk_find): Removed.
17898 (grub_envblk_insert): Likewise.
17899 (grub_envblk_open): New prototype.
17900 (grub_envblk_set): Likewise.
17901 (grub_envblk_delete): Put const to VALUE.
17902 (grub_envblk_iterate): Put const to NAME and VALUE.
17903 (grub_envblk_close): New prototype.
17904 (grub_envblk_buffer): New inline function.
17905 (grub_envblk_size): Likewise.
17906
17907 * lib/envblk.c: Include grub/mm.h.
17908 (grub_env_find): Removed.
17909 (grub_envblk_open): New function.
17910 (grub_envblk_close): Likewise.
17911 (escaped_value_len): Likewise.
17912 (find_next_line): Likewise.
17913 (grub_envblk_insert): Removed.
17914 (grub_envblk_set): New function.
17915 (grub_envblk_delete): Complete rewrite.
17916 (grub_envblk_iterate): Likewise.
17917
a9368fd3 179182009-03-28 Robert Millan <rmh@aybabtu.com>
17919
17920 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
17921 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
17922 variables. Use 16-bit loader.
17923 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
17924 loader.
17925 * kern/i386/loader.S (grub_linux_boot): Rename to ...
17926 (grub_linux16_boot): ... this. Update all users.
17927 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
17928 (grub_linux_boot): ... this. Update all users.
17929
17930 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
17931 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
17932 commands to `linux16' and `initrd16'.
17933 (GRUB_MOD_FINI(linux)): Rename to ...
17934 (GRUB_MOD_FINI(linux16)): ... this.
17935
e4dd5a7e 179362009-03-24 Pavel Roskin <proski@gnu.org>
17937
17938 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
17939 not just for compilation.
17940
c04d6e05 179412009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 Move multiboot helper out of kernel
17944
17945 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
17946 `loader/i386/multiboot_helper.S'.
17947 * conf/i386-coreboot.rmk: Likewise
17948 * conf/i386-ieee1275.rmk: Likewise
17949
17950 * kern/i386/loader.S: Move multiboot helpers from here...
17951 * loader/i386/multiboot_helper.S: ...moved here
17952 * include/grub/i386/loader.h: Move declarations of multiboot
17953 helpers from here...
17954 * include/grub/i386/multiboot.h: ...moved here
17955 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
17956
42a5b3fc 179572009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17958
17959 * kern/env.c (grub_env_context_open): Added an argument to specify
17960 whether a new context inherits exported variables from current
17961 one. This is useful when making a sandbox to interpret a config
17962 file.
17963 All callers updated.
17964
17965 * include/grub/env.h (grub_env_context_open): Updated the prototype.
17966
b28bbc4e 179672009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17968
17969 * kern/env.c (grub_env_context_close): Fix memory leaks.
17970
f04f02e4 179712009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17972
17973 * normal/main.c (grub_normal_execute): Added an argument
17974 BATCH to specify if an interactive interface should be provided
17975 after reading a config file.
17976 All callers updated.
17977 (read_command_list): Prevent being executed twice.
17978 (read_fs_list): Likewise.
17979
42a5b3fc 17980 * include/grub/normal.h (grub_normal_execute): Updated the
17981 prototype.
f04f02e4 17982
41473ac2 179832009-03-22 Pavel Roskin <proski@gno.org>
17984
fbc00b0c 17985 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
17986 _start.
17987 * kern/i386/pc/startup.S: Likewise.
17988 * kern/i386/efi/startup.S: Likewise.
17989 * kern/i386/ieee1275/startup.S: Likewise.
17990 * kern/i386/coreboot/startup.S: Likewise.
17991 * kern/x86_64/efi/startup.S: Likewise.
17992
41473ac2 17993 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
17994 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
17995 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
17996
2274cc8f 179972009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 Bugfixes in multiboot for bugs uncovered by solaris kernel.
18000
18001 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
18002 limit detection.
18003 Use vaddr of correct segment for entry_point.
18004
b1b797cb 180052009-03-21 Bean <bean123ch@gmail.com>
18006
18007 * commands/blocklist.c: Add include file <grub/command.h>, remove
18008 <grub/normal.h> and <grub/arg.h>.
18009 (grub_cmd_blocklist): Use the new command interface.
18010 (GRUB_MOD_INIT): Likewise.
18011 (GRUB_MOD_FINI): Likewise.
18012 * commands/boot.c: Likewise.
18013 * commands/cat.c: Likewise.
18014 * commands/cmp.c: Likewise.
18015 * commands/configfile.c: Likewise.
18016 * commands/crc.c: Likewise.
18017 * commands/echo.c: Likewise.
18018 * commands/halt.c: Likewise.
18019 * commands/handler.c: Likewise.
18020 * commands/hdparm.c: Likewise.
18021 * commands/help.c: Likewise.
18022 * commands/hexdump.c: Likewise.
18023 * commands/loadenv.c: Likewise.
18024 * commands/ls.c: Likewise.
18025 * commands/lsmmap.c: Likewise.
18026 * commands/lspci.c: Likewise.
18027 * commands/loadenv.c: Likewise.
18028 * commands/read.c: Likewise.
18029 * commands/reboot.c: Likewise.
18030 * commands/search.c: Likewise.
18031 * commands/sleep.c: Likewise.
18032 * commands/test.c: Likewise.
18033 * commands/usbtest.c: Likewise.
18034 * commands/videotest.c: Likewise.
18035 * commands/i386/cpuid.c: Likewise.
18036 * commands/i386/pc/halt.c: Likewise.
18037 * commands/i386/pc/play.c: Likewise.
18038 * commands/i386/pc/pxecmd.c: Likewise.
18039 * commands/i386/pc/vbeinfo.c: Likewise.
18040 * commands/i386/pc/vbetest.c: Likewise.
18041 * commands/ieee1275/suspend.c: Likewise.
18042 * disk/loopback.c: Likewise.
18043 * font/font_cmd.c: Likewise.
18044 * hello/hello.c: Likewise.
18045 * loader/efi/appleloader.c: Likewise.
18046 * loader/efi/chainloader.c: Likewise.
18047 * loader/i386/bsd.c: Likewise.
18048 * loader/i386/efi/linux.c: Likewise.
18049 * loader/i386/ieee1275/linux.c: Likewise.
18050 * loader/i386/linux.c: Likewise.
18051 * loader/i386/pc/chainloader.c: Likewise.
18052 * loader/i386/pc/linux.c: Likewise.
18053 * loader/powerpc/ieee1275/linux.c: Likewise.
18054 * loader/multiboot_loader.c: Likewise.
18055 * term/gfxterm.c: Likewise.
18056 * term/i386/pc/serial.c: Likewise.
18057 * term/terminfo.c: Likewise.
18058
18059 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
18060 * term/i386/pc/vga.c: Likewise.
18061 * video/readers/jpeg.c: Likewise.
18062 * video/readers/png.c: Likewise.
18063 * video/readers/tga.c: Likewise.
18064
18065 * util/grub-fstest (cmd_loopback): Removed.
18066 (cmd_blocklist): Likewise.
18067 (cmd_ls): Likewise.
18068 (grub_register_command): Likewise.
18069 (grub_unregister_command): Likewise.
18070 (execute_command): Use grub_command_find to locate command and execute
18071 it.
18072
18073 * include/grub/efi/chainloader.h: Removed.
18074 * loader/efi/chainloader_normal.c: Likewise.
18075 * loader/i386/bsd_normal.c: Likewise.
18076 * loader/i386/pc/chainloader_normal.c: Likewise.
18077 * loader/i386/pc/multiboot_normal.c: Likewise.
18078 * loader/linux_normal.c: Likewise.
18079 * loader/multiboot_loader_normal.c: Likewise.
18080 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18081
18082 * gencmdlist.sh: Scan new registration command grub_register_extcmd
18083 and grub_register_command_p1.
18084
18085 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
18086 kern/command.c, lib/arg.c and commands/extcmd.c.
18087 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
18088 (minicmd_mod_SOURCES): New variable.
18089 (minicmd_mod_CFLAGS): Likewise.
18090 (minicmd_mod_LDFLAGS): Likewise.
18091 (extcmd_mod_SOURCES): Likewise.
18092 (extcmd_mod_CFLAGS): Likewise.
18093 (extcmd_mod_LDFLAGS): Likewise.
18094 (boot_mod_SOURCES): Removed.
18095 (boot_mod_CFLAGS): Likewise.
18096 (boot_mod_LDFLAGS): Likewise.
18097
18098 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
18099 kern/corecmd.c.
18100 (kernel_img_HEADERS): Add command.h.
18101 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
18102 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
18103 and lib/arg.c.
18104 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
18105 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
18106 remove the corresponding normal mode command.
18107 (normal_mod_SOURCES): Remove normal/arg.c.
18108 * conf/i386-coreboot.rmk: Likewise.
18109 * conf/i386-efi.rmk: Likewise.
18110 * conf/i386-ieee1275.rmk: Likewise.
18111 * conf/powerpc-ieee1275.rmk: Likewise.
18112 * conf/x86_64-efi.rmk: Likewise.
18113
18114 * include/grub/arg.h: Move from here ...
18115 * include/grub/lib/arg.h: ... to here.
18116
18117 * normal/arg.c: Move from here ...
18118 * lib/arg.c: ... to here.
18119
18120 * commands/extcmd.c: New file.
18121 * commands/minicmd.c: Likewise.
18122 * include/grub/command.h: Likewise.
18123 * include/grub/extcmd.h: Likewise.
18124 * kern/command.c: Likewise.
18125 * kern/corecmd.c: Likewise.
18126
18127 * kern/list.c (grub_list_iterate): Return int instead of void.
18128 (grub_list_insert): New function.
18129 (grub_prio_list_insert): Likewise.
18130
18131 * kern/rescue.c (grub_rescue_command): Removed.
18132 (grub_rescue_command_list): Likewise.
18133 (grub_rescue_register_command): Likewise.
18134 (grub_rescue_unregister_command): Likewise.
18135 (grub_rescue_cmd_boot): Move to minicmd.c
18136 (grub_rescue_cmd_help): Likewise.
18137 (grub_rescue_cmd_info): Likewise.
18138 (grub_rescue_cmd_boot): Likewise.
18139 (grub_rescue_cmd_testload): Likewise.
18140 (grub_rescue_cmd_dump): Likewise.
18141 (grub_rescue_cmd_rmmod): Likewise.
18142 (grub_rescue_cmd_lsmod): Likewise.
18143 (grub_rescue_cmd_exit): Likewise.
18144 (grub_rescue_print_devices): Moved to corecmd.c.
18145 (grub_rescue_print_files): Likewise.
18146 (grub_rescue_cmd_ls): Likewise.
18147 (grub_rescue_cmd_insmod): Likewise.
18148 (grub_rescue_cmd_set): Likewise.
18149 (grub_rescue_cmd_unset): Likewise.
7d074e3c 18150 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 18151 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 18152 commands, remove grub_rescue_register_command calls.
b1b797cb 18153
7d074e3c 18154 * normal/command.c (grub_register_command): Removed.
b1b797cb 18155 (grub_unregister_command): Likewise.
18156 (grub_command_find): Likewise.
18157 (grub_iterate_commands): Likewise.
18158 (rescue_command): Likewise.
18159 (export_command): Moved to corecmd.c.
18160 (set_command): Removed.
18161 (unset_command): Likewise.
18162 (insmod_command): Likewise.
18163 (rmmod_command): Likewise.
18164 (lsmod_command): Likewise.
18165 (grub_command_init): Likewise.
18166
18167 * normal/completion.c (iterate_command): Use cmd->prio to check for
18168 active command.
18169 (complete_arguments): Use grub_extcmd_t structure to find options.
18170 (grub_normal_do_completion): Change function grub_iterate_commands to
18171 grub_command_iterate.
18172
18173 * normal/execute.c (grub_script_execute_cmd): No need to parse
18174 argument here.
18175
18176 * normal/main.c (grub_dyncmd_dispatcher): New function.
18177 (read_command_list): Register unload commands as dyncmd.
18178 (grub_cmd_normal): Use new command interface, register rescue,
18179 unregister normal at entry, register normal, unregister rescue at exit.
18180
18181 * include/grub/list.h (grub_list_test_t): New type.
18182 (grub_list_iterate): Return int instead of void.
18183 (grub_list_insert): New function.
18184 (GRUB_AS_NAMED_LIST_P): New macro.
18185 (GRUB_AS_PRIO_LIST): Likewise.
18186 (GRUB_AS_PRIO_LIST_P): Likewise.
18187 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
18188 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
18189 (grub_prio_list): New structure.
18190 (grub_prio_list_insert): New function.
18191 (grub_prio_list_remove): New inline function.
18192
18193 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
18194 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
18195 (GRUB_COMMAND_FLAG_MENU): Likewise.
18196 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18197 (GRUB_COMMAND_FLAG_TITLE): Likewise.
18198 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18199 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
18200 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
18201 (grub_command): Likewise.
18202 (grub_register_command): Likewise.
18203 (grub_command_find): Likewise.
18204 (grub_iterate_commands): Likewise.
18205 (grub_command_init): Likewise.
18206 (grub_arg_parse): Likewise.
18207 (grub_arg_show_help): Likewise.
18208
18209 * include/grub/rescue.h (grub_rescue_register_command): Removed.
18210 (grub_rescue_unregister_command): Likewise.
18211
18212 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
18213 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
18214 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
18215
18216 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
18217 grub_rescue_cmd_initrd.
18218 * include/grub/i386/loader.h: Likewise.
18219 * include/grub/x86_64/loader.h: Likewise.
18220
18221 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
18222
1f4147aa 182232009-03-21 Bean <bean123ch@gmail.com>
18224
18225 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
18226 instead of stat in mingw environment.
18227
18228 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
18229
18230 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
18231
18232 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
18233 AC_CONFIG_LINKS.
18234
2156d5ba 182352009-03-21 Bean <bean123ch@gmail.com>
18236
18237 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
18238 out of range error.
18239
177b82ca 182402009-03-18 Michel Dänzer <michel@daenzer.net>
18241
18242 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
18243 checking inode flags for EXT4_EXTENTS_FLAG.
18244
14aad807 182452009-03-18 Robert Millan <rmh@aybabtu.com>
18246
18247 * loader/i386/linux.c: Include `<grub/video.h>' and
18248 `<grub/i386/pc/vbe.h>'..
18249 (grub_linux_setup_video): New function. Loosely based on the EFI one.
18250 (grub_linux32_boot): Attempt to configure video settings with
18251 grub_linux_setup_video().
18252 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
18253 to avoid grub_console_fini() which would step out of graphical mode
18254 unconditionally.
18255
8cf83a27 182562009-03-14 Robert Millan <rmh@aybabtu.com>
18257
18258 Fix build on powerpc.
18259 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
18260
40164e75 182612009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
18262
18263 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
18264 background image command.
18265
c58bc32a 182662009-03-12 Colin D Bennett <colin@gibibit.com>
18267
18268 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
18269 (grub_gfxterm_putchar): Extract pairs of identical calls to
18270 draw_cursor out of conditional blocks.
18271
5415144a 182722009-03-11 Pavel Roskin <proski@gnu.org>
18273
18274 * fs/hfs.c (grub_hfs_strncasecmp): New function.
18275 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
18276
6394042e 182772009-03-11 Robert Millan <rmh@aybabtu.com>
18278
18279 * loader/i386/multiboot_elfxx.c
18280 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
18281
b7b50e5f 182822009-03-11 Felix Zielcke <fzielcke@z-51.de>
18283
18284 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
18285 `kern/handler.c'.
18286
1ca7fc96 182872009-03-11 Robert Millan <rmh@aybabtu.com>
18288
18289 * loader/i386/multiboot.c (code_size): New variable.
18290 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 18291 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 18292 4-byte alignment to MBI and others by increasing
7d074e3c 18293 `boot_loader_name_length' appropriately.
1ca7fc96 18294
18295 * loader/i386/multiboot_elfxx.c
18296 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
18297
a83ea1d2 182982009-03-09 Felix Zielcke <fzielcke@z-51.de>
18299
18300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
18301 `fs/ext2.c'.
18302
aa9f3bff 183032009-03-08 Robert Millan <rmh@aybabtu.com>
18304
18305 Make loader/i386/linux.c usable on i386-pc again.
18306
18307 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
18308 memory to heap.
18309 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
18310 `#error' stanza.
18311
d8b3b60e 183122009-03-07 Bean <bean123ch@gmail.com>
18313
18314 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
18315 allocation.
18316
b362c9e9 183172009-03-06 Robert Millan <rmh@aybabtu.com>
18318
18319 Fix display issue on terminals with screen size other than 80x25
18320 (e.g. gfxterm with resolution higher than 640x480).
18321
18322 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 18323 position relative to the center of the terminal instead of relying
b362c9e9 18324 on a hardcoded offset.
18325
9304eef1 183262009-03-04 Robert Millan <rmh@aybabtu.com>
18327
18328 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
18329 installed.
18330
18331 * Makefile.in (host_kernel): New variable.
18332 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
18333 scripts instead of just the windows one.
18334 * configure.ac: Initialize and AC_SUBST `host_kernel'.
18335
eabc95fb 183362009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 18337
18338 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
18339 `kern/handler.c'.
18340 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18341 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18342 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18344 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18345 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18346
ceb1223c 183472009-03-04 Felix Zielcke <fzielcke@z-51.de>
18348
18349 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
18350 or if there's no space for the disk label and print the partition number on a
18351 invalid magic.
18352
4910684a 183532009-03-04 Felix Zielcke <fzielcke@z-51.de>
18354
18355 * util/misc.c: Include <time.h>.
18356 (grub_millisleep): New function.
18357
7e9ca17a 183582009-03-04 Bean <bean123ch@gmail.com>
18359
18360 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
18361 another option -mno-red-zone.
18362
18363 * commands/handler.c: Change module description.
18364
18365 * kern/handler.c: Add missing space at the end of description line.
18366
18367 * kern/list.c: Likewise.
18368
f501677c 183692009-03-03 Robert Millan <rmh@aybabtu.com>
18370
18371 Move more components to the relocation area, and fix mbi pointer
18372 handling to use the destination rather than the origin (thanks to
18373 Vladimir Serbinenko for spotting).
18374
18375 * loader/i386/multiboot.c (mbi_dest): New variable.
18376 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
18377 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
18378 relocation area.
18379
9902d047 183802009-03-01 Bean <bean123ch@gmail.com>
18381
50fb7002 18382 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 18383 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
18384 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
18385 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
18386
18387 * loader/i386/efi/linux.c (acpi_guid): New variable.
18388 (acpi_guid): Likewise.
18389 (EBDA_SEG_ADDR): New constant.
18390 (LOW_MEM_ADDR): Likewise.
18391 (FAKE_EBDA_SEG): Likewise.
18392 (fake_bios_data): New function.
18393 (grub_linux_boot): Call fake_bios_data.
18394
71b9f361 183952009-03-01 Bean <bean123ch@gmail.com>
18396
18397 * commands/terminal.c: Removed.
18398
18399 * commands/handler.c: New file.
18400
18401 * include/grub/list.h: Likewise.
18402
18403 * include/grub/handler.h: Likewise.
18404
18405 * kern/list.c: Likewise.
18406
18407 * kern/handler.c: Likewise.
18408
18409 * kern/term.h: Include header file <grub/handler.h>.
18410 (grub_term_input): Move next field to the beginning.
18411 (grub_term_output): Likewise.
18412 (grub_term_input_class): New variable.
18413 (grub_term_output_class): Likewise.
18414 (grub_term_register_input): Changed to inline function.
18415 (grub_term_register_output): Likewise.
18416 (grub_term_unregister_input): Likewise.
18417 (grub_term_unregister_output): Likewise.
18418 (grub_term_set_current_input): Likewise.
18419 (grub_term_set_current_output): Likewise.
18420 (grub_term_get_current_input): Likewise.
18421 (grub_term_get_current_output): Likewise.
18422 (grub_term_iterate_input): Removed.
18423 (grub_term_iterate_output): Likewise.
18424
18425 * kern/term.c (grub_term_list_input): Removed.
18426 (grub_term_list_output): Likewise.
18427 (grub_term_input_class): New variable.
18428 (grub_term_output_class): Likewise.
50fb7002 18429 (grub_cur_term_input): Change variable as macro.
71b9f361 18430 (grub_cur_term_output): Likewise.
18431 (grub_term_register_input): Removed.
18432 (grub_term_register_output): Likewise.
18433 (grub_term_unregister_input): Likewise.
18434 (grub_term_unregister_output): Likewise.
18435 (grub_term_set_current_input): Likewise.
18436 (grub_term_set_current_output): Likewise.
18437 (grub_term_iterate_input): Likewise.
18438 (grub_term_iterate_output): Likewise.
18439 (grub_term_get_current_input): Likewise.
18440 (grub_term_get_current_output): Likewise.
18441
18442 * util/grub-editenv.c: Include header file <grub/handler.h>.
18443 (grub_term_get_current_input): Removed.
18444 (grub_term_get_current_output): Likewise.
18445 (grub_term_input_class): New variable.
50fb7002 18446 (grub_term_output_class): Likewise.
71b9f361 18447
18448 * util/grub-fstest.c (grub_term_get_current_input): Removed.
18449 (grub_term_get_current_output): Likewise.
18450 (grub_term_input_class): New variable.
50fb7002 18451 (grub_term_output_class): Likewise.
71b9f361 18452
18453 * util/grub-probe.c (grub_term_get_current_input): Removed.
18454 (grub_term_get_current_output): Likewise.
18455 (grub_term_input_class): New variable.
50fb7002 18456 (grub_term_output_class): Likewise.
71b9f361 18457
18458 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
18459 (grub_term_get_current_output): Likewise.
18460 (grub_term_input_class): New variable.
50fb7002 18461 (grub_term_output_class): Likewise.
71b9f361 18462
18463 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
18464 (terminal_mod_SOURCES): Likewise.
18465 (terminal_mod_CFLAGS): Likewise.
18466 (terminal_mod_LDFLAGS): Likewise.
18467
18468 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
18469 handler.c.
18470 (kernel_img_SOURCES): Add list.c and handler.c.
18471 (kernel_img_HEADERS): Add list.h and handler.h.
18472
18473 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18474 handler.c.
18475 (kernel_mod_SOURCES): Add list.c and handler.c.
18476 (kernel_mod_HEADERS): Add list.h and handler.h.
18477
18478 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
18479 handler.c.
18480 (kernel_elf_SOURCES): Add list.c and handler.c.
18481 (kernel_elf_HEADERS): Add list.h and handler.h.
18482
18483 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18484 handler.c.
18485 (kernel_elf_SOURCES): Add list.c and handler.c.
18486 (kernel_elf_HEADERS): Add list.h and handler.h.
18487
18488 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18489 handler.c.
18490 (kernel_mod_SOURCES): Add list.c and handler.c.
18491 (kernel_mod_HEADERS): Add list.h and handler.h.
18492
18493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18494 handler.c.
18495 (kernel_elf_SOURCES): Add list.c and handler.c.
18496 (kernel_elf_HEADERS): Add list.h and handler.h.
18497
8a31787f 184982009-02-27 Robert Millan <rmh@aybabtu.com>
18499
18500 Factorize elf32 / elf64 code in Multiboot loader. This will
18501 prevent it from getting out of sync again.
18502
18503 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
18504 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
18505 grub_multiboot_load_elf64): Move from here ...
18506 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
18507 grub_multiboot_load_elf): ... to here (new file).
18508
51cd3dfc 185092009-02-27 Robert Millan <rmh@aybabtu.com>
18510
18511 * util/grub.d/10_linux.in: Rename "single-user mode" to
18512 "recovery mode".
18513
6e8c9c3a 185142009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 Don't leak in SCSI code.
18517 * disk/scsi.c (grub_scsi_close): free `scsi'.
18518
4b6bf4f9 185192009-02-27 Robert Millan <rmh@aybabtu.com>
18520
18521 * loader/i386/pc/multiboot.c: Move from here ...
18522 * loader/i386/multiboot.c: ... to here. Update all users.
18523
b9413424 185242009-02-27 Robert Millan <rmh@aybabtu.com>
18525
18526 Patch from Alexandre Bique <bique.alexandre@gmail.com>
18527 * util/i386/pc/grub-setup.c (setup): Fix directory path.
18528
50fb7002 185292009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 18530
18531 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
18532 b-tree.
18533
8cc50345 185342009-02-27 Robert Millan <rmh@aybabtu.com>
18535
18536 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
18537 `0x' qualifier as 0 when base is specified as parameter).
18538
6e09b8b7 185392009-02-24 Bean <bean123ch@gmail.com>
18540
18541 * configure.ac: Check for -mcmodel=large in x86_64 target.
18542
18543 * include/grub/efi/api.h (efi_call_10): New macro.
18544 (efi_wrap_10): New function.
18545
18546 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
18547 (GRUB_PE32_REL_BASED_HIGH): Likewise.
18548 (GRUB_PE32_REL_BASED_LOW): Likewise.
18549 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
18550 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
18551 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
18552 (GRUB_PE32_REL_BASED_SECTION): Likewise.
18553 (GRUB_PE32_REL_BASED_REL): Likewise.
18554 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
18555 (GRUB_PE32_REL_BASED_DIR64): Likewise.
18556 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
18557
18558 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
18559 issue.
18560
18561 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
18562 (efi_wrap_10): New function.
18563
18564 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
18565
18566 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
18567 MB/MBP model (NV chipset).
18568 (devdata_devs): Add devpath_5 to the list.
18569
18570 * load/i386/efi/linux.c (video_base): Remove variable.
18571 (RGB_MASK): New macro.
18572 (RGB_MAGIC): Likewise.
18573 (LINE_MIN): Likewise.
18574 (LINE_MAX): Likewise.
18575 (FBTEST_STEP): Likewise.
18576 (FBTEST_COUNT): Likewise.
18577 (fb_list): New variable.
18578 (grub_find_video_card): Remove function.
18579 (find_framebuf): New function.
18580 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
18581 line length.
18582
18583 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
18584 problem for x86_64.
18585
74b21bee 185862009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
18587
18588 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
18589
18590 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
18591 coding tool name.
18592
a455f472 185932009-02-22 Robert Millan <rmh@aybabtu.com>
18594
18595 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
18596 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
18597 in our relocation, instead of using it directly from heap. Also
18598 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
18599
6374daf3 186002009-02-21 Robert Millan <rmh@aybabtu.com>
18601
18602 Implement USB keyboard support (based on patch by Marco Gerards)
18603
18604 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
18605 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
18606 (usb_keyboard_mod_LDFLAGS): New variables.
18607
18608 * term/usb_keyboard.c: New file.
18609
8fa4ea70 186102009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 Corrected wrong declaration
18613
18614 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
18615
353976ac 186162009-02-14 Christian Franke <franke@computer.org>
18617
18618 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
18619 (grub_lspci_iter): Print class code and programming interface byte.
18620
6aa1169b 186212009-02-14 Christian Franke <franke@computer.org>
18622
18623 * gendistlist.sh: Ignore `.svn' directories.
18624
265372ca 186252009-02-14 Felix Zielcke <fzielcke@z-51.de>
18626
18627 * fs/fat.c: Add 2009 to Copyright line.
18628
9ff516f3 186292009-02-14 Christian Franke <franke@computer.org>
18630
18631 * commands/hdparm.c: New file. Provides `hdparm' command
18632 which sends ATA commands via grub_disk_ata_pass_through ().
18633
18634 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
18635
18636 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
18637 and <grub/cpu/io.h> to include/grub/ata.h.
18638 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
18639 (GRUB_CDROM_SECTOR_SIZE): Remove.
18640 (GRUB_ATA_*): Move to include/grub/ata.h.
18641 (GRUB_ATAPI_*): Likewise.
18642 (enum grub_ata_commands): Likewise.
18643 (enum grub_ata_timeout_milliseconds): Likewise.
18644 (struct grub_ata_device): Likewise.
18645 (grub_ata_regset): Likewise.
18646 (grub_ata_regget): Likewise.
18647 (grub_ata_regset2): Likewise.
18648 (grub_ata_regget2): Likewise.
18649 (grub_ata_check_ready): Likewise.
18650 (grub_ata_wait_not_busy): Remove static, exported in
18651 include/grub/ata.h.
18652 (grub_ata_wait_drq): Likewise.
18653 (grub_ata_pio_read): Likewise.
18654
18655 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
18656 function for hdparm.mod.
18657
18658 * include/grub/ata.h: New file, contains declarations from
18659 disk/ata.c.
18660 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
18661
18662 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
18663 (grub_disk_ata_pass_through): New exported variable.
18664
18665 * kern/disk.c (grub_disk_ata_pass_through): New variable.
18666
772e23da 186672009-02-13 Colin D Bennett <colin@gibibit.com>
18668
18669 Support multiple fallback entries, and provide an API to support
18670 executing default+fallback menu entries. Renamed the `terminal' menu
18671 viewer to `text'.
18672
18673 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
18674 variable declaration.
18675 (grub_menu_execute_callback): New structure declaration.
18676 (grub_menu_execute_callback_t): New typedef.
18677 (grub_menu_execute_with_fallback): New function declaration.
18678 (grub_menu_get_entry): Likewise.
18679 (grub_menu_get_timeout): Likewise.
18680 (grub_menu_set_timeout): Likewise.
18681
18682 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
18683
18684 * normal/menu.c (grub_wait_after_message): Moved to
18685 `normal/menu_text.c'.
18686 (draw_border): Likewise.
18687 (print_message): Likewise.
18688 (print_entry): Likewise.
18689 (print_entries): Likewise.
18690 (grub_menu_init_page): Likewise.
18691 (get_entry_number): Likewise.
18692 (print_timeout): Likewise.
18693 (run_menu): Likewise.
18694 (grub_menu_execute_entry): Likewise.
18695 (show_text_menu): Likewise.
18696 (get_and_remove_first_entry_number): New function.
18697 (grub_menu_execute_with_fallback): Likewise.
18698 (get_entry): Renamed to ...
18699 (grub_menu_get_entry): .. this and made it global.
18700 (get_timeout): Renamed to ...
18701 (grub_menu_get_timeout): ... this and made it global.
18702 (set_timeout): Renamed to ...
18703 (grub_menu_set_timeout): ... this and made it global.
18704 (grub_normal_terminal_menu_viewer): Renamed to ...
18705 (grub_normal_text_menu_viewer): ... this.
18706
18707 * normal/menu_text.c: New file. Extracted text-menu-specific code
18708 from normal/menu.c.
18709
18710 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
18711 (normal_mod_SOURCES): Likewise.
18712
18713 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18714 (normal_mod_SOURCES): Likewise.
18715
18716 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18717 (normal_mod_SOURCES): Likewise.
18718
18719 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
18720 (normal_mod_SOURCES): Likewise.
18721
18722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18723 (normal_mod_SOURCES): Likewise.
18724
18725 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18726 (normal_mod_SOURCES): Likewise.
18727
18728 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18729 (normal_mod_SOURCES): Likewise.
18730
16ac430e 187312009-02-11 Robert Millan <rmh@aybabtu.com>
18732
18733 * util/grub.d/00_header.in: Update old reference to `font' command.
18734
06ff20fc 187352009-02-10 Felix Zielcke <fzielcke@z-51.de>
18736
18737 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
18738
18739 Based on patch from Javier Martín.
18740
96da9407 187412009-02-09 Felix Zielcke <fzielcke@z-51.de>
18742
18743 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 18744 to avoid false positives with FAT.
96da9407 18745 (grub_fstest_SOURCES): Likewise.
18746 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18747 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18749 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18750 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18751 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18752
6dca6fe4 187532009-02-09 Felix Zielcke <fzielcke@z-51.de>
18754
06ff20fc 18755 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 18756 bpb.version_specific.fat12_or_fat16.fstype and
18757 bpb.version_specific.fat32.fstype.
18758
2550c62f 187592009-02-08 Robert Millan <rmh@aybabtu.com>
18760
be110b30 18761 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 18762
56978920 187632009-02-08 Robert Millan <rmh@aybabtu.com>
18764
18765 * Makefile.in (host_os, host_cpu): New variables.
18766 (target_os): Remove. Update all users.
18767
d64399b5 187682009-02-08 Marco Gerards <marco@gnu.org>
18769
18770 * Makefile.in (enable_grub_emu_usb): New variable.
18771 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
18772 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
18773 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
18774 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
18775 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
18776 `usbtest.mod' and `usbms.mod'.
18777 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
18778 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
18779 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
18780 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
18781 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
18782 variables.
18783
18784 * disk/usbms.c: New file.
18785
18786 * include/grub/usb.h: Likewise.
18787
18788 * include/grub/usbtrans.h: Likewise.
18789
18790 * include/grub/usbdesc.h: Likewise.
18791
18792 * bus/usb/usbtrans.c: Likewise.
18793
18794 * bus/usb/ohci.c: Likewise.
18795
18796 * bus/usb/uhci.c: Likewise.
18797
18798 * bus/usb/usbhub.c: Likewise.
18799
18800 * bus/usb/usb.c: Likewise.
18801
18802 * commands/usbtest.c: Likewise.
18803
18804 * util/usb.c: Likewise.
50fb7002 18805
d64399b5 18806 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
18807
18808 * configure.ac: Test for libusb presence.
50fb7002 18809
d64399b5 18810 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
18811
2b40d6bb 188122009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
18813
18814 * kern/mm.c: Add more comments.
18815
73a4ce81 188162009-02-08 Robert Millan <rmh@aybabtu.com>
18817
18818 Patch from Javier Martín.
18819 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
18820 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
18821
f821ce59 188222009-02-08 Robert Millan <rmh@aybabtu.com>
18823
18824 * fs/cpio.c: Split tar functionality to ...
18825 * fs/tar.c: ... here (new file). Update all users.
18826
aebfc4b0 188272009-02-07 Robert Millan <rmh@aybabtu.com>
18828
18829 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
18830 backward-incompatible features.
18831
18832 Based on patch from Javier Martín, with some adjustments.
18833
50fb7002 188342009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 18835
18836 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
18837
0bb5115e 188382009-02-07 Robert Millan <rmh@aybabtu.com>
18839
18840 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
18841 position of `disk/lvm.c' to ensure grub_init_all() always picks it
18842 after the RAID stuff.
18843
38a0f8e7 188442009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
18845
50fb7002 18846 Fixes problem when running vbetest command as reported by
38a0f8e7 18847 Vladimir Serbinenko <phcoder@gmail.com>.
18848
18849 * (grub_vbe_set_video_mode): Fixed problem with text modes.
18850
3143cc1c 188512009-02-04 Felix Zielcke <fzielcke@z-51.de>
18852
18853 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
18854 /dev/md/NpN style mdraid devices.
18855
9cba6fce 188562009-02-03 Felix Zielcke <fzielcke@z-51.de>
18857
18858 * util/unifont2pff.rb: Remove.
18859
e507a2c1 188602009-02-03 Felix Zielcke <fzielcke@z-51.de>
18861
18862 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
18863 `#'.
18864
d2c2b4cd 188652009-02-03 Felix Zielcke <fzielcke@z-51.de>
18866
18867 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
18868 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18869 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18870 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18871 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18872 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18873 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18874
b4315fb0 188752009-02-02 Christian Franke <franke@computer.org>
18876
18877 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
18878
de3aa260 188792009-02-01 Felix Zielcke <fzielcke@z-51.de>
18880
7c3ff286 18881 * INSTALL: Note that we now require at least autoconf 2.59 and
18882 that LZO is optional.
de3aa260 18883
825a182b 188842009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18885
18886 Base on patch on bug #24154 created by Tomas Tintera
18887 <trosos@seznam.cz>.
18888
18889 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
18890
a69ef770 188912009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18892
7c3ff286 18893 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 18894 <bero@arklinux.org>.
18895
18896 * normal/parser.y (script_init): Add missing semicolon.
18897
6fa42fa6 188982009-01-31 Colin D Bennett <colin@gibibit.com>
18899
7c3ff286 18900 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 18901 (free_menu_entry_classes): Added.
18902 (grub_normal_menu_addentry): Added class property handling.
18903 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
18904 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
18905
18906 * normal/menu_viewer.c: New file.
18907
18908 * normal/menu.c (run_menu_entry): Renamed to ...
18909 (grub_menu_execute_entry): ... this and made it as global.
18910 (grub_menu_run): Renamed to ...
18911 (show_text_menu): ... this and made it local.
18912 (show_text_menu): Adapt to new function names.
18913 (grub_normal_terminal_menu_viewer): New global variable.
18914
18915 * include/grub/menu.h: New file.
18916
18917 * include/grub/menu_viewer.h: New file.
18918
18919 * include/grub/normal.h: Added include to grub/menu.h.
18920 (grub_menu_entry): Moved to include/grub/menu.h.
18921 (grub_menu_entry_t): Likewise.
18922 (grub_menu): Likewise.
18923 (grub_menu_t): Likewise.
18924 (grub_normal_terminal_menu_viewer): Added.
18925 (grub_menu_execute_entry): Likewise.
18926 (grub_menu_run): Removed.
18927
18928 * DISTLIST: Added include/grub/menu.h.
18929 Added include/grub/menu_viewer.h.
18930 Added normal/menu_viewer.c.
18931
189322009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
18933
18934 * normal/execute.c (grub_script_execute_menuentry): Changed to use
18935 arglist for menutitle arguments.
18936
18937 * normal/main.c (grub_normal_menu_addentry): Likewise.
18938
18939 * normal/parser.y (menuentry): Likewise.
18940
18941 * normal/script.c (grub_script_create_cmdmenu): Likewise.
18942
18943 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
18944 (grub_script_create_cmdmenu): Likewise.
18945
18946 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
18947
18948 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
18949 changes.
18950
18951 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
18952
18953 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
18954
18955 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
18956
18957 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18958
18959 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18960
18961 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18962
56192c23 189632009-01-30 Christian Franke <franke@computer.org>
18964
18965 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
18966 in option help text.
18967
d72521b3 189682009-01-27 Pavel Roskin <proski@gnu.org>
18969
18970 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
18971
994b5e84 189722009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18973
18974 * commands/lsmmap.c: Add include to grub/machine/memory.h.
18975
18976 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
18977
18978 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
18979 unregister function.
18980
6a7eab2c 189812009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18982
18983 * disk/scsi.c (grub_scsi_read): Fix sign problem.
18984
18985 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
18986
18987 * util/grub-mkfont.c (usage): Fix typo.
18988
18989 * util/elf/grub-mkimage.c (load_modules): Fix warning.
18990
1806b56e 189912009-01-26 Daniel Mierswa <impulze@impulze.org>
18992
3fb18f09 18993 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
18994
336e1fb9 18995 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
18996
1806b56e 18997 * kern/misc.c (grub_strcasecmp): New function.
18998 (grub_strcasecmp): Use grub_size_t instead of int for length.
18999 Fix return value.
19000 * include/grub/misc.h: Update function prototypes.
19001
580b2a0f 190022009-01-26 Robert Millan <rmh@aybabtu.com>
19003
19004 * configure.ac: Fix cross-compilation check.
ef257b36 19005
d31c24f1 190062009-01-22 Christian Franke <franke@computer.org>
19007
19008 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
19009 (precision) digit string. Allow `.format2' without `format1' (width).
19010 Limit input chars for `%s' output to `format2' if specified. This is
19011 compatible with standard printf ().
19012
3138b44c 190132009-01-22 Christian Franke <franke@computer.org>
19014
19015 * disk/ata.c (grub_ata_wait_status): Replace by ...
19016 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
19017 other status bits may be invalid while BSY is asserted.
19018 (grub_ata_check_ready): New function.
19019 (grub_ata_cmd): Removed.
19020 (grub_ata_wait_drq): New function.
19021 (grub_ata_strncpy): Remove inline.
19022 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
19023 and error check now done by grub_ata_wait_drq ().
19024 (grub_ata_pio_write): Likewise.
19025 (grub_atapi_identify): Set DEV before check for !BSY. Use
19026 grub_ata_wait_drq () to wait for data.
19027 (grub_ata_device_initialize): Add status register check to
19028 detect missing SATA slave devices. Add debug messages.
19029 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
19030 (grub_atapi_packet): Set DEV before check for !BSY. Replace
19031 transfer loop by grub_ata_pio_write ().
19032 (grub_ata_identify): Set DEV before check for !BSY. Use
19033 grub_ata_wait_drq () to wait for data.
ef257b36 19034 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 19035 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
19036 read/write in one loop. Fix invalid command on write. Fix incomplete
19037 command on (size % batch) == 0. Add missing error check after write of
19038 last block. Add debug messages.
19039 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
19040
59a64ef6 190412009-01-19 Christian Franke <franke@computer.org>
19042
19043 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
19044 (GRUB_ATAPI_IREASON_*): Likewise.
19045 (grub_ata_pio_write): Fix timeout error return.
19046 (grub_atapi_identify): Add grub_ata_wait () after cmd.
19047 (grub_atapi_wait_drq): New function.
19048 (grub_atapi_packet): New parameter `size'.
19049 Use grub_atapi_wait_drq () and direct write instead of
19050 grub_ata_pio_write ().
19051 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
19052 reads the number of bytes requested by the device for each DRQ
19053 assertion.
19054 (grub_atapi_write): Remove old implementation, return not
19055 implemented instead.
19056
1cfe20b3 190572009-01-19 Christian Franke <franke@computer.org>
19058
19059 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
19060 of 512 to calculate data size.
19061 (grub_scsi_read12): Likewise.
19062 (grub_scsi_write10): Likewise.
19063 (grub_scsi_write12): Likewise.
19064 (grub_scsi_read): Adjust size according to blocksize.
19065 Add checks for invalid blocksize and unaligned transfer.
19066
bee5fe5d 190672009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
19068
19069 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
19070
ef257b36 19071 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 19072 width glyphs.
19073
3e643f8c 190742009-01-19 Robert Millan <rmh@aybabtu.com>
19075
19076 * config.guess: Update to latest version from config git.
19077 * config.sub: Likewise.
19078
4fa80998 190792009-01-17 Felix Zielcke <fzielcke@z-51.de>
19080
19081 * Makefile.in: Change font compilation to use new grub-mkfont instead
19082 of java version.
19083
19084 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
19085 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
19086 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19087 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19088 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
19089 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
19090 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
19091 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
19092 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19093
7086085b 190942009-01-16 Christian Franke <franke@computer.org>
19095
19096 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
19097 (enum grub_ata_timeout_milliseconds): New enum.
19098 (grub_ata_wait_status): Add parameter milliseconds.
19099 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
19100 recovery from timed-out commands.
19101 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
19102 return grub_errno instead of REG_ERROR.
19103 (grub_ata_pio_write): Add parameter milliseconds.
19104 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
19105 Pass milliseconds to grub_ata_wait_status () and
19106 grub_ata_pio_read ().
19107 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
19108 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
19109 grub_ata_wait_status (). Fix IDENTIFY timeout check.
19110 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
19111 It is not suitable for device detection, because DEV bit is ignored,
19112 the command may run too long, and not all devices set the signature
19113 properly.
19114 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
19115 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
19116 Fix device selection, DEV bit must be set first to address the registers
19117 of the correct device.
19118 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
19119 grub_ata_pio_read/write ().
19120 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
19121 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
19122
4a412913 191232009-01-13 Carles Pina i Estany <carles@pina.cat>
19124
19125 * util/grub-editenv.c (main): Use fseeko(), not fseek().
19126
7795c55e 191272009-01-13 Bean <bean123ch@gmail.com>
d913988c 19128
19129 * util/grub-mkfont.c (write_font): forget to remove some debug code.
19130
7795c55e 191312009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 19132
19133 * Makefile.in: (enable_grub_mkfont): New variable.
19134 (freetype_cflags): Likewise.
19135 (freetype_libs): Likewise.
19136
19137 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
19138 (grub_mkfont_SOURCES): New variable.
19139 (grub_mkfont_CFLAGS): Likewise.
19140 (grub_mkfont_LDFLAGS): Likewise.
19141
19142 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
19143 library if `--enable-grub-mkfont' is requested.
19144 (enable_grub_mkfont): New variable.
19145 (freetype_cflags): Likewise.
19146 (freetype_libs): Likewise.
19147
19148 * util/grub-mkfont.c: New file.
19149
093af1fe 191502009-01-12 Christian Franke <franke@computer.org>
19151
19152 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
19153 mode check. Fix setting of compat_use[].
19154
f36cc108 191552009-01-10 Robert Millan <rmh@aybabtu.com>
19156
19157 Update a few copyright years which we forgot to do in 2008 (only for
19158 files whose changes made in 2008 were copyright-significant)
19159
19160 * Makefile.in: Add 2008 to Copyright line.
19161 * disk/ieee1275/ofdisk.c: Likewise.
19162 * disk/efi/efidisk.c: Likewise.
19163 * kern/dl.c: Likewise.
19164 * kern/sparc64/ieee1275/init.c: Likewise.
19165 * kern/mm.c: Likewise.
19166 * kern/efi/mm.c: Likewise.
19167 * boot/i386/pc/boot.S: Likewise.
19168 * genfslist.sh: Likewise.
19169 * fs/iso9660.c: Likewise.
19170 * fs/hfs.c: Likewise.
19171 * fs/jfs.c: Likewise.
19172 * fs/minix.c: Likewise.
19173 * fs/ufs.c: Likewise.
19174 * gensymlist.sh.in: Likewise.
19175 * genkernsyms.sh.in: Likewise.
19176 * include/grub/misc.h: Likewise.
19177 * include/grub/types.h: Likewise.
19178 * include/grub/symbol.h: Likewise.
19179 * include/grub/elf.h: Likewise.
19180 * include/grub/kernel.h: Likewise.
19181 * include/grub/disk.h: Likewise.
19182 * include/grub/dl.h: Likewise.
19183 * include/grub/i386/linux.h: Likewise.
19184 * include/grub/i386/pc/biosdisk.h: Likewise.
19185 * include/grub/efi/api.h: Likewise.
19186 * include/grub/efi/pe32.h: Likewise.
19187 * include/grub/util/misc.h: Likewise.
19188 * normal/execute.c: Likewise.
19189 * normal/arg.c: Likewise.
19190 * normal/completion.c: Likewise.
19191 * normal/lexer.c: Likewise.
19192 * normal/parser.y: Likewise.
19193 * normal/misc.c: Likewise.
19194 * commands/i386/pc/vbeinfo.c: Likewise.
19195 * commands/hexdump.c: Likewise.
19196 * commands/terminal.c: Likewise.
19197 * commands/ls.c: Likewise.
19198 * commands/help.c: Likewise.
19199 * partmap/pc.c: Likewise.
19200 * loader/efi/chainloader.c: Likewise.
19201 * loader/multiboot_loader.c: Likewise.
19202 * loader/i386/pc/multiboot2.c: Likewise.
19203 * term/efi/console.c: Likewise.
19204 * term/i386/pc/serial.c: Likewise.
19205 * util/lvm.c: Likewise.
19206 * util/console.c: Likewise.
19207 * util/i386/efi/grub-mkimage.c: Likewise.
19208 * util/raid.c: Likewise.
19209
7f02114b 192102009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
19211
19212 * commands/videotest.c: Removed include to grub/machine/memory.h.
19213
19214 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
19215 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
19216 (video_mod_SOURCES): Removed.
19217 (video_mod_CFLAGS): Likewise.
19218 (video_mod_LDFLAGS): Likewise.
19219 (gfxterm_mod_SOURCES): Likewise.
19220 (gfxterm_mod_CFLAGS): Likewise.
19221 (gfxterm_mod_LDFLAGS): Likewise.
19222 (videotest_mod_SOURCES): Likewise.
19223 (videotest_mod_CFLAGS): Likewise.
19224 (videotest_mod_LDFLAGS): Likewise.
19225 (bitmap_mod_SOURCES): Likewise.
19226 (bitmap_mod_CFLAGS): Likewise.
19227 (bitmap_mod_LDFLAGS): Likewise.
19228 (tga_mod_SOURCES): Likewise.
19229 (tga_mod_CFLAGS): Likewise.
19230 (tga_mod_LDFLAGS): Likewise.
19231 (jpeg_mod_SOURCES): Likewise.
19232 (jpeg_mod_CFLAGS): Likewise.
19233 (jpeg_mod_LDFLAGS): Likewise.
19234 (png_mod_SOURCES): Likewise.
19235 (png_mod_CFLAGS): Likewise.
19236 (png_mod_LDFLAGS): Likewise.
19237
19238 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
19239 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
19240 (video_mod_SOURCES): Added.
19241 (video_mod_CFLAGS): Likewise.
19242 (video_mod_LDFLAGS): Likewise.
19243 (videotest_mod_SOURCES): Likewise.
19244 (videotest_mod_CFLAGS): Likewise.
19245 (videotest_mod_LDFLAGS): Likewise.
19246 (bitmap_mod_SOURCES): Likewise.
19247 (bitmap_mod_CFLAGS): Likewise.
19248 (bitmap_mod_LDFLAGS): Likewise.
19249 (tga_mod_SOURCES): Likewise.
19250 (tga_mod_CFLAGS): Likewise.
19251 (tga_mod_LDFLAGS): Likewise.
19252 (jpeg_mod_SOURCES): Likewise.
19253 (jpeg_mod_CFLAGS): Likewise.
19254 (jpeg_mod_LDFLAGS): Likewise.
19255 (png_mod_SOURCES): Likewise.
19256 (png_mod_CFLAGS): Likewise.
19257 (png_mod_LDFLAGS): Likewise.
19258 (gfxterm_mod_SOURCES): Likewise.
19259 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 19260 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 19261
19262 * term/gfxterm.c: Removed include to grub/machine/memory.h,
19263 grub/machine/console.h.
19264
644fff97 192652009-01-04 Jerone Young <jerone@gmail.com>
19266
19267 Make on screen instructions clearer
19268
19269 Based on patch created by Jidanni <jidanni@jidanni.org>
19270
19271 * normal/menu.c: print clearer instructions on the screen
19272
1e901a75 192732009-01-02 Colin D Bennett <colin@gibibit.com>
19274
19275 New font engine.
34c44600 19276
1e901a75 19277 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
19278 build system and fixed gfxterm.c to work with different sized fonts.
19279
19280 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 19281
1e901a75 19282 * configure: Re-generated.
34c44600 19283
1e901a75 19284 * DISTLIST: Removed font/manager.c.
19285 Added font/font.c.
19286 Added font/font_cmd.c.
34c44600 19287
1e901a75 19288 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
19289 compilation.
34c44600 19290
1e901a75 19291 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 19292
19293 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 19294
19295 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 19296
1e901a75 19297 * normal/menu.c: Likewise.
34c44600 19298
1e901a75 19299 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
19300 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 19301
1e901a75 19302 * include/grub/font.h: Replaced with new file.
34c44600 19303
1e901a75 19304 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
19305 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
19306 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
19307 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
19308 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 19309 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 19310 fg_red, fg_green, fg_blue, fg_alpha.
19311 (grub_video_adapter): Removed blit_glyph.
34c44600 19312 (grub_video_blit_glyph): Removed.
19313
1e901a75 19314 * font/manager.c: Removed file.
34c44600 19315
19316 * font/font.c: New file.
19317
1e901a75 19318 * font/font_cmd.c: Likewise.
34c44600 19319
1e901a75 19320 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 19321
1e901a75 19322 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
19323 (grub_video_vbe_map_rgba): Likewise.
19324 (grub_video_vbe_unmap_color_int): Likewise.
19325 (grub_video_vbe_blit_glyph): Removed.
19326 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 19327
1e901a75 19328 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
19329 (get_pixel): Likewise.
34c44600 19330 (set_pixel): Likewise.
19331
1e901a75 19332 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 19333
1e901a75 19334 * term/gfxterm.c: Adapted to new font engine.
34c44600 19335
1e901a75 19336 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 19337
1e901a75 19338 * term/i386/pc/vga.c: Likewise.
34c44600 19339
1e901a75 19340 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 19341
1e901a75 19342 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 19343
1e901a75 19344 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19345
1e901a75 19346 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19347
1e901a75 19348 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 19349
1e901a75 19350 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 19351
1e901a75 19352 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 19353
1e901a75 19354 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 19355
1e901a75 19356 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19357
19358 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 19359
1e901a75 19360 * util/grub-mkconfig_lib.in: Changed font extension.
19361
278922e8 193622008-12-28 Felix Zielcke <fzielcke@z-51.de>
19363
19364 * util/getroot.c (grub_util_get_grub_dev): Add support for
19365 /dev/md/dNNpNN style partitionable mdraid devices.
19366
3ced05cf 193672008-12-12 Alex Smith <alex@alex-smith.me.uk>
19368
19369 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
19370 at a time limit of the PXE TFTP API correctly.
19371 (grub_pxefs_close): Likewise.
19372
7fd0ee30 193732008-11-29 Robert Millan <rmh@aybabtu.com>
19374
34c44600 19375 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 19376 grub_ata_device_initialize() calls.
19377
34c44600 193782008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 19379
19380 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
19381 iteration failed.
19382 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
19383
89313780 193842008-11-28 Robert Millan <rmh@aybabtu.com>
19385
19386 Fix build on powerpc-ieee1275. Based on patch created by
19387 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
19388 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19389 `kern/ieee1275/mmap.c'.
19390 * include/grub/powerpc/ieee1275/memory.h: New file.
19391
15257703 19392 Provide grub-install on coreboot.
19393 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
19394 (grub_install_SOURCES): New variable.
19395 * util/i386/pc/grub-install.in: Add a few condition checks to make it
19396 usable on coreboot.
19397
9fc5388a 193982008-11-25 Felix Zielcke <fzielcke@z-51.de>
19399
19400 * util/grub-fstest.c (grub_term_get_current_input): Change return type
19401 to `grub_term_input_t'.
19402 (grub_term_get_current_output): Change return type to
19403 `grub_term_output_t'.
19404
bc3a2f31 194052008-11-22 Robert Millan <rmh@aybabtu.com>
19406
34c44600 19407 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 19408 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
19409 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
19410 grub_vga_text_cls().
19411
80fc88f2 19412 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 19413 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 19414
cbf36fd3 19415 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
19416 to 0x200000 (avoids trouble with some OFW implementations, and matches
19417 with the one in Yaboot).
19418 Reported by Manoel Abranches
19419
73e8e268 194202008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 19421
19422 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
19423 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
19424
73e8e268 19425 * util/grub-mkconfig_lib.in (grub_warn): New function.
19426 (convert_system_path_to_grub_path): Use grub_warn() when issuing
19427 warnings, to obtain consistent formatting.
19428 * util/grub.d/00_header.in: Likewise.
19429 * util/update-grub_lib.in: Likewise.
19430
e94045a1 19431 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 19432 Move comment text to `#error' stanza.
e94045a1 19433
79d29fd7 19434 Harmonize ieee1275's grub_available_iterate() with the generic
19435 grub_machine_mmap_iterate() interface (fixes a recently-introduced
19436 build problem on i386-ieee1275):
19437 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
19438 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
19439 parameter `type'. Update all users of this function.
19440 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19441 `kern/ieee1275/mmap.c'.
19442 * kern/ieee1275/init.c
19443 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
19444 with ...
19445 (grub_machine_mmap_iterate): ... this.
19446 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
19447 return type to `grub_err_t'. Update all implementations of this
19448 function prototype.
19449 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
19450 Likewise.
19451
60d6b16e 19452 Add `lsmmap' command (lists firmware-provided memory map):
19453 * commands/lsmmap.c: New file.
19454 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
19455 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
19456 variables.
19457 * conf/powerpc-ieee1275.rmk: Likewise.
19458 * conf/i386-coreboot.rmk: Likewise.
19459 * conf/i386-ieee1275.rmk: Likewise.
19460
ebaaf49b 194612008-11-19 Robert Millan <rmh@aybabtu.com>
19462
19463 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 19464 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
19465 constraints to initrd allocation (based on code from
19466 loader/i386/pc/linux.c). Without them, initrd was allocated too high
19467 for Linux to find it.
ebaaf49b 19468
dfab719f 194692008-11-14 Robert Millan <rmh@aybabtu.com>
19470
19471 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
19472 order to cope with duplicate slashes.
19473
10fc3eb9 194742008-11-14 Robert Millan <rmh@aybabtu.com>
19475
19476 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
19477 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
19478 don't want to mess with lower memory, because it is used in the Linux
19479 loader.
19480
19481 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 19482 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 19483 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
19484 is in our heap (probably as a result of it being corrupted during
2f2a3442 19485 decompression). Add #error instance with comment to explain why this
19486 loader isn't currently usable on PC/BIOS.
10fc3eb9 19487
e2e07847 194882008-11-14 Robert Millan <rmh@aybabtu.com>
19489
19490 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 19491 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 19492
fe8e8d69 194932008-11-12 Robert Millan <rmh@aybabtu.com>
19494
19495 Make loader/i386/linux.c buildable on i386-pc (although disabled).
19496
19497 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
19498 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
19499 from here ...
19500 * include/grub/i386/pc/memory.h: ... to here.
19501
976b07d0 195022008-11-12 Robert Millan <rmh@aybabtu.com>
19503
19504 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
19505 split).
19506
19507 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
19508 (grub_console_cur_color, grub_console_real_putchar)
19509 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19510 (grub_console_setcolorstate, grub_console_setcolor)
19511 (grub_console_getcolor): Move from here ...
19512 * include/grub/i386/vga_common.h: ... to here (new file).
19513
19514 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
19515 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
19516 `<grub/i386/io.h>'.
19517 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
19518 `<grub/i386/vga_common.h>'.
19519
76679cd3 195202008-11-12 Robert Millan <rmh@aybabtu.com>
19521
19522 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
19523 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
19524 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
19525 variables.
19526 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19527 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
19528
19529 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
19530 grub_console_init() with call to grub_vga_text_init().
19531 (grub_machine_fini): Replace call to
19532 grub_console_fini() with call to grub_vga_text_fini() and
19533 grub_at_keyboard_fini().
19534
19535 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
19536 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19537 (grub_console_setcolorstate, grub_console_setcolor)
19538 (grub_console_getcolor): New function prototypes.
19539
19540 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
19541 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
19542 (grub_vga_text_setcursor): Static-ize.
19543 (grub_vga_text_term): New structure.
19544 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
19545
19546 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
19547 (grub_console_cur_color, grub_console_standard_color)
19548 (grub_console_normal_color, grub_console_highlight_color)
19549 (map_char, grub_console_putchar, grub_console_getcharwidth)
19550 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
19551 (grub_console_getcolor): Move from here ...
19552 * term/i386/vga_common.c: ... to here (same function names).
19553
95b841d3 195542008-11-12 Robert Millan <rmh@aybabtu.com>
19555
19556 Use newly-added Multiboot support in coreboot.
19557
19558 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19559 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
19560
19561 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
19562 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
19563 (codestart): Store the MBI in `startup_multiboot_info' when we're
19564 being loaded using Multiboot.
19565
19566 * kern/i386/coreboot/init.c (grub_machine_init): Move
19567 grub_at_keyboard_init() call to beginning of function (useful for
19568 debugging). Call grub_machine_mmap_init() before attempting to use
19569 grub_machine_mmap_iterate().
19570 (grub_lower_mem, grub_upper_mem): Move from here ...
19571 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
19572 here (new file).
19573
19574 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
19575 function prototype.
19576
761ca975 195772008-11-12 Robert Millan <rmh@aybabtu.com>
19578
19579 Fix a regression introduced by the at_keyboard.mod split. Because
19580 some terminals are default on some platforms and non-default on
19581 others, the first terminal being registered determines which is
19582 going to be default.
19583
19584 * kern/term.c (grub_term_register_input): If this is the first
19585 terminal being registered, set it as the current one.
19586 (grub_term_register_output): Likewise.
19587
19588 * term/efi/console.c (grub_console_init): Do not call
19589 grub_term_set_current_output() or grub_term_set_current_input().
19590 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
19591 * term/i386/pc/console.c (grub_console_init): Likewise.
19592 (grub_console_fini): Do not call grub_term_set_current_input()
19593 (but leave grub_term_set_current_output() to restore text mode).
19594
6c529df7 195952008-11-10 Robert Millan <rmh@aybabtu.com>
19596
19597 * util/grub.d/00_header.in: Add backward compatibility check for
19598 versions of terminal.mod that don't understand `terminal_input' or
19599 `terminal_output'.
19600
132e4113 196012008-11-09 Robert Millan <rmh@aybabtu.com>
19602
19603 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
19604 `terminal_input' / `terminal_output', not `terminal'.
19605
ac293d50 196062008-11-08 Robert Millan <rmh@aybabtu.com>
19607
19608 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 19609 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 19610
0025933a 196112008-11-08 Robert Millan <rmh@aybabtu.com>
19612
19613 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 19614 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 19615 members. Update all users.
19616 * util/console.c (grub_ncurses_term): Split in ...
19617 (grub_ncurses_term_input): ... this, and ...
19618 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 19619 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 19620
37c86336 196212008-11-08 Robert Millan <rmh@aybabtu.com>
19622
19623 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
19624 (PKGDATA): Add $(pkgdata_SRCDIR).
19625 (pkglib_BUILDDIR): New variable.
19626 (pkgdata_SRCDIR): New variable.
19627 (build_env.mk): New target.
19628 (include_DATA): New variable.
19629 (install-local): Install $(include_DATA) files in $(includedir).
19630
b6c15a2d 196312008-11-07 Pavel Roskin <proski@gnu.org>
19632
d99d46f1 19633 * gendistlist.sh: Use C locale for sorting to ensure consistent
19634 output on all systems.
19635
b6c15a2d 19636 * util/grub.d/00_header.in: Remove incorrect space before
19637 "serial".
19638
c32ee8c9 196392008-11-07 Robert Millan <rmh@aybabtu.com>
19640
19641 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
19642 per specification.
19643 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
19644 * loader/multiboot_loader.c (find_multi_boot2_header): New function
19645 (based on find_multi_boot1_header).
19646 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
19647 using find_multi_boot2_header(), and abort if neither Multiboot or
19648 Multiboot headers were found.
19649
651c29b7 196502008-11-07 Robert Millan <rmh@aybabtu.com>
19651
19652 Modularize at_keyboard.mod:
19653
19654 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
19655 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19656 (at_keyboard_mod_LDFLAGS): New variables.
19657
19658 Actual terminal split:
19659
19660 * include/grub/term.h (struct grub_term): Split in ...
19661 (struct grub_term_input): ... this, and ...
19662 (struct grub_term_output): ... this. Update all users.
19663 (grub_term_set_current): Split in ...
19664 (grub_term_set_current_input): ... this, and ...
19665 (grub_term_set_current_output): ... this.
19666 (grub_term_get_current): Split in ...
19667 (grub_term_get_current_input): ... this, and ...
19668 (grub_term_get_current_output): ... this.
19669 (grub_term_register): Split in ...
19670 (grub_term_register_input): ... this, and ...
19671 (grub_term_register_output): ... this.
19672 (grub_term_unregister): Split in ...
19673 (grub_term_unregister_input): ... this, and ...
19674 (grub_term_unregister_output): ... this.
19675 (grub_term_iterate): Split in ...
19676 (grub_term_iterate_input): ... this, and ...
19677 (grub_term_iterate_output): ... this.
19678
19679 * kern/term.c (grub_term_list): Split in ...
19680 (grub_term_list_input): ... this, and ...
19681 (grub_term_list_output): ... this. Update all users.
19682 (grub_cur_term): Split in ...
19683 (grub_cur_term_input): ... this, and ...
19684 (grub_cur_term_output): ... this. Update all users.
19685 (grub_term_set_current): Split in ...
19686 (grub_term_set_current_input): ... this, and ...
19687 (grub_term_set_current_output): ... this.
19688 (grub_term_get_current): Split in ...
19689 (grub_term_get_current_input): ... this, and ...
19690 (grub_term_get_current_output): ... this.
19691 (grub_term_register): Split in ...
19692 (grub_term_register_input): ... this, and ...
19693 (grub_term_register_output): ... this.
19694 (grub_term_unregister): Split in ...
19695 (grub_term_unregister_input): ... this, and ...
19696 (grub_term_unregister_output): ... this.
19697 (grub_term_iterate): Split in ...
19698 (grub_term_iterate_input): ... this, and ...
19699 (grub_term_iterate_output): ... this.
19700
19701 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
19702 a check for input and one for output (and only attempt to get keys
19703 from user when input works).
19704
19705 * util/grub-probe.c (grub_term_get_current): Split in ...
19706 (grub_term_get_current_input): ... this, and ...
19707 (grub_term_get_current_output): ... this.
19708 * util/grub-fstest.c: Likewise.
19709 * util/i386/pc/grub-setup.c: Likewise.
19710 * util/grub-editenv.c: Likewise.
19711
19712 Portability adjustments:
19713
19714 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
19715 `term/i386/pc/at_keyboard.c'.
19716 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
19717 grub_keyboard_controller_init() (now handled by terminal .init).
19718 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
19719 grub_at_keyboard_init().
19720 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
19721 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
19722 at_keyboard.mod via input terminal interface).
19723 * include/grub/i386/coreboot/console.h: Convert into a stub for
19724 `<grub/i386/pc/console.h>'.
19725
19726 Migrate full terminals to new API:
19727
19728 * term/efi/console.c (grub_console_term): Split into ...
19729 (grub_console_term_input): ... this, and ...
19730 (grub_console_term_output): ... this. Update all users.
19731 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
19732 (grub_ofconsole_init): Split into ...
19733 (grub_ofconsole_init_input): ... this, and ...
19734 (grub_ofconsole_init_output): ... this.
19735 (grub_ofconsole_term): Split into ...
19736 (grub_ofconsole_term_input): ... this, and ...
19737 (grub_ofconsole_term_output): ... this. Update all users.
19738 * term/i386/pc/serial.c (grub_serial_term): Split into ...
19739 (grub_serial_term_input): ... this, and ...
19740 (grub_serial_term_output): ... this. Update all users.
19741 * term/i386/pc/console.c (grub_console_term): Split into ...
19742 (grub_console_term_input): ... this, and ...
19743 (grub_console_term_output): ... this. Update all users.
19744 (grub_console_term_input): Only enable it on PC/BIOS platform.
19745 (grub_console_init): Remove grub_keyboard_controller_init() call.
19746
19747 Migrate input terminals to new API:
19748
19749 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
19750 `i386' and `i386/pc' to enable build on x86_64 (this driver is
19751 i386-specific anyway).
19752 (grub_console_checkkey): Rename to ...
19753 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
19754 users.
19755 (grub_keyboard_controller_orig): New variable.
19756 (grub_console_getkey): Rename to ...
19757 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
19758 users.
19759 (grub_keyboard_controller_init): Static-ize. Save original
19760 controller value so that it can be restored ...
19761 (grub_keyboard_controller_fini): ... here (new function).
19762 (grub_at_keyboard_term): New structure.
19763 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
19764 functions.
19765
19766 Migrate output terminals to new API:
19767
19768 * term/i386/pc/vga.c (grub_vga_term): Change type to
19769 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19770 members. Update all users.
19771 * term/gfxterm.c (grub_video_term): Change type to
19772 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19773 members. Update all users.
19774 * include/grub/i386/pc/console.h (grub_console_checkkey)
19775 (grub_console_getkey): Do not export (no longer needed by gfxterm,
19776 etc).
19777
19778 Migrate `terminal' command and userland tools to new API:
19779
19780 * commands/terminal.c (grub_cmd_terminal): Split into ...
19781 (grub_cmd_terminal_input): ... this, and ...
19782 (grub_cmd_terminal_output): ... this.
19783 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
19784 `terminal_input' and `terminal_output'.
19785 * util/grub.d/00_header.in: Adjust `terminal' calls to new
19786 `terminal_input' / `terminal_output' API.
19787 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
19788 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
19789 provided ${GRUB_TERMINAL}, convert it).
19790
96e5d876 197912008-11-04 Robert Millan <rmh@aybabtu.com>
19792
19793 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
19794 for FreeBSD.
19795 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
19796
556f3775 197972008-11-03 Bean <bean123ch@gmail.com>
19798
19799 * kern/elf.c (grub_elf32_load): Revert to previous code.
19800 (grub_elf64_load): Likewise.
19801
19802 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
19803
926b9823 198042008-11-01 Robert Millan <rmh@aybabtu.com>
19805
19806 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
19807 (TARGET_CPPFLAGS): Likewise.
19808 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
19809
1432e958 198102008-11-01 Carles Pina i Estany <carles@pina.cat>
19811
19812 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
19813
dba3f844 198142008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 19815
19816 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
19817 addition of objects until the code is not going to be able to fail.
19818
dba3f844 198192008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 19820
19821 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
19822 (add a missing NULL check, and correct them by moving the pointer
19823 operations after the actual check).
19824
7ab28c21 198252008-10-29 Robert Millan <rmh@aybabtu.com>
19826
19827 * util/i386/pc/grub-install.in: Handle empty string as output from
19828 make_system_path_relative_to_its_root().
19829
1b7748eb 198302008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
19831
19832 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
19833 circular metadata worst case scenario. If the metadata is circular
19834 then copy the wrap in place.
19835 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
19836 project lib/format_text/layout.h
19837 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
19838
c9618ab2 198392008-10-03 Felix Zielcke <fzielcke@z-51.de>
19840
7a36edca 19841 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 19842
bf981c62 198432008-10-03 Felix Zielcke <fzielcke@z-51.de>
19844
19845 * util/update-grub_lib.in: Mention filename in warning message.
19846
6d994591 198472008-09-29 Felix Zielcke <fzielcke@z-51.de>
19848
19849 * NEWS: Update for rename of update-grub to grub-mkconfig.
19850
18ade780 198512008-09-29 Felix Zielcke <fzielcke@z-51.de>
19852
19853 * util/update-grub_lib.in: Copy to ...
19854 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 19855 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 19856 * util/update-grub.in: Rename to ...
19857 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
19858 option. Add `--output' option to allow users to specify the generated
19859 configuration file. Default to stdout.
19860 (update_grub_dir): Rename to ...
19861 (grub_mkconfig_dir): ... this.
19862 (grub_cfg): Default to an empty string.
19863 * conf/common.rmk (update-grub): Rename to ...
19864 (grub-mkconfig): ... this.
19865 (update-grub_lib): Copy to ...
19866 (grub-mkconfig_lib): ... this.
19867 (update-grub_SCRIPTS): Copy to ...
19868 (grub-mkconfig_SCRIPTS): ... this. Update all users.
19869 (update-grub_DATA): Rename to ...
19870 (grub-mkconfig_DATA): ... this.
19871
556ce6ac 198722008-09-28 Robert Millan <rmh@aybabtu.com>
19873
19874 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
19875 to `modified'. Add the real `created' field.
19876 (grub_iso9660_uuid): Use `modified' rather than `created' for
19877 constructing the UUID.
19878
198792008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 19880
19881 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
19882 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
19883
92274e85 198842008-09-28 Bean <bean123ch@gmail.com>
19885
19886 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
19887 Thanks to Christian Franke for finding this bug.
19888
add6f17a 198892008-09-25 Robert Millan <rmh@aybabtu.com>
19890
19891 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
19892 instances of grub_util_get_disk_name() (see previous commit).
19893
d2a367b8 198942008-09-25 Robert Millan <rmh@aybabtu.com>
19895
19896 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
19897 `util/i386/get_disk_name.c'.
19898 * conf/i386-efi.rmk: Likewise.
19899 * conf/x86_64-efi.rmk: Likewise.
19900 * conf/i386-coreboot.rmk: Likewise.
19901 * conf/i386-ieee1275.rmk: Likewise.
19902 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
19903 `util/ieee1275/get_disk_name.c'.
19904 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
19905 * util/ieee1275/get_disk_name.c: Remove file.
19906 * util/i386/get_disk_name.c: Remove file.
19907 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
19908 "hd%d" for device.map entries, rather than using
19909 grub_util_get_disk_name().
19910
81a06771 199112008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 19912
19913 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
19914 warning.
19915 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
19916
5a004279 199172008-09-24 Carles Pina i Estany <carles@pina.cat>
19918
19919 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
19920 Changed to 0x5100.
19921 (GRUB_TERM_PPAGE): Changed to 0x4900.
19922
397093d3 199232008-09-24 Robert Millan <rmh@aybabtu.com>
19924
19925 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
19926 macros (they were i386-pc specific).
19927 * include/grub/sparc64/ieee1275/console.h: Likewise.
19928 * include/grub/efi/console.h: Likewise.
19929
a91b6c7c 199302008-09-22 Bean <bean123ch@gmail.com>
19931
19932 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
19933 resident and in attribute list.
19934
19935 * include/grub/ntfs.h (BMP_LEN): Removed.
19936
c40fd116 199372008-09-22 Bean <bean123ch@gmail.com>
19938
81a06771 19939 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 19940 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
19941
19942 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
19943 error occurs, as grub_disk_open will call grub_disk_close, which will
19944 call p->close (scsi).
19945
81a06771 199462008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 19947
19948 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
19949 (AC_PREREQ): Bumped to 2.59.
19950 (AC_TRY_COMPILE): Replace obsolete macro with ...
19951 (AC_COMPILE_IFELSE): ... this.
19952 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
19953 (AC_LINK_IFELSE): ... this.
19954
5dc43410 199552008-09-21 Felix Zielcke <fzielcke@z-51.de>
19956
19957 * autogen.sh: Add a call to `gendistlist.sh'.
19958
9035dce4 199592008-09-19 Christian Franke <franke@computer.org>
19960
19961 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
19962 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
19963 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
19964 Export __enable_execute_stack() to modules.
19965 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
19966 New function.
19967
7fd75377 199682008-09-09 Felix Zielcke <fzielcke@z-51.de>
19969
040030b3 19970 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
19971 Sort the list.
19972
199732008-09-09 Felix Zielcke <fzielcke@z-51.de>
19974
19975 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 19976 #include <grub/util/hostdisk.h>.
19977
89d5ffcf 199782008-09-08 Robert Millan <rmh@aybabtu.com>
19979
19980 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
19981 segments when their filesz is zero (grub_file_read() interprets
81a06771 19982 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 19983 Use `lowest_segment' rather than 0 for calculating the current
19984 segment load address.
19985
40da438f 199862008-09-08 Robert Millan <rmh@aybabtu.com>
19987
19988 * util/hostdisk.c (open_device): Replace a grub_util_info() call
19989 with grub_dprintf("hostdisk", ...), as it was so verbose that it
19990 clobbered useful information.
19991
ddbf5556 199922008-09-08 Robert Millan <rmh@aybabtu.com>
19993
19994 * include/grub/util/biosdisk.h: Move to ...
19995 * include/grub/util/hostdisk.h: ... here. Update all users.
19996 * util/biosdisk.c: Move to ...
19997 * util/hostdisk.c: ... here. Update all users.
19998
783d0f48 199992008-09-07 Robert Millan <rmh@aybabtu.com>
20000
20001 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
20002 variables.
20003 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
20004 and length can be stored directly in the `mbi->mmap_addr' and
20005 `mbi->mmap_length' struct fields.
20006
548e2ea5 200072008-09-07 Robert Millan <rmh@aybabtu.com>
20008
20009 * conf/i386.rmk: New file. Provides declaration for building
20010 `cpuid.mod'.
20011 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
20012 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
20013 variables.
20014 Include `conf/i386.mk'.
20015 * conf/i386-efi.rmk: Likewise.
20016 * conf/x86_64-efi.rmk: Likewise.
20017 * conf/i386-coreboot.rmk: Likewise.
20018 * conf/i386-ieee1275.rmk: Likewise.
20019
0ea85a37 200202008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
20021
20022 Based on patch created by Colin D Bennett <colin@gibibit.com>.
20023 Adds optimization support for BGR based modes.
20024
20025 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
20026 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20027 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20028 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20029 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20030 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20031 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20032 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20033 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20034 (grub_video_i386_vbeblit_index_index): Likewise.
20035 (grub_video_i386_vbeblit_replace_directN): Added.
20036 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20037 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20038 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20039 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20040 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20041 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 20042 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 20043 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20044 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20045 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20046 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20047 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20048 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
20049
20050 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
20051 (grub_video_i386_vbefill_R8G8B8): Likewise.
20052 (grub_video_i386_vbefill_index): Likewise.
20053 (grub_video_i386_vbefill_direct32): Added.
20054 (grub_video_i386_vbefill_direct24): Likewise.
20055 (grub_video_i386_vbefill_direct16): Likewise.
20056 (grub_video_i386_vbefill_direct8): Likewise.
20057
81a06771 20058 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 20059 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
20060 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
20061 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
20062 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
20063 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 20064
0ea85a37 20065 * video/video.c (grub_video_get_blit_format): Updated to use new
20066 blit formats. Added handling for 16 bit color modes.
81a06771 20067
20068 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 20069 fillers.
20070 (common_blitter): Updated to use new blitters.
20071
20072 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
20073 Removed.
20074 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20075 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20076 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20077 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20078 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20079 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20080 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20081 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20082 (grub_video_i386_vbeblit_index_index): Likewise.
20083 (grub_video_i386_vbeblit_replace_directN): Added.
20084 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20085 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20086 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20087 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20088 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20089 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
20090 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
20091 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20092 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20093 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20094 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20095 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20096 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 20097
0ea85a37 20098 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
20099 (grub_video_i386_vbefill_R8G8B8): Likewise.
20100 (grub_video_i386_vbefill_index): Likewise.
20101 (grub_video_i386_vbefill_direct32): Added.
20102 (grub_video_i386_vbefill_direct24): Likewise.
20103 (grub_video_i386_vbefill_direct16): Likewise.
20104 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 20105
0ea85a37 20106 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
20107 types.
81a06771 20108
0ea85a37 20109 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
20110 types.
81a06771 20111
0ea85a37 20112 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
20113 blitter types.
81a06771 20114
0ea85a37 20115 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
20116 types.
20117
e8a83df6 201182008-09-06 Felix Zielcke <fzielcke@z-51.de>
20119
20120 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
20121 RAID level 1.
20122
6bcd8ee5 201232008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 20124
6bcd8ee5 20125 * fs/iso9660.c (grub_iso9660_date): New structure.
20126 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
20127 (grub_iso9660_uuid): New function.
c375ae58 20128
59261157 201292008-09-05 Bean <bean123ch@gmail.com>
20130
20131 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
20132
20133 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
20134 insensitive bit for names in Win32 and Win32 & DOS namespace.
20135
20136 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
20137
20138 * include/grub/types.h (LONG_MAX): Likewise.
20139
58b6645a 201402008-09-04 Felix Zielcke <fzielcke@z-51.de>
20141
4ee55921 20142 * util/getroot.c: Include <config.h>.
20143 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
20144 add support for /dev/md/N devices and handle LVM double dash escaping.
20145
201462008-09-04 Felix Zielcke <fzielcke@z-51.de>
20147
20148 * config.guess: Update to latest version from config git.
20149 * config.sub: Likewise.
58b6645a 20150
9124f65d 201512008-09-03 Robert Millan <rmh@aybabtu.com>
20152
20153 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
20154 `disk->total_sectors'.
20155
81a06771 201562008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 20157
20158 * include/grub/normal.h: Fixed incorrect comment for
20159 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
20160
81a06771 201612008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 20162
20163 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
20164 values with defines.
20165
20166 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
20167 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
20168 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
20169 (GRUB_VBE_MODEATTR_COLOR): Likewise.
20170 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
20171 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
20172 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
20173 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
20174 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
20175 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
20176 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
20177 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
20178 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
20179 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
20180 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
20181 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
20182 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
20183 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
20184 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
20185
93d5cbf8 201862008-08-31 Robert Millan <rmh@aybabtu.com>
20187
20188 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
20189 declaration.
20190 (grub_multiboot): Fix a few warnings.
20191
21751d50 201922008-08-31 Robert Millan <rmh@aybabtu.com>
20193
20194 * loader/i386/pc/multiboot.c: Update comment not to say that
20195 boot_device support is unimplemented.
20196
e27a75c5 201972008-08-31 Robert Millan <rmh@aybabtu.com>
20198
20199 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
20200 or memory map support are unimplemented.
20201
81a06771 202022008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 20203
20204 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
20205
81a06771 202062008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 20207
20208 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
20209 total video memory in 'vbeinfo' output; show color format details for
20210 each video mode.
20211
7c5d8d95 202122008-08-30 Pavel Roskin <proski@gnu.org>
20213
20214 * util/genmoddep.c: Remove for real this time.
20215 * DISTLIST: Remove util/genmoddep.c.
20216
4cebd25a 202172008-08-30 Robert Millan <rmh@aybabtu.com>
20218
20219 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
20220 as required by Multiboot spec (it was already 4-byte aligned, but
20221 only by chance).
20222
b497a269 202232008-08-29 Pavel Roskin <proski@gnu.org>
20224
e3925185 20225 * kern/powerpc/ieee1275/crt0.S: Rename to ...
20226 * kern/powerpc/ieee1275/startup.S: ... this.
20227 * conf/powerpc-ieee1275.rmk: Adjust for the above.
20228 * DISTLIST: Likewise.
20229
b497a269 20230 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
20231 grub/cpu/kernel.h. Add start label for consistency with other
20232 platforms. Add grub_prefix immediately after start. Add jump
20233 to the code after grub_prefix.
20234 * include/grub/powerpc/kernel.h: Provide valid values for
20235 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
20236
6e5a42fe 202372008-08-29 Bean <bean123ch@gmail.com>
20238
20239 * configure.ac: Change host_os to cygwin for mingw.
20240 (asprintf): New check for function.
20241
20242 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
20243 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
20244
20245 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 20246 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 20247 sync, sleep and grub_util_get_disk_size for mingw.
20248
20249 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
20250 to get size in mingw.
20251 (open_device): Use flag O_BINARY if it's defined.
20252 (find_root_device): Add dummy code for mingw.
20253
20254 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
20255 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
20256 (get_scsi_disk_name): Return 0 for mingw.
20257
20258 * util/hostfs.c: #include <grub/util/misc.h>.
20259 (grub_hostfs_open): Use "rb" flag to open file, use
20260 grub_util_get_disk_size to get disk size for mingw.
20261
20262 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
20263 (asprintf): New function if HAVE_ASPRINTF is not set.
20264 (sync): New function for mingw.
20265 (sleep): Likewise.
20266 (grub_util_get_disk_size): Likewise.
20267
ab3f2673 202682008-08-28 Pavel Roskin <proski@gnu.org>
20269
20270 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20271 kern/time.c.
20272
1c282483 202732008-08-28 Robert Millan <rmh@aybabtu.com>
20274
20275 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
20276
678e849c 202772008-08-28 Robert Millan <rmh@aybabtu.com>
20278
20279 Change find_grub_drive() syntax so it doesn't prevent it from
20280 detecting NULL names as errors.
20281
20282 * util/biosdisk.c (find_grub_drive): Move free slot search code
20283 from here ...
20284 (find_free_slot): ... to here.
20285 (read_device_map): Use find_free_slot() to search for free slots.
20286
965c75ca 202872008-08-27 Marco Gerards <marco@gnu.org>
20288
20289 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
20290 (scsi_mod_SOURCES): New variable.
20291 (scsi_mod_CFLAGS): Likewise
20292 (scsi_mod_LDFLAGS): Likewise.
20293
20294 * disk/scsi.c: New file.
20295
20296 * include/grub/scsi.h: Likewise.
20297
20298 * include/grub/scsicmd.h: Likewise.
20299
20300 * disk/ata.c: Include <grub/scsi.h>.
20301 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
20302 instead.
20303 (grub_ata_iterate): Skip ATAPI devices.
20304 (grub_ata_open): Only handle ATAPI devices.
20305 (struct grub_atapi_read): Removed.
20306 (grub_atapi_readsector): Likewise.
20307 (grub_ata_read): No longer handle ATAPI devices.
20308 (grub_ata_write): Likewise.
20309 (grub_atapi_iterate): New function.
20310 (grub_atapi_read): Likewise.
20311 (grub_atapi_write): Likewise.
20312 (grub_atapi_open): Likewise.
20313 (grub_atapi_close): Likewise.
20314 (grub_atapi_dev): New variable.
20315 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
20316 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
20317
20318 * include/grub/disk.h (enum grub_disk_dev_id): Add
20319 `GRUB_DISK_DEVICE_SCSI_ID'.
20320
c07ae501 203212008-08-26 Robert Millan <rmh@aybabtu.com>
20322
20323 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
20324 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
20325 descriptive.
20326
5ed20adc 203272008-08-23 Bean <bean123ch@gmail.com>
20328
20329 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
20330 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20331 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
20332 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
20333 dm_nv.mod.
20334 (raid5rec_mod_SOURCES): New macro.
20335 (raid5rec_mod_CFLAGS): Likewise.
20336 (raid5rec_mod_LDFLAGS): Likewise.
20337 (raid6rec_mod_SOURCES): Likewise.
20338 (raid6rec_mod_CFLAGS): Likewise.
20339 (raid6rec_mod_LDFLAGS): Likewise.
20340 (mdraid_mod_SOURCES): Likewise.
20341 (mdraid_mod_CFLAGS): Likewise.
20342 (mdraid_mod_LDFLAGS): Likewise.
20343 (dm_nv_mod_SOURCES): Likewise.
20344 (dm_nv_mod_CFLAGS): Likewise.
20345 (dm_nv_mod_LDFLAGS): Likewise.
20346
20347 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
20348 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20349 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20350
20351 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
20352 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20353
20354 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20355
20356 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20357
20358 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20359
20360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20361
20362 * disk/raid5_recover.c: New file.
20363
20364 * disk/raid6_recover.c: Likewise.
20365
20366 * disk/mdraid_linux.c: Likewise.
20367
20368 * disk/dmraid_nvidia.c: Likewise.
20369
20370 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
20371 ULONG_MAX.
20372
20373 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
20374 calculate the size of raid device.
20375 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
20376 different layout of raid5.
20377 (grub_raid_scan_device): Remove code specific to mdraid.
20378 (grub_raid_list): New variable.
20379 (free_array): New function.
20380 (grub_raid_register): Likewise.
20381 (grub_raid_unregister): Likewise.
20382 (grub_raid_rescan): Likewise.
20383 (GRUB_MOD_INIT): Don't iterate device here.
20384 (GRUB_MOD_FINI): Use free_array to release resource.
20385
20386 * include/grub/raid.h: Remove macro and structure specific to mdraid.
20387 (grub_raid5_recover_func_t): New function variable type.
20388 (grub_raid6_recover_func_t): Likewise.
20389 (grub_raid5_recover_func): New variable.
20390 (grub_raid6_recover_func): Likewise.
20391 (grub_raid_register): New function.
20392 (grub_raid_unregister): Likewise.
20393 (grub_raid_rescan): Likewise.
20394 (grub_raid_block_xor): Likewise.
20395
20396 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
20397 (CMD_CRC): New macro.
20398 (part): Removed.
20399 (read_file): Handle device as well as file.
20400 (cmd_crc): New function.
20401 (fstest): Handle multiple disks.
20402 (options): Remove part, raw and long, add root and diskcount.
20403 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 20404 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 20405 add handling for the new options, support multiple disks.
20406
20407 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
20408
29c18915 204092008-08-23 Bean <bean123ch@gmail.com>
20410
20411 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
20412
20413 * genfslist.sh: Ignore kernel.mod.
20414
20415 * genpartmaplist.sh: Likewise.
20416
8415f261 204172008-08-23 Robert Millan <rmh@aybabtu.com>
20418
20419 * util/getroot.c (find_root_device): Skip anything that starts with
20420 a dot, not just directories. This avoids things like /dev/.tmp.md0.
20421
d5a7dc5b 204222008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 20423
d5a7dc5b 20424 * util/update-grub.in (GRUB_GFXMODE): Export variable.
20425 * util/grub.d/00_header.in: Allow the administrator to change default
20426 gfxmode via ${GRUB_GFXMODE}.
20427
380cfbb4 204282008-08-21 Felix Zielcke <fzielcke@z-51.de>
20429
20430 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
20431
c9baafe7 204322008-08-21 Robert Millan <rmh@aybabtu.com>
20433
20434 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
20435 loader.
20436 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
20437 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
20438
e290bef2 204392008-08-20 Carles Pina i Estany <carles@pina.cat>
20440
20441 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
20442 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
20443
f9dbfc96 204442008-08-19 Robert Millan <rmh@aybabtu.com>
20445
20446 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
20447 (struct grub_virtual_screen): Remove `cursor_color'.
20448 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
20449 initialization.
20450 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
20451
dd6bd6ab 204522008-08-18 Robert Millan <rmh@aybabtu.com>
20453
20454 Unify (identical) linux_normal.c files.
20455 * loader/i386/efi/linux_normal.c: Move from here ...
20456 * loader/linux_normal.c: ... to here. Update all users.
20457 * loader/i386/pc/linux_normal.c: Delete. Update all users.
20458 * loader/i386/ieee1275/linux_normal.c: Likewise.
20459
7f42f83e 204602008-08-18 Robert Millan <rmh@aybabtu.com>
20461
20462 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
20463 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
20464 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
20465 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
20466 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
20467 New macros.
20468 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
20469 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
20470 (GRUB_LINUX_CL_END_OFFSET): ... to here.
20471 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
20472 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
20473 (GRUB_EFI_CL_END_OFFSET): Rename to ...
20474 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
20475 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
20476 Initialize `params->video_cursor_x' and `params->video_cursor_y'
20477 portably using grub_getxy().
20478 Replace `-EFI' with `-bzImage' in boot message.
20479
38487ddb 204802008-08-17 Robert Millan <rmh@aybabtu.com>
20481
20482 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
20483
deceb3ec 204842008-08-17 Robert Millan <rmh@aybabtu.com>
20485
20486 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
20487
20488 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
20489 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
20490 (grub_machine_mmap_iterate): New function declaration.
20491 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
20492 structure.
20493 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
20494 macros.
20495
20496 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
20497 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
20498 Move e820 parsing from here ...
20499 * kern/i386/pc/mmap.c: New file.
20500 (grub_machine_mmap_iterate): ... to here.
20501
20502 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
20503 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
20504 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
20505 (grub_available_iterate): Redeclare to return `void', and redeclare
20506 its hook to use grub_uint64_t as addr and size parameters, and rename
20507 to ...
20508 (grub_machine_mmap_iterate): ... this. Update all users.
20509
20510 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
20511 to make it more readable. Rename to ...
20512 (grub_machine_mmap_iterate): ... this.
20513
20514 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
20515 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
20516 (grub_multiboot): Allocate an extra region after the payload, and fill
20517 it with a Multiboot memory map. Adjust a.out loader to calculate size
20518 with the extra space.
20519 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
20520 with the extra space.
20521
f8aa0f43 205222008-08-17 Carles Pina i Estany <carles@pina.cat>
20523
9807deb9 20524 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 20525
605f5bb6 205262008-08-17 Felix Zielcke <fzielcke@z-51.de>
20527
20528 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
20529 mdate-sh to the list `find' searches for.
20530 * DISTLIST: Regenerated.
20531
210db6c6 205322008-08-16 Felix Zielcke <fzielcke@z-51.de>
20533
20534 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
20535 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 20536 genmoddep.awk, gensymlist.sh.in.
20537 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 20538 * DISTLIST: Regenerated.
48cdbfd4 20539 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 20540
1082b929 205412008-08-16 Robert Millan <rmh@aybabtu.com>
20542
20543 * disk/raid.c (grub_raid_init): Handle/report errors set by
20544 grub_device_iterate().
20545 * disk/lvm.c (grub_lvm_init): Likewise.
20546
42ce5170 205472008-08-15 Bean <bean123ch@gmail.com>
20548
20549 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20550 and datehook.mod.
20551 (datetime_mod_SOURCES): New macro.
20552 (datetime_mod_CFLAGS): Likewise.
20553 (datetime_mod_LDFLAGS): Likewise.
20554 (date_mod_SOURCES): Likewise.
20555 (date_mod_CFLAGS): Likewise.
20556 (date_mod_LDFLAGS): Likewise.
20557 (datehook_mod_SOURCES): Likewise.
20558 (datehook_mod_CFLAGS): Likewise.
20559 (datehook_mod_LDFLAGS): Likewise.
20560
20561 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20562 and datehook.mod.
20563 (datetime_mod_SOURCES): New macro.
20564 (datetime_mod_CFLAGS): Likewise.
20565 (datetime_mod_LDFLAGS): Likewise.
20566 (date_mod_SOURCES): Likewise.
20567 (date_mod_CFLAGS): Likewise.
20568 (date_mod_LDFLAGS): Likewise.
20569 (datehook_mod_SOURCES): Likewise.
20570 (datehook_mod_CFLAGS): Likewise.
20571 (datehook_mod_LDFLAGS): Likewise.
20572
20573 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20574 and datehook.mod.
20575 (datetime_mod_SOURCES): New macro.
20576 (datetime_mod_CFLAGS): Likewise.
20577 (datetime_mod_LDFLAGS): Likewise.
20578 (date_mod_SOURCES): Likewise.
20579 (date_mod_CFLAGS): Likewise.
20580 (date_mod_LDFLAGS): Likewise.
20581 (datehook_mod_SOURCES): Likewise.
20582 (datehook_mod_CFLAGS): Likewise.
20583 (datehook_mod_LDFLAGS): Likewise.
20584
20585 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20586 and datehook.mod.
20587 (datetime_mod_SOURCES): New macro.
20588 (datetime_mod_CFLAGS): Likewise.
20589 (datetime_mod_LDFLAGS): Likewise.
20590 (date_mod_SOURCES): Likewise.
20591 (date_mod_CFLAGS): Likewise.
20592 (date_mod_LDFLAGS): Likewise.
20593 (datehook_mod_SOURCES): Likewise.
20594 (datehook_mod_CFLAGS): Likewise.
20595 (datehook_mod_LDFLAGS): Likewise.
20596
20597 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20598 and datehook.mod.
20599 (datetime_mod_SOURCES): New macro.
20600 (datetime_mod_CFLAGS): Likewise.
20601 (datetime_mod_LDFLAGS): Likewise.
20602 (date_mod_SOURCES): Likewise.
20603 (date_mod_CFLAGS): Likewise.
20604 (date_mod_LDFLAGS): Likewise.
20605 (datehook_mod_SOURCES): Likewise.
20606 (datehook_mod_CFLAGS): Likewise.
20607 (datehook_mod_LDFLAGS): Likewise.
20608
20609 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
20610
20611 * commands/date.c: New file.
20612
20613 * hook/datehook.c: Likewise.
20614
20615 * include/grub/lib/datetime.h: Likewise.
20616
20617 * include/grub/i386/cmos.h: Likewise.
20618
20619 * lib/datetime.c: Likewise.
20620
20621 * lib/i386/datetime.c: Likewise.
20622
20623 * lib/efi/datetime.c: Likewise.
20624
0e9242da 206252008-08-14 Robert Millan <rmh@aybabtu.com>
20626
20627 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
20628 (grub_mkelfimage_SOURCES): New variable.
20629 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
20630
20631 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
20632 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
20633 * conf/powerpc-ieee1275.rmk: Likewise.
20634 * conf/i386-ieee1275.rmk: Likewise.
20635
20636 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
20637 * kern/i386/coreboot/init.c: Likewise.
20638
20639 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
20640 with `<grub/cpu/kernel.h>'.
20641 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
20642 to ...
20643 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
20644 * kern/i386/coreboot/startup.S: Likewise.
20645
20646 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
20647 (GRUB_MOD_GAP): Remove.
20648 * include/grub/powerpc/kernel.h: New file.
20649 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
20650 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20651 * include/grub/i386/kernel.h: New file.
20652 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
20653 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
20654 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20655
20656 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
20657 `grub-mkelfimage'.
20658 Use --directory when invoking grub_mkimage.
20659
20660 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
20661 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
20662 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
20663 and GRUB_KERNEL_CPU_PREFIX.
20664
b86408f8 206652008-08-14 Felix Zielcke <fzielcke@z-51.de>
20666
d5e619ca 20667 * include/grub/err.h (grub_err_printf): New function prototype.
20668 * util/misc.c (grub_err_printf): New function.
20669 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
20670 grub_printf.
20671 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 20672
7161f0e0 206732008-08-13 Robert Millan <rmh@aybabtu.com>
20674
20675 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
20676
a1967522 206772008-08-13 Robert Millan <rmh@aybabtu.com>
20678
20679 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
20680 boot entry.
20681
371458b5 206822008-08-12 Robert Millan <rmh@aybabtu.com>
20683
20684 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
20685 of the relocation code from here ...
20686 (grub_multiboot): ... to here.
20687 (forward_relocator, backward_relocator): Move from here ...
20688 * kern/i386/loader.S (grub_multiboot_forward_relocator)
20689 (grub_multiboot_backward_relocator): ... to here.
20690 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
20691 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
20692 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
20693 (grub_multiboot_forward_relocator_end)
20694 (grub_multiboot_backward_relocator)
20695 (grub_multiboot_backward_relocator_end): New variables.
20696
05f9452b 206972008-08-12 Bean <bean123ch@gmail.com>
20698
20699 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
20700
20024ab0 207012008-08-11 Robert Millan <rmh@aybabtu.com>
20702
20703 * kern/i386/linuxbios/startup.S: Move from here ...
20704 * kern/i386/coreboot/startup.S: ... to here.
20705
20706 * kern/i386/linuxbios/init.c: Move from here ...
20707 * kern/i386/coreboot/init.c: ... to here.
20708
20709 * kern/i386/linuxbios/table.c: Move from here ...
20710 * kern/i386/coreboot/mmap.c: ... to here.
20711
20712 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
20713
e352e9cd 207142008-08-11 Robert Millan <rmh@aybabtu.com>
20715
20716 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
20717 errors. Leave it to the upper layer to handle them.
20718
2d05bc6a 207192008-08-09 Christian Franke <franke@computer.org>
20720
20721 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
20722 * conf/common.rmk: Install `grub-pe2elf' only if requested.
20723 Install `grub.d/10_windows' only on Cygwin.
20724 * configure.ac: Add subst of `target_os'.
20725 Check `target_os' also before setting TARGET_OBJ2ELF.
20726 Add `--enable-grub-pe2elf'.
20727
042bd419 207282008-08-08 Robert Millan <rmh@aybabtu.com>
20729
20730 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20731 (grub_last_time): Change type to grub_uint64_t.
20732 (grub_disk_open): Migrate code from to using grub_get_time_ms().
20733 (grub_disk_close): Likewise.
20734
20735 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20736 (run_menu): Migrate code from to using grub_get_time_ms().
20737
20738 * util/misc.c (grub_get_time_ms): New function.
20739
7f280db5 207402008-08-08 Marco Gerards <marco@gnu.org>
20741
20742 * disk/ata.c (grub_ata_regget): Change return type to
20743 `grub_uint8_t'.
20744 (grub_ata_regget2): Likewise.
20745 (grub_ata_wait_status): New function.
20746 (grub_ata_wait_busy): Removed function, updated all users to use
20747 `grub_ata_wait_status'.
20748 (grub_ata_wait_drq): Likewise.
20749 (grub_ata_cmd): New function.
20750 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
20751 error handling.
20752 (grub_ata_pio_write): Add error handling.
20753 (grub_atapi_identify): Likewise.
20754 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
20755 handling.
20756 (grub_ata_identify): Use `grub_ata_cmd' and improve error
20757 handling. Actually use the detected registers. Reorder the
20758 detection logic such that it is easier to read.
20759 (grub_ata_pciinit): Do not assign the same ID to each controller.
20760 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
20761 handling.
20762 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
20763
20764 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
20765
1fbc5e66 207662008-08-08 Marco Gerards <marco@gnu.org>
20767
20768 * NEWS: Update.
20769
819ce6c0 207702008-08-07 Bean <bean123ch@gmail.com>
20771
20772 * include/grub/x86_64/pci.h: New file.
20773
5c41d44d 207742008-08-07 Christian Franke <franke@computer.org>
20775
20776 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
20777 (TIMER2_GATE): Likewise.
20778 (grub_pit_wait): Add enable/disable of the timer2 gate
20779 bit of port 0x61. This fixes a possible infinite loop.
20780
5ebc275d 207812008-08-07 Bean <bean123ch@gmail.com>
20782
20783 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
20784 kern/i386/tsc.c and kern/i386/pit.c.
20785
20786 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
20787 x86_64 platform.
20788
20789 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
20790 <grub/i386/tsc.h>.
20791
20792 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
20793
e383b3d0 207942008-08-07 Bean <bean123ch@gmail.com>
20795
20796 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
20797
20798 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
20799
20800 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
20801 multiple inclusion. Add #include <grub/types.h>.
20802
1cbb58ac 208032008-08-06 Christian Franke <franke@computer.org>
20804
20805 * conf/common.rmk: Build and install `10_windows'.
20806 * util/grub.d/10_windows.in: New script.
20807
337f5a1e 208082008-08-06 Pavel Roskin <proski@gnu.org>
20809
20810 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
20811
057bc4ac 208122008-08-06 Robert Millan <rmh@aybabtu.com>
20813
20814 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
20815 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
20816
2b99f123 208172008-08-06 Bean <bean123ch@gmail.com>
20818
20819 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
20820 (grub_pxefs_fs_int): Remove dummy definition.
20821 (grub_pxefs_open): Use data->block_size to store the current block
20822 size setting.
20823 (grub_pxefs_read): Use block size stored in data->block_size. As the
20824 value of grub_pxe_blksize can be changed after the file is opened.
20825
9f0234cb 208262008-08-06 Bean <bean123ch@gmail.com>
20827
20828 * fs/i386/pc/pxe.c (curr_file): new variable.
20829 (grub_pxefs_open): Simply the handling of pxe file system. Don't
20830 require the dummy internal file system anymore.
20831 (grub_pxefs_read): Removed.
20832 (grub_pxefs_close): Likewise.
20833 (grub_pxefs_fs_int): Likewise.
20834 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
20835 connection when we switch file.
20836 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
20837
a55d42e0 208382008-08-06 Robert Millan <rmh@aybabtu.com>
20839
20840 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
20841 `halt.mod'.
20842 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
20843 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
20844
20845 * kern/i386/halt.c: New file.
20846 * kern/i386/reboot.c: Likewise.
20847 * include/grub/i386/reboot.h: Likewise.
20848 * include/grub/i386/halt.h: Likewise.
20849
20850 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
20851 Include `<grub/cpu/halt.h>'.
20852 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
20853 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
20854
20855 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
20856 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
20857 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
20858 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
20859 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
20860 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
20861 from here ...
20862 * include/grub/i386/at_keyboard.h: ... to here.
20863
24371d26 208642008-08-05 Robert Millan <rmh@aybabtu.com>
20865
20866 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
20867 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
20868 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
20869 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20870 `kern/generic/millisleep.c'.
20871
20872 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
20873 instead of grub_get_rtc().
20874 (grub_tsc_init): Initialize `tsc_boot_time'.
20875
20876 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
20877 (grub_machine_init): Use grub_tsc_init() rather than
20878 installing an RTC-based handler via grub_install_get_time_ms().
20879
20880 * kern/i386/pit.c: New file.
20881 * include/grub/i386/pit.h: Likewise.
20882
9e7007b3 208832008-08-05 Bean <bean123ch@gmail.com>
20884
20885 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
20886
20887 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
20888 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
20889 (pxe_mod_SOURCES): New macro.
20890 (pxe_mod_CFLAGS): Likewise.
20891 (pxe_mod_LDFLAGS): Likewise.
20892 (pxecmd_mod_SOURCES): Likewise.
20893 (pxecmd_mod_CFLAGS): Likewise.
20894 (pxecmd_mod_LDFLAGS): Likewise.
20895
20896 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
20897 (grub_pxe_call): Likewise.
20898
20899 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
20900
20901 * commands/i386/pc/pxecmd.c: New file.
20902
9f0234cb 20903 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 20904
20905 * include/grub/i386/pc/pxe.h: Likewise.
20906
6977d49f 209072008-08-05 Bean <bean123ch@gmail.com>
20908
20909 * util/console.c (grub_console_cur_color): New variable.
20910 (grub_console_standard_color): Likewise.
20911 (grub_console_normal_color): Likewise.
20912 (grub_console_highlight_color): Likewise.
20913 (color_map): Likewise.
20914 (use_color): Likewise.
20915 (NUM_COLORS): New macro.
20916 (grub_ncurses_setcolorstate): Handle color properly.
20917 (grub_ncurses_setcolor): Don't change color here, just remember the
20918 settings, color will be set in grub_ncurses_setcolorstate.
20919 (grub_ncurses_getcolor): New function.
20920 (grub_ncurses_init): Initialize color pairs.
20921 (grub_ncurses_term): New member grub_ncurses_getcolor.
20922
9c2ff3ee 209232008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 20924
9c2ff3ee 20925 High resolution timer support. Implemented for x86 CPUs using TSC.
20926 Extracted generic grub_millisleep() so it's linked in only as needed.
20927 This requires a Pentium compatible CPU; if the RDTSC instruction is
20928 not supported, then it falls back on the generic grub_get_time_ms()
20929 implementation that uses the machine's RTC.
20930
20931 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
20932 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20933 `kern/generic/millisleep.c'.
20934
20935 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
20936 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
20937
20938 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
20939 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
20940
20941 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20942
20943 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20944 `kern/generic/millisleep.c'.
20945
20946 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20947
20948 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
20949
20950 * kern/generic/rtc_get_time_ms.c: New file.
20951
20952 * kern/generic/millisleep.c: New file.
337f5a1e 20953
9c2ff3ee 20954 * kern/misc.c: Don't include
20955 <kern/time.h> anymore.
20956 (grub_millisleep_generic): Removed.
20957
20958 * commands/sleep.c (grub_interruptible_millisleep): Uses
20959 grub_get_time_ms() instead of grub_get_rtc().
20960
20961 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
20962 function.
20963 (grub_cpu_is_cpuid_supported): New inline function.
20964 (grub_cpu_is_tsc_supported): New inline function.
20965 (grub_tsc_init): New function prototype.
20966 (grub_tsc_get_time_ms): New function prototype.
20967
20968 * kern/i386/tsc.c (grub_get_time_ms): New file.
20969
20970 * include/grub/time.h: Include <grub/types.h.
20971 (grub_millisleep_generic): Removed.
20972 (grub_get_time_ms): New prototype.
20973 (grub_install_get_time_ms): New prototype.
20974 (grub_rtc_get_time_ms): New prototype.
20975
20976 * kern/time.c (grub_get_time_ms): New function.
20977 (grub_install_get_time_ms): New function.
20978
20979 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
20980 <grub/time.h> anymore.
20981 (grub_millisleep): Removed.
20982 (grub_machine_init): Call grub_tsc_init.
20983
20984 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
20985 get_time_ms() implementation.
20986
20987 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
20988 (ieee1275_get_time_ms): New function.
20989 (grub_machine_init): Install get_time_ms() implementation.
20990
20991 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
20992 (grub_machine_init): Call grub_tsc_init().
20993 (grub_millisleep): Removed.
bf06a93f 20994
9c2ff3ee 20995 * kern/ieee1275/init.c (grub_millisleep): Removed.
20996 (grub_machine_init): Install ieee1275_get_time_ms()
20997 implementation.
20998 (ieee1275_get_time_ms): New function.
20999 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
21000 real work.
21001
9ec92aaf 210022008-08-05 Marco Gerards <marco@gnu.org>
21003
21004 * disk/ata.c: Include <grub/pci.h>.
21005 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
21006 (grub_ata_initialize): Rewritten.
21007 (grub_ata_device_initialize): New function.
21008
8d23f507 210092008-08-04 Pavel Roskin <proski@gnu.org>
21010
21011 * kern/main.c: Include grub/mm.h.
21012
5e15ee3d 210132008-08-04 Robert Millan <rmh@aybabtu.com>
21014
21015 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
21016 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
21017 corruption problem).
21018
a9053f8f 210192008-08-04 Robert Millan <rmh@aybabtu.com>
21020
21021 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
21022 warnings introduced in my last commit.
21023
dd19c7d7 210242008-08-03 Robert Millan <rmh@aybabtu.com>
21025
21026 Make PCI available on all i386 architectures.
21027
21028 * include/grub/i386/pc/pci.h: Move from here ...
21029 * include/grub/i386/pci.h: ... to here.
21030
21031 * include/grub/i386/pc/pci.h: Remove.
21032 * include/grub/i386/efi/pci.h: Remove.
21033 * include/grub/x86_64/efi/pci.h: Remove.
21034
21035 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
21036 `<grub/cpu/pci.h>'.
21037
21038 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
21039 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
21040 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
21041
21042 * conf/i386-ieee1275.rmk: Likewise.
21043
e14a6184 210442008-08-03 Robert Millan <rmh@aybabtu.com>
21045
21046 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
21047 (grub_console_setcursor): Make it possible to set cursor off.
21048
52768e37 210492008-08-03 Robert Millan <rmh@aybabtu.com>
21050
21051 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
21052 of modules instead of assuming which platform provides what.
21053 * util/update-grub.in: Likewise.
21054
2d52f57f 210552008-08-03 Robert Millan <rmh@aybabtu.com>
21056
21057 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
21058 instead of `grub_install_dos_part' to determine whether a drive needs
21059 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 21060 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 21061
2a5cd121 210622008-08-02 Robert Millan <rmh@aybabtu.com>
21063
21064 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
21065
93808428 210662008-08-02 Robert Millan <rmh@aybabtu.com>
21067
21068 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
21069 of informational grub_dprintf() calls.
21070
3bd0a12a 210712008-08-02 Robert Millan <rmh@aybabtu.com>
21072
21073 * disk/memdisk.c (memdisk_size): Don't initialize.
21074 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
21075
21076 * include/grub/i386/pc/kernel.h
21077 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
21078 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
21079 (grub_memdisk_image_size, grub_arch_memdisk_addr)
21080 (grub_arch_memdisk_size): Remove.
21081
21082 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
21083 field (was only used to transfer a constant). Add `type' field to
21084 support multiple module types.
21085 (grub_module_iterate): New function.
21086
21087 * kern/device.c (grub_device_open): Do not hide error messages
21088 when grub_disk_open() fails. Use grub_print_error() instead.
21089
21090 * kern/i386/pc/init.c (grub_arch_modules_addr)
21091 (grub_arch_memdisk_size): Remove functions.
21092 (grub_arch_modules_addr): Return the module address in high memory
21093 (now that it isn't copied anymore).
21094
21095 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
21096 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
21097 decompression routine (grub_total_module_size already includes that
21098 now). Don't copy modules back to low memory.
21099
21100 * kern/main.c: Include `<grub/mm.h>'.
21101 (grub_load_modules): Split out (and use) ...
21102 (grub_module_iterate): ... this function, which iterates through
21103 module objects and runs a hook.
21104 Comment out grub_mm_init_region() call, as it would cause non-ELF
21105 modules to be overwritten.
21106
21107 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
21108 the memdisk image in its own region, make it part of the module list.
21109 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
21110 (main): Parse --memdisk|-m option, and pass user-provided path as
21111 parameter to generate_image().
21112 (add_segments): Pass `memdisk_path' down to load_modules().
21113 (load_modules): Embed memdisk image in module section when requested.
21114 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
21115 `header.type' instead of `header.offset'.
21116
21117 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
21118 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
21119 (memdisk_mod_LDFLAGS): New variables.
21120 * conf/i386-coreboot.rmk: Likewise.
21121 * conf/i386-ieee1275.rmk: Likewise.
21122
a927cc73 211232008-08-02 Robert Millan <rmh@aybabtu.com>
21124
21125 * loader/i386/pc/multiboot.c (playground, forward_relocator)
21126 (backward_relocator): New variables. Used to allocate and relocate
21127 the payload, respectively.
21128 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 21129 address, install the appropriate relocator code in each bound of
a927cc73 21130 the payload, and set the entry point such that
21131 grub_multiboot_real_boot() will jump to one of them.
21132
21133 * kern/i386/loader.S (grub_multiboot_payload_size)
21134 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21135 (grub_multiboot_payload_entry_offset): New variables.
21136 (grub_multiboot_real_boot): Set cpu context to what the relocator
21137 expects, and jump to the relocator instead of the payload.
21138
21139 * include/grub/i386/loader.h (grub_multiboot_payload_size)
21140 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21141 (grub_multiboot_payload_entry_offset): Export.
21142
b15d8a0c 211432008-08-01 Bean <bean123ch@gmail.com>
21144
21145 * normal/menu_entry.c (editor_getline): Don't return the original
21146 string as result, as it will be released by lexer once it has done
21147 using it.
21148
cdfb3d22 211492008-08-01 Robert Millan <rmh@aybabtu.com>
21150
21151 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
21152 within menuentries, not before them.
21153 util/grub.d/10_hurd.in: Likewise.
21154
9175e93d 211552008-08-01 Bean <bean123ch@gmail.com>
21156
21157 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
21158 (bufio_mod_SOURCES): New macro.
21159 (bufio_mod_CFLAGS): Likewise.
21160 (bufio_mod_LDFLAGS): Likewise.
21161
21162 * include/grub/bufio.h: New file.
21163
21164 * io/bufio.c: Likewise.
21165
21166 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
21167 (grub_video_reader_png): Use grub_buffile_open to open file.
21168
21169 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
21170 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
21171
21172 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
21173 (grub_video_reader_tga): Use grub_buffile_open to open file.
21174
21175 * font/manager.c: Include <grub/bufio.h>.
21176 (add_font): Use grub_buffile_open to open file.
21177
3d8383e7 211782008-07-31 Robert Millan <rmh@aybabtu.com>
21179
21180 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
21181 ELF segments, use a macro for arbitrarily accessing any of them instead
21182 of preparing a pointer that allows access to one at a time.
21183 (grub_multiboot_load_elf64): Likewise.
21184
16e641b6 211852008-07-31 Bean <bean123ch@gmail.com>
21186
21187 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
21188 GRUB_KERNEL_MACHINE_DATA_END.
21189
59198b72 211902008-07-30 Robert Millan <rmh@aybabtu.com>
21191
21192 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
21193 Increase from 0x50 to 0x60.
21194 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
21195 use UUIDs to identify the root drive for them. If that's not
21196 possible, abort.
21197 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
21198 check, for cross-disk installs.
21199
ae88bca3 212002008-07-30 Robert Millan <rmh@aybabtu.com>
21201
21202 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
21203 is non-empty, use it to set the `prefix' environment variable instead
21204 of the usual approach.
21205 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
21206 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
21207 environment variable instead of dummy make_install_device().
21208
21209 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
21210 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 21211 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 21212
21213 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
21214 New variable reference.
21215 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
21216 New macro. Defines offset of `grub_prefix' within startup.S (relative
21217 to `start').
21218 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
21219 section within startup.S (relative to `start').
21220 * include/grub/i386/coreboot/kernel.h: Likewise.
21221
21222 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
21223 Overwrite grub_prefix with its contents, at the beginning of the
21224 first segment.
21225 (main): Understand -p|--prefix.
21226
14f41dd1 212272008-07-30 Robert Millan <rmh@aybabtu.com>
21228
21229 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
21230
4ca049a3 212312008-07-30 Robert Millan <rmh@aybabtu.com>
21232
21233 * term/i386/pc/vga_text.c (grub_console_cls): Use
21234 grub_console_gotoxy() to go back to beginning of the screen.
21235 Found by Patrick Georgi <patrick.georgi@coresystems.de>
21236
2921d337 212372008-07-29 Christian Franke <franke@computer.org>
21238
21239 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
21240 Add conversion of emulated mount points on Cygwin.
21241
b609876d 212422008-07-29 Christian Franke <franke@computer.org>
21243
21244 * util/update-grub.in: Add a check for admin
21245 group on Cygwin.
21246 Remove old `grub.cfg.new' before creation.
21247 Add `-f' to `mv' to handle the different filesystem
21248 semantics of Windows.
21249
e93e4679 212502008-07-29 Bean <bean123ch@gmail.com>
21251
21252 * normal/main.c (get_line): Fix buffer overflow bug.
21253
41694fd0 212542008-07-28 Robert Millan <rmh@aybabtu.com>
21255
21256 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
21257 (struct grub_apple_header): New struct. Describes the layout of
21258 the partmap header.
21259 (apple_partition_map_iterate): Check the header magic as well as the
21260 partition magic (which was already being checked).
21261
cfd0b4e6 212622008-07-28 Pavel Roskin <proski@gnu.org>
21263
21264 * genmk.rb: Add a warning to the beginning of the output that
21265 it's a generated file and should not be edited.
21266
93cce016 212672008-07-28 Robert Millan <rmh@aybabtu.com>
21268
21269 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21270 with the same number are found, just use issue a warning with
21271 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 21272
cd1df915 212732008-07-27 Robert Millan <rmh@aybabtu.com>
21274
21275 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
21276 information.
21277
b70a8427 212782008-07-27 Bean <bean123ch@gmail.com>
21279
21280 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
21281 (grub_fat_find_dir): Ignore case when comparing filename.
21282
8f5e379f 212832008-07-27 Bean <bean123ch@gmail.com>
21284
21285 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
21286 smallino, as it's more descriptive, and i8count can be confused with
21287 the other field count.
21288 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
21289 inode type.
21290
a85cd5a0 212912008-07-27 Bean <bean123ch@gmail.com>
21292
21293 * commands/crc.c: New file.
21294
21295 * lib/crc.c: Likewise.
21296
21297 * include/grub/lib/crc.h: Likewise.
21298
21299 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
21300
21301 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
21302 (hexdump): Move this function to ...
21303
21304 * lib/hexdump.c: ... here.
21305
21306 * include/grub/hexdump.h: Renamed to ...
21307
21308 * include/grub/lib/hexdump.h: ... this.
21309
21310 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
21311
21312 * util/grub-editenv.c: Likewise.
21313
21314 * include/envblk.h: Renamed to ...
21315
21316 * include/lib/envblk.h: ... this.
21317
21318 * util/envblk.c: Renamed to ...
21319
21320 * lib/envblk.c: ... this.
21321
21322 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
21323 lib/hexdump.c.
21324 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
21325 (pkglib_MODULES): Add crc.mod.
21326 (hexdump_mod_SOURCES): Add lib/hexdump.c.
21327 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
21328 (crc_mod_SOURCES): New macro.
21329 (crc_mod_CFLAGS): Likewise.
21330 (crc_mod_LDFLAGS): Likewise.
21331
21332 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
21333
21334 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21335
21336 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21337
21338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21339
21340 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21341
c298def0 213422008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 21343
21344 * commands/help.c: Include <grub/term.h>.
21345 (TERM_WIDTH): Removed. Updated all users.
21346
cc349fb3 213472008-07-27 Pavel Roskin <proski@gnu.org>
21348
21349 * util/getroot.c (find_root_device): Rephrase a comment to avoid
21350 spurious warnings about a comment within a comment.
21351
9051607e 213522008-07-25 Robert Millan <rmh@aybabtu.com>
21353
21354 * util/getroot.c (find_root_device): Skip devices that match
21355 /dev/dm-[0-9]. This lets the real device be found for any type of
21356 abstraction (LVM, EVMS, RAID..).
21357 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
21358 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
21359 device is found first, find_root_device() will now skip it.
21360
01453bfc 213612008-07-24 Pavel Roskin <proski@gnu.org>
21362
21363 * include/grub/types.h: Use __builtin_bswap32() and
21364 __builtin_bswap64() with gcc 4.3 and newer.
21365
6af9849f 213662008-07-24 Christian Franke <franke@computer.org>
21367
3a0fa256 21368 * util/i386/pc/grub-install.in: If `--debug' is specified,
21369 pass `--verbose' to grub-setup.
21370 Abort script if make_system_path_relative_to_its_root() fails.
21371
7810e747 213722008-07-24 Bean <bean123ch@gmail.com>
21373
21374 * configure.ac: Fixed a bug caused by the previous cygwin patch,
21375 variable `target_platform' should be `platform'.
21376
42290e17 213772008-07-24 Bean <bean123ch@gmail.com>
21378
51cc5193 21379 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 21380 (grub_png_init_fixed_block): New function.
21381 (grub_png_decode_image_data): Handle fixed huffman code compression.
21382
2a8a80e4 213832008-07-24 Bean <bean123ch@gmail.com>
21384
21385 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
21386 (grub_pe2elf_SOURCES): New macro.
21387 (CLEANFILES): Add grub-pe2elf.
21388
21389 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
21390 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
21391 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
21392 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
21393 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
21394 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
21395 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
21396 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
21397 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
21398 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
21399 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
21400 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
21401 (GRUB_PE32_DT_FUNCTION): Likewise.
21402 (GRUB_PE32_REL_I386_DIR32): Likewise.
21403 (GRUB_PE32_REL_I386_REL32): Likewise.
21404 (grub_pe32_symbol): New structure.
21405 (grub_pe32_reloc): Likewise.
21406
21407 * util/grub-pe2elf.c: New file.
21408
21409 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
21410 start symbol in non pc platform.
21411
21412 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
21413
21414 The following patches are from Christian Franke.
21415
21416 * include/grub/dl.h: Remove .previous, gas supports this only
21417 for ELF format.
21418
21419 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
21420 Remove .type, gas supports this only for ELF format.
21421
21422 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
21423 nullbytes in symbol table. This fixes an infinite loop if table is
21424 zero filled.
21425
21426 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
21427 TARGET_IMG_LDFLAGS and EXEEXT.
21428
21429 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
21430 TARGET_IMG_LDFLAGS_AC.
21431 (grub_CHECK_STACK_ARG_PROBE): New function.
21432
21433 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
21434
21435 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
21436
21437 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
21438 to set TARGET_IMG_LD* accordingly.
21439 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
21440 Add call to grub_CHECK_STACK_ARG_PROBE.
21441 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
21442
21443 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
21444
21445 * genmk.rb: Add EXEEXT to CLEANFILES.
21446
12ccdb75 214472008-07-23 Robert Millan <rmh@aybabtu.com>
21448
21449 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
21450 define the codes for arrows and lines used for the menu).
21451 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
21452 as well.
21453
21454 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
21455 fonts, because the latter are too slow.
21456
18eeaf04 214572008-07-21 Bean <bean123ch@gmail.com>
21458
21459 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
21460 a20. Run keyboard test last, as it will cause macbook to halt.
21461
b095e2ad 214622008-07-18 Pavel Roskin <proski@gnu.org>
21463
21464 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
21465 load foreign architecture modules correctly anyway. Keep
21466 support for loading host architecture modules, whether we
21467 compile them or not.
21468
737feb35 214692008-07-17 Pavel Roskin <proski@gnu.org>
21470
3f4ce737 21471 * configure.ac: Use -m32 or -m64 regardless of whether we had to
21472 change target_cpu. The compiler default can mismatch target_cpu
21473 in any case.
21474
4ad2d049 21475 * disk/efi/efidisk.c: Fix format warnings on x86_64.
21476 * kern/efi/efi.c: Likewise.
21477
f6130a12 21478 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
21479 target compiler is functional.
21480 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
21481 are set up.
21482
58393a2d 21483 * configure.ac: Default to efi platform for x86_64-apple. Allow
21484 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
21485 adjustments from the rest, only do them if target is not
21486 explicitly given. Merge other adjustments with the final sanity
21487 check. Remove an extraneous check for supported CPU. Be
21488 specific which CPU and which platform is not supported.
21489
737feb35 21490 * configure.ac: Default to pc platform for x86_64.
21491
546f966a 214922008-07-17 Robert Millan <rmh@aybabtu.com>
21493
21494 Partial LinuxBIOS -> Coreboot rename.
21495
21496 * conf/i386-linuxbios.rmk: Renamed to ...
21497 * conf/i386-coreboot.rmk: ... this.
21498 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
21499 * configure.ac: Accept "coreboot" as input platform (but maintain
21500 compatibility with "linuxbios").
21501 * include/grub/i386/linuxbios: Renamed to ...
21502 * include/grub/i386/coreboot: ... this.
21503
20011694 215042008-07-17 Bean <bean123ch@gmail.com>
21505
21506 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 21507 (appleldr_mod_SOURCE): New variable.
20011694 21508 (appleldr_mod_CFLAGS): Likewise.
21509 (appleldr_mod_LDFLAGS): Likewise.
21510 (pci_mod_SOURCES): Likewise.
21511 (pci_mod_CFLAGS): Likewise.
21512 (pci_mod_LDFLAGS): Likewise.
21513 (lspci_mod_SOURCES): Likewise.
21514 (lspci_mod_CFLAGS): Likewise.
21515 (lspci_mod_LDFLAGS): Likewise.
21516
21517 * conf/x86_64-efi.rmk: New file.
21518
21519 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
21520 macro.
21521 (grub_efidisk_write): Likewise.
21522
21523 * include/efi/api.h (efi_call_0): New macro.
21524 (efi_call_1): Likewise.
21525 (efi_call_2): Likewise.
21526 (efi_call_3): Likewise.
21527 (efi_call_4): Likewise.
21528 (efi_call_5): Likewise.
21529 (efi_call_6): Likewise.
21530
21531 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
21532 grub_rescue_cmd_chainloader.
21533
21534 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
21535 (grub_pe32_optional_header): Change some fields based on i386 or
21536 x86_64 platform.
21537 (GRUB_PE32_PE32_MAGIC): Likewise.
21538
21539 * include/grub/efi/uga_draw.h: New file.
21540
21541 * include/grub/elf.h (STN_ABS): New constant.
21542 (R_X86_64_NONE): Relocation constant for x86_64.
21543 (R_X86_64_64): Likewise.
21544 (R_X86_64_PC32): Likewise.
21545 (R_X86_64_GOT32): Likewise.
21546 (R_X86_64_PLT32): Likewise.
21547 (R_X86_64_COPY): Likewise.
21548 (R_X86_64_GLOB_DAT): Likewise.
21549 (R_X86_64_JUMP_SLOT): Likewise.
21550 (R_X86_64_RELATIVE): Likewise.
21551 (R_X86_64_GOTPCREL): Likewise.
21552 (R_X86_64_32): Likewise.
21553 (R_X86_64_32S): Likewise.
21554 (R_X86_64_16): Likewise.
21555 (R_X86_64_PC16): Likewise.
21556 (R_X86_64_8): Likewise.
21557 (R_X86_64_PC8): Likewise.
21558
21559 * include/grub/i386/efi/pci.h: New file.
21560
21561 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
21562 Change it value based on platform.
21563 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
21564 (GRUB_E820_RAM): Likewise.
21565 (GRUB_E820_RESERVED): Likewise.
21566 (GRUB_E820_ACPI): Likewise.
21567 (GRUB_E820_NVS): Likewise.
21568 (GRUB_E820_EXEC_CODE): Likewise.
21569 (GRUB_E820_MAX_ENTRY): Likewise.
21570 (grub_e820_mmap): New structure.
21571 (linux_kernel_header): Change the efi field according to different
21572 kernel version, also field from linux_kernel_header.
21573
21574 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
21575
21576 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
21577 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
21578 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
21579 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
21580 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
21581 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
21582 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
21583 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
21584 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
21585 (GRUB_PCI_ADDR_IO_MASK): Likewise.
21586
21587 * include/grub/x86_64/efi/kernel.h: New file.
21588
21589 * include/grub/x86_64/efi/loader.h: Likewise.
21590
21591 * include/grub/x86_64/efi/machine.h: Likewise.
21592
21593 * include/grub/x86_64/efi/pci.h: Likewise.
21594
21595 * include/grub/x86_64/efi/time.h: Likewise.
21596
21597 * include/grub/x86_64/linux.h: Likewise.
21598
21599 * include/grub/x86_64/setjmp.h: Likewise.
21600
21601 * include/grub/x86_64/time.h: Likewise.
21602
21603 * include/grub/x86_64/types.h: Likewise.
21604
21605 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
21606 GRUB_TARGET_SIZEOF_VOID_P.
21607
21608 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
21609 (grub_efi_locate_handle): Likewise.
21610 (grub_efi_open_protocol): Likewise.
21611 (grub_efi_set_text_mode): Likewise.
21612 (grub_efi_stall): Likewise.
21613 (grub_exit): Likewise.
21614 (grub_reboot): Likewise.
21615 (grub_halt): Likewise.
21616 (grub_efi_exit_boot_services): Likewise.
21617 (grub_get_rtc): Likewise.
21618
21619 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
21620 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
21621 (grub_efi_allocate_pages): Wrap efi calls.
21622 (grub_efi_free_pages): Wrap efi calls.
21623 (grub_efi_get_memory_map): Wrap efi calls.
21624
21625 * kern/x86_64/dl.c: New file.
21626
21627 * kern/x86_64/efi/callwrap.S: Likewise.
21628
21629 * kern/x86_64/efi/startup.S: Likewise.
21630
21631 * loader/efi/appleloader.c: Likewise.
21632
21633 * loader/efi/chainloader.c (cmdline): New variable.
21634 (grub_chainloader_unload): Wrap efi calls.
21635 (grub_chainloader_boot): Likewise.
21636 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
21637 command line.
21638
21639 * loader/efi/chainloader_normal.c (chainloader_command):
21640 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
21641 command line.
21642
21643 * loader/i386/efi/linux.c (allocate_pages): Change allocation
21644 method.
21645 (grub_e820_add_region): New function.
21646 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
21647 booting.
21648 (grub_find_video_card): New function.
21649 (grub_linux_setup_video): New function.
21650 (grub_rescue_cmd_linux): Probe for video information.
21651
21652 * normal/x86_64/setjmp.S: New file.
21653
21654 * term/efi/console.c (map_char): New function.
21655 (grub_console_putchar): Map unicode char.
21656 (grub_console_checkkey): Wrap efi calls.
21657 (grub_console_getkey): Likewise.
21658 (grub_console_getwh): Likewise.
21659 (grub_console_gotoxy): Likewise.
21660 (grub_console_cls): Likewise.
21661 (grub_console_setcolorstate): Likewise.
21662 (grub_console_setcursor): Likewise.
21663
21664 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
21665
59652a20 216662008-07-16 Pavel Roskin <proski@gnu.org>
21667
ef294055 21668 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
21669 format strings.
21670
59652a20 21671 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
21672 pointer, not an integer. This fixes a warning and prevents
21673 precision loss on 64-bit systems.
21674 (relocate_addresses): Remove unneeded cast.
21675
afc3b5d7 216762008-07-15 Pavel Roskin <proski@gnu.org>
21677
506b2b3e 21678 * kern/i386/ieee1275/init.c: Include grub/cache.h.
21679
62ead89c 21680 * term/ieee1275/ofconsole.c: Disable code unused on i386.
21681
c4cd51d7 21682 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
21683 Fix comparison between signed and unsigned.
21684
0d3d8f28 21685 * include/grub/i386/ieee1275/console.h: Declare
21686 grub_console_init() and grub_console_fini().
21687
8804b286 21688 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
21689 It's empty and unused.
21690
ee01cf35 21691 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
21692 beginning to avoid warnings with some compilers.
21693
afc3b5d7 21694 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
21695 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
21696
e4e8eaa5 216972008-07-14 Pavel Roskin <proski@gnu.org>
21698
407aceb4 21699 * kern/env.c (grub_register_variable_hook): Don't copy empty
21700 string, it leaks memory. Pass "" to grub_env_set(), it should
21701 handle constant strings.
21702
e4e8eaa5 21703 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
21704 * commands/cmp.c (grub_cmd_cmp): Likewise.
21705 * kern/dl.c (grub_dl_flush_cache): Likewise.
21706 (grub_dl_load_core): Likewise.
21707 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
21708 (grub_elf64_load_phdrs): Likewise.
21709
d4e2dad3 217102008-07-13 Pavel Roskin <proski@gnu.org>
21711
21712 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
21713 between signed and unsigned.
21714 (LzmaEnc_Finish): Fix warning about an unused parameter.
21715
aa24b516 217162008-07-13 Bean <bean123ch@gmail.com>
21717
21718 * Makefile.in (enable_lzo): New rule.
21719
21720 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
21721
21722 * configure.ac (ENABLE_LZO): New option --enable-lzo.
21723
21724 * boot/i386/pc/lnxboot.S: #include <config.h>.
21725
21726 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 21727 its value according to the compression algorithm used, lzo or lzma.
aa24b516 21728
21729 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
21730 compression algorithm according to configure macro.
21731
21732 * kern/i386/pc/startup.S (codestart): Likewise.
21733
21734 * kern/i386/pc/lzma_decode.S: New file.
21735
21736 * include/grub/lib/LzFind.h: Likewise.
21737
21738 * include/grub/lib/LzHash.h: Likewise.
21739
21740 * include/grub/lib/LzmaDec.h: Likewise.
21741
21742 * include/grub/lib/LzmaEnc.h: Likewise.
21743
21744 * include/grub/lib/LzmaTypes.h: Likewise.
21745
21746 * lib/LzFind.c: Likewise.
21747
21748 * lib/LzmaDec.c: Likewise.
21749
21750 * lib/LzmaEnc.c: Likewise.
21751
4ae821ac 217522008-07-13 Bean <bean123ch@gmail.com>
21753
21754 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
21755 (grub_ext4_extent_header): New structure.
21756 (grub_ext4_extent): Likewise.
21757 (grub_ext4_extent_idx): Likewise.
21758 (grub_ext4_find_leaf): New function.
21759 (grub_ext2_read_block): Handle extents.
21760
9a745147 217612008-07-12 Robert Millan <rmh@aybabtu.com>
21762
21763 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
21764
d49a4cf6 217652008-07-11 Robert Millan <rmh@aybabtu.com>
21766
21767 * util/grub.d/40_custom.in: New file. Example on how to add custom
21768 entries to /etc/grub.d.
21769 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
21770 40_custom (implicitly, by merging all the grub.d rules).
21771
947414b4 217722008-07-11 Pavel Roskin <proski@gnu.org>
21773
0059cf6f 21774 * commands/read.c (grub_getline): Fix invalid memory access.
21775 Don't add newline to the variable value.
21776
947414b4 21777 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
21778 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
21779 (serial_hw_get_port): Check validity of the port number.
21780 (grub_cmd_serial): Check return value of serial_hw_get_port().
21781
62a02d00 217822008-07-07 Pavel Roskin <proski@gnu.org>
21783
21784 * boot/i386/pc/diskboot.S (notification_string): Replace
21785 "Loading kernel" with just "loading". This is shorter, less
21786 confusing and saves a few bytes for possible future changes.
21787
3e5581b0 217882008-07-05 Pavel Roskin <proski@gnu.org>
21789
ea387a48 21790 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
21791 size for ATAPI devices, they are undefined. Output sector
21792 number in decimal form.
21793
3e5581b0 21794 * disk/ata.c: Use named constants for status bits.
21795
fdecb8fd 217962008-07-04 Pavel Roskin <proski@gnu.org>
21797
bcd35b90 21798 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
21799 grub_addr_t before casting it to the void pointer to fix a
21800 warning. Non-addressable regions are discarded earlier.
21801 (grub_arch_modules_addr): Cast _end to grub_addr_t.
21802 * kern/i386/linuxbios/table.c: Include grub/misc.h.
21803 (check_signature): Don't shadow table_header.
21804 (grub_linuxbios_table_iterate): Cast numeric constants to
21805 grub_linuxbios_table_header_t.
21806 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
21807 grub_stop().
21808
af58ab3d 21809 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
21810 prevent warnings.
21811
1759aa57 21812 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
21813 pointer, which can cause warnings. Support 64-bit addresses.
21814
fdecb8fd 21815 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
21816 of sizeof(long). This fixes PowerPC image generation on x86_64.
21817
8516d2a8 218182008-07-04 Robert Millan <rmh@aybabtu.com>
21819
21820 This fixes a performance issue when pc & gpt partmap iterators
21821 didn't abort iteration even after our hook found what it was
fe987087 21822 looking for (often causing expensive probes of non-existent drives).
8516d2a8 21823
21824 Some callers relied on previous buggy behaviour, since they would
34c44600 21825 raise an error when their own hooks caused early abortion of its
8516d2a8 21826 iteration.
21827
21828 * kern/device.c (grub_device_open): Improve error message.
21829 * disk/lvm.c (grub_lvm_open): Likewise.
21830 * disk/raid.c (grub_raid_open): Likewise.
21831
21832 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
21833 when hook requests it, independently of grub_errno.
21834 (pc_partition_map_probe): Do not fail when find_func() caused
21835 early abortion of pc_partition_map_iterate().
21836
21837 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
21838 when hook requests it, independently of grub_errno.
21839 (gpt_partition_map_probe): Do not fail when find_func() caused
21840 early abortion of gpt_partition_map_iterate().
21841
21842 * kern/partition.c (grub_partition_iterate): Abort parent iteration
21843 when hook requests it, independently of grub_errno. Do not fail when
21844 part_map_iterate_hook() caused early abortion of p->iterate().
21845
21846 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
21847 when grub_partition_iterate() returned with non-zero.
21848
277d0de9 218492008-07-03 Pavel Roskin <proski@gnu.org>
21850
21851 * disk/ata.c (grub_ata_pio_write): Check status before writing,
21852 like we do in grub_ata_pio_read().
21853 (grub_ata_readwrite): Always write individual sectors. Fix the
21854 sector count for the remainder.
21855 (grub_ata_write): Enable writing to ATA devices. Correctly
21856 report error for ATAPI devices.
21857
d4c9b428 218582008-07-02 Pavel Roskin <proski@gnu.org>
21859
e43fc690 21860 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
21861 warning.
21862
f707af42 21863 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
21864 for every read sector, we already increment it for the whole
21865 batch. This fixes reading more than 256 sectors at once.
21866
11e16b15 21867 * util/grub-editenv.c (cmd_info): Cast argument to long
21868 explicitly. ptrdiff_t reduces to int on i386.
21869
cbabfdd4 21870 * util/grub-editenv.c (main): Be specific which parameter is
21871 missing.
21872
b8fbce0a 21873 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
21874 (memdisk): Make memdisk_orig_addr a pointer.
21875
c9c8e606 21876 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
21877 for file offsets, use grub_off_t instead. Fix printf format
21878 warnings.
21879
ca62e598 21880 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
21881 there. Real unexpected warnings should not drown in the noise
21882 about known problems.
21883
ce8d1766 21884 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
21885 grub_disk_addr_t for memory addresses.
21886
00c7a56a 21887 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
21888 explicitly to fix a warning.
21889
08d3ef09 21890 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
21891
cb71ba20 21892 * Makefile.in (MODULE_LDFLAGS): New variable.
21893 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
21894 the linker accepts --build-id=none.
21895 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
21896 MODULE_LDFLAGS.
21897 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
21898
d4c9b428 21899 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
21900 those in Linux XFS code. Provide a way to access 64-bit parent
21901 inode.
21902 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
21903 the end of struct grub_xfs_dir_header.
21904
d4156eee 219052008-07-02 Bean <bean123ch@gmail.com>
21906
21907 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
21908 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21909 and GRUB_IEEE1275_FLAG_NO_ANSI.
21910
21911 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
21912 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21913 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
21914
21915 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
21916 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
21917
21918 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
21919 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
21920
21921 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
21922 esc sequence on non ANSI terminal.
21923 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
21924
21925 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
21926 beginning of file.
21927
2270f77b 219282008-07-02 Bean <bean123ch@gmail.com>
21929
21930 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
21931 (grub_editenv_SOURCES): New variable.
21932 (pkglib_MODULES): Add loadenv.mod.
21933 (loadenv_mod_SOURCES): New variable.
21934 (loadenv_mod_CFLAGS): Likewise.
21935 (loadenv_mod_LDFLAGS): Likewise.
21936
21937 * include/grub/envblk.h: New file.
21938
21939 * util/envblk.c: New file.
21940
21941 * util/grub-editenv.c: New file.
21942
21943 * commands/loadenv.c: New file.
21944
0e9e51ec 219452008-07-01 Pavel Roskin <proski@gnu.org>
21946
d89b7634 21947 * include/multiboot2.h (struct multiboot_tag_module): Use char,
21948 not unsigned char. This fixes warnings and is consistent with
21949 other tags.
21950
bf1835b1 21951 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
21952
8222a04b 21953 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
21954
6a42d99d 21955 * term/tparm.c (analyze): Always set *popcount.
21956
10b159d1 21957 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
21958 cast to fix a warning.
21959
b8789f6c 21960 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
21961 cast to suppress a warning.
21962
29d7e38a 21963 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
21964 grub_fshelp_read_file() expects.
21965
f341f669 21966 * fs/fat.c: Fix UUID calculation on big-endian systems. We
21967 write uuid as a 32-bit value in CPU byte order, so declare and
21968 use it as such.
21969
0e9e51ec 21970 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
21971 long if the format specifier expects it.
21972 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
21973 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21974 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
21975 long to fix a warning.
21976 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
21977 grub_dprintf() arguments to fix warnings.
21978
3aefa857 219792008-06-30 Pavel Roskin <proski@gnu.org>
21980
56c7668b 21981 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
21982 install_bsd_part immediately before core.img is embedded or
21983 modified on disk. This fixes core.img verification if core.img
21984 cannot be embedded.
21985
3aefa857 21986 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
21987 core_path to calculate the blocklist.
21988 Patch from Javier Martín <lordhabbit@gmail.com>
21989
5444088d 219902008-06-29 Robert Millan <rmh@aybabtu.com>
21991
21992 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
21993 block to disk block.
21994 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
21995 Patch from Niels Böhm <bitbucket@arcor.de>
21996
674835c8 219972008-06-29 Robert Millan <rmh@aybabtu.com>
21998
21999 * util/update-grub_lib.in (font_path): Search for fonts in
22000 /boot/grub first, which is more likely to be readable (we aren't
22001 deciding where fonts live, just looking for them).
22002
f527dbc8 220032008-06-26 Pavel Roskin <proski@gnu.org>
22004
6c2d8df6 22005 * util/biosdisk.c (read_device_map): Don't leave dead map
22006 entries for devices failing stat() check.
22007
f527dbc8 22008 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
22009 core_path_dev for the core.img path on the target device.
22010
aebe3d13 220112008-06-26 Robert Millan <rmh@aybabtu.com>
22012
22013 * disk/fs_uuid.c: New file.
22014 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
22015 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
22016 (fs_uuid_mod_LDFLAGS): New variables.
22017 * include/grub/disk.h (grub_disk_dev_id): Add
22018 `GRUB_DISK_DEVICE_UUID_ID'.
22019 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
22020 implement iterate().
22021
37aaf354 220222008-06-26 Robert Millan <rmh@aybabtu.com>
22023
22024 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
22025 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
22026 Linux image includes no initrd.
22027
25ff262a 220282008-06-21 Javier Martín <lordhabbit@gmail.com>
22029
22030 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
22031 call to resolve the core image location that effectively appended the
22032 name twice.
22033
76a2bd44 220342008-06-21 Robert Millan <rmh@aybabtu.com>
22035
22036 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
22037 call from here ...
22038
22039 * util/grub.d/10_hurd.in: ... to here ...
22040 * util/grub.d/10_linux.in: ... and here.
22041
650e1c79 220422008-06-19 Robert Millan <rmh@aybabtu.com>
22043
fe987087 22044 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 22045 after it has been set by grub_machine_set_prefix().
22046
6ce63911 220472008-06-19 Robert Millan <rmh@aybabtu.com>
22048
22049 * commands/search.c (search_label, search_fs_uuid, search_file): Print
22050 search result when not saving to variable, not the other way around.
22051 When saving to variable, abort iteration as soon as a match is found.
22052
73940cec 220532008-06-19 Robert Millan <rmh@aybabtu.com>
22054
22055 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
22056 check for partition that provides /boot/grub. Its logic is flawed,
22057 as it prevents prepare_grub_to_access_device() from being called
22058 multiple times.
22059
3c62a39d 220602008-06-19 Robert Millan <rmh@aybabtu.com>
22061
22062 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
22063 "insmod" command directly when abstraction modules are needed,
fe987087 22064 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 22065 since it had already been processed).
22066
47395a42 220672008-06-19 Pavel Roskin <proski@gnu.org>
22068
22069 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
22070 changed. This is needed in case GRUB_LIBDIR changes.
22071 * conf/i386-ieee1275.rmk: Likewise.
22072 * conf/i386-linuxbios.rmk: Likewise.
22073 * conf/i386-pc.rmk: Likewise.
22074 * conf/powerpc-ieee1275.rmk: Likewise.
22075
a145ac2d 220762008-06-18 Pavel Roskin <proski@gnu.org>
22077
22078 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
22079 kernel_elf_symlist.c to symlist.c for consistency with other
22080 architectures. Update all users.
22081 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22082
7847c51e 220832008-06-18 Robert Millan <rmh@aybabtu.com>
22084
22085 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
22086 it in prefix.
22087
22088 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
22089 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
22090 a RAID device, run setup() for all members independently on whether
22091 LVM abstraction is being used.
22092 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
22093 If grub-mkimage has set `*install_dos_part == -2', don't override this
22094 value.
22095 Perform *install_dos_part adjustments independently on whether
22096 we're embedding or not.
22097 Clarify error message when image is too big for embedding.
22098 Remove duplicate *install_dos_part stanza.
22099
b23e5644 221002008-06-17 Robert Millan <rmh@aybabtu.com>
22101
22102 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
22103 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
22104 variables.
22105 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
22106 values in grub_ofconsole_normal_color and
22107 grub_ofconsole_highlight_color (they're not directly related to
22108 background and foreground).
22109 (grub_ofconsole_setcolorstate): Extract background and foreground
22110 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
22111
0aac2f79 221122008-06-17 Robert Millan <rmh@aybabtu.com>
22113
22114 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
22115 /boot/grub for the check in last commit, not /boot (they could be
22116 different partitions).
22117
3cca7ef3 221182008-06-16 Robert Millan <rmh@aybabtu.com>
22119
22120 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
22121 asked to setup access for the same partition that provides /boot,
22122 don't bother using UUIDs since our root already has the value we
22123 want.
22124
347396d8 221252008-06-16 Robert Millan <rmh@aybabtu.com>
22126
22127 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
22128 I2O devices.
22129 Patch from Sven Mueller <sven@debian.org>.
22130
991477f8 221312008-06-16 Robert Millan <rmh@aybabtu.com>
22132
22133 * util/update-grub.in: Check for $EUID instead of $UID.
22134 Reported by Vincent Zweije.
22135
d31a32a1 221362008-06-16 Bean <bean123ch@gmail.com>
22137
fe987087 22138 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 22139 (grub_ext2_read_block): Likewise.
22140 (grub_ext2_read_inode): Likewise.
22141 (grub_ext2_mount): Likewise.
22142 (grub_ext2_close): Likewise.
22143 (grub_ext3_get_journal): Removed.
22144
fe987087 22145 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 22146 (grub_reiserfs_read_symlink): Likewise.
22147 (grub_reiserfs_mount): Likewise.
22148 (grub_reiserfs_open): Likewise.
22149 (grub_reiserfs_read): Likewise.
22150 (grub_reiserfs_close): Likewise.
22151 (grub_reiserfs_get_journal): Removed.
22152
22153 * fs/fshelp.c (grub_fshelp_read): Removed.
22154 (grub_fshelp_map_block): Likewise.
22155
22156 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
22157 (grub_fshelp_journal): Likewise.
22158 (grub_fshelp_read): Likewise.
22159 (grub_fshelp_map_block): Likewise.
22160
3540a760 221612008-06-16 Pavel Roskin <proski@gnu.org>
22162
22163 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
22164 floating point anymore.
22165 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
22166
95614c84 221672008-06-15 Pavel Roskin <proski@gnu.org>
22168
22169 * commands/ls.c (grub_ls_list_files): Use integer calculations
22170 for human readable format, avoid floating point use.
22171 * kern/misc.c (grub_ftoa): Remove.
22172 (grub_vsprintf): Remove floating point support.
22173
50465dd6 221742008-06-15 Robert Millan <rmh@aybabtu.com>
22175
fe6b695a 22176 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 22177 devices.
22178 Reported by Max Vozeler.
22179
a9207284 221802008-06-15 Robert Millan <rmh@aybabtu.com>
22181
22182 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
22183 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
22184 skipped later.
22185 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
22186 the beginning of the prefix.
22187
22188 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
22189 It is assumed that if we have a memdisk, grub-mkimage has set
22190 grub_prefix to include the "(memdisk)" drive in it.
22191
a7cbd45a 221922008-06-15 Robert Millan <rmh@aybabtu.com>
22193
22194 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
22195 Initialize keyboard controller after registering the terminal, so that
22196 grub_printf() can be called from grub_keyboard_controller_init().
22197
21cf716a 221982008-06-15 Robert Millan <rmh@aybabtu.com>
22199
22200 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
22201 extent-btree which is written as big endian on disk.
22202 Reported by Alain Greppin <al@chilibi.org>.
22203
23a64d8e 222042008-06-14 Robert Millan <rmh@aybabtu.com>
22205
22206 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
22207 * util/i386/pc/grub-install.in (modules): Likewise.
22208
d687651c 222092008-06-13 Pavel Roskin <proski@gnu.org>
22210
22211 * commands/ls.c (grub_ls_list_files): Fix format warnings.
22212
dfe9ddd4 222132008-06-13 Bean <bean123ch@gmail.com>
22214
22215 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
22216
22217 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
22218
22219 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
22220 to indicate sparse block.
22221
16ae7781 222222008-06-12 Pavel Roskin <proski@gnu.org>
22223
e6d1a308 22224 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
22225 number, grub_fshelp_read() does it for us.
22226
16ae7781 22227 * fs/fshelp.c (grub_fshelp_read): New function. Implement
22228 linear disk read with journal translation.
22229 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
22230 * include/grub/fshelp.h: Declare grub_fshelp_read().
22231
40fd3a2b 222322008-06-09 Pavel Roskin <proski@gnu.org>
22233
22234 * fs/minix.c (grub_minix_mount): Handle error reading
22235 superblock.
22236
f5679726 222372008-06-08 Robert Millan <rmh@aybabtu.com>
22238
22239 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
22240 don't append the RAID prefix afterwards.
22241 Reported by Clint Adams.
22242
ce525529 222432008-06-08 Robert Millan <rmh@aybabtu.com>
22244
22245 Based on description from Pavel:
22246 * kern/disk.c (grub_disk_check_range): Rename to ...
22247 (grub_disk_adjust_range): ... this. Add a comment explaining the
22248 tasks performed by this function.
22249
ad4936a0 222502008-06-08 Robert Millan <rmh@aybabtu.com>
22251
22252 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
22253 `num_serial' (for consistency with other variables).
22254 (struct grub_ntfs_data): Add `uuid' member.
22255 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
22256 (grub_ntfs_uuid): New function.
22257 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
22258
dc20b0f9 222592008-06-07 Pavel Roskin <proski@gnu.org>
22260
22261 * util/biosdisk.c (open_device): Revert last change to the
22262 function, it broke installation. The sector needs to be
22263 different dependent on which device is opened.
22264
c5e3cfba 222652008-06-06 Robert Millan <rmh@aybabtu.com>
22266
22267 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
22268 rest of GRUB, and breakage doesn't happen if its value were modified.
22269
22270 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22271 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
22272 a constant (same value).
22273 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
22274 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
22275
26a1f8c4 222762008-06-06 Robert Millan <rmh@aybabtu.com>
22277
22278 * util/biosdisk.c (open_device): Do not modify sector offset when
22279 accessing a partition. kern/disk.c already handles this for us.
22280
25d6b327 222812008-06-06 Robert Millan <rmh@aybabtu.com>
22282
22283 * util/grub-emu.c (grub_machine_init): Move code in this function from
22284 here ...
22285 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
22286 segfault in case grub_printf() is called).
22287
22288 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
22289 grub_probe. Update all users not to explicitly add it again.
22290 (grub_device): New variable; contains corresponding device for grubdir.
22291 (fs_module, partmap_module, devabstraction_module): Pass
22292 `--device ${grub_device}' to grub_probe to avoid traversing /dev
22293 every time.
22294
9ece62fb 222952008-06-05 Robert Millan <rmh@aybabtu.com>
22296
22297 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
22298 is found, print it (same layout as with labels).
22299
1ad36d37 223002008-06-04 Robert Millan <rmh@aybabtu.com>
22301
22302 * util/biosdisk.c (get_drive): Rename to ...
22303 (find_grub_drive): ... this. Update all users.
22304
22305 (get_os_disk): Rename to ...
22306 (convert_system_partition_to_system_disk): ... this. Update all users.
22307
22308 (find_drive): Rename to ...
22309 (find_system_device): ... this. Update all users.
22310
e6a30859 223112008-06-04 Robert Millan <rmh@aybabtu.com>
22312
22313 * util/biosdisk.c (get_os_disk): Handle IDA devices.
22314 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22315 (make_device_map): Likewise.
22316
00c108a4 223172008-06-01 Robert Millan <rmh@aybabtu.com>
22318
22319 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
22320 before dereferencing it.
22321
22322 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
22323 union with fat12/fat16-specific ones. Add some new fields, including
22324 `num_serial' for both versions.
22325 (struct grub_fat_data): Add `uuid' member.
22326 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
22327 names. Initialize `data->uuid' using `num_serial'.
22328 (grub_fat_uuid): New function.
22329 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
22330
22331 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
22332 (grub_reiserfs_uuid): New function.
22333 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
22334 member.
22335
22336 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
22337 (grub_xfs_uuid): New function.
22338 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
22339
1385c5bb 223402008-06-01 Robert Millan <rmh@aybabtu.com>
22341
22342 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
22343 code that is backward compatible with pre-uuid search command.
22344
c682dfd7 223452008-05-31 Robert Millan <rmh@aybabtu.com>
22346
22347 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
22348 floppies after everything else, to ensure floppy drive isn't accessed
22349 unnecessarily (patch from Bean).
22350
b7db5d47 223512008-05-31 Robert Millan <rmh@aybabtu.com>
22352
22353 * commands/search.c (search_label, search_fs_uuid, search_file): Do
22354 not print device names when we were asked to set a variable.
22355
6e037aa9 223562008-05-31 Robert Millan <rmh@aybabtu.com>
22357
22358 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
22359 using "cursor-on" and "cursor-off" commands (understood at least by
22360 the Open Firmware flavour on OLPC).
22361
41305bc8 223622008-05-31 Michael Gorven <michael@gorven.za.net>
22363
22364 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
22365 on and off sequences.
22366
69ba137e 223672008-05-31 Robert Millan <rmh@aybabtu.com>
22368
22369 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
22370 * util/update-grub.in: Likewise.
22371
520ae21b 223722008-05-30 Pavel Roskin <proski@gnu.org>
22373
22374 * util/biosdisk.c (linux_find_partition): Simplify logic and
22375 make the code more universal. Keep special processing for
22376 devfs, but use a simple rule for all other devices. If the
22377 device ends with a number, append 'p' and the partition number.
22378 Otherwise, append only the partition number.
22379
5786569b 223802008-05-30 Robert Millan <rmh@aybabtu.com>
22381
22382 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
22383 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
22384 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
22385 the `root' parameter to Linux.
22386
51500452 223872008-05-30 Robert Millan <rmh@aybabtu.com>
22388
22389 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
22390 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
22391 --fs_uuid with --fs-uuid.
22392 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
22393 all filesystems support them).
22394
811d3878 223952008-05-30 Robert Millan <rmh@aybabtu.com>
22396
22397 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 22398 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 22399
cab63c95 224002008-05-30 Robert Millan <rmh@aybabtu.com>
22401
22402 * util/grub.d/00_header.in: Remove obsolete comment referencing
22403 convert_system_path_to_grub_path().
22404 * util/update-grub.in: Likewise.
22405 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
22406 (convert_system_path_to_grub_path): Add a warning message explaining
22407 that this function is deprecated. Rely on is_path_readable_by_grub()
22408 for the readability checks.
22409 (font_path): Use is_path_readable_by_grub() for the readability
22410 check rather than convert_system_path_to_grub_path().
22411
972e2f7a 224122008-05-30 Robert Millan <rmh@aybabtu.com>
22413
22414 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
22415 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
22416 converting it first.
22417 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
22418 grub.cfg for access to font file, and afterwards call it again to set
22419 the root device.
22420
62191274 224212008-05-30 Robert Millan <rmh@aybabtu.com>
22422
22423 * commands/search.c (options): Add --fs_uuid option.
22424 (search_fs_uuid): New function.
22425 (grub_cmd_search): Fix --set argument passing.
22426 Use search_fs_uuid() when requested via --fs_uuid.
22427 (grub_search_init): Update help message.
22428 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
22429 and redeclare it as an array of 16-bit words.
22430 (grub_ext2_uuid): New function.
22431 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
22432 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
22433 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
22434 (GRUB_DEVICE_BOOT_UUID): New variables.
22435 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
22436 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
22437 whenever possible.
22438 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
22439 just assume `root' variable has the right value.
22440 * util/grub.d/10_linux.in: Likewise.
22441 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
22442 via PRINT_FS_UUID.
22443 (main): Recognise `-t fs_uuid' argument.
22444
01b73ec8 224452008-05-30 Robert Millan <rmh@aybabtu.com>
22446
22447 * util/biosdisk.c (map): Redefine structure to hold information
22448 about GRUB drive name.
fe6b695a 22449 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 22450 drive names.
22451 (call_hook): Remove.
22452 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
22453 member. Assume drive has partitions.
22454 (grub_util_biosdisk_open): Access device names via `.device' struct
22455 member.
22456 (open_device): Likewise.
22457 (find_drive): Likewise.
22458 (read_device_map): Adjust map[] usage to match the new struct
22459 definition. Don't check for duplicates (still possible, but not cheap
22460 anymore).
22461 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
22462 (make_device_name): Remove assumption of BIOS-like drive names.
22463
22f16596 224642008-05-30 Pavel Roskin <proski@gnu.org>
22465
22466 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
22467 compiling execute.c doesn't need grub_script.tab.h anymore.
22468 (normal/command.c_DEPENDENCIES): Likewise.
22469 (normal/function.c_DEPENDENCIES): Likewise.
22470 * conf/i386-ieee1275.rmk: Likewise.
22471 * conf/i386-linuxbios.rmk: Likewise.
22472 * conf/i386-pc.rmk: Likewise.
22473 * conf/powerpc-ieee1275.rmk: Likewise.
22474 * conf/sparc64-ieee1275.rmk: Likewise.
22475
528ad8f2 224762008-05-29 Pavel Roskin <proski@gnu.org>
22477
d1dff95d 22478 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
22479 when scanning metadata for volume group name.
22480
528ad8f2 22481 * include/grub/script.h: Don't include grub_script.tab.h. It's
22482 a generated file, which may only be included from the files with
22483 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
22484 use union YYSTYPE, as the later allows forward declaration.
22485 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
22486
47248e08 224872008-05-29 Robert Millan <rmh@aybabtu.com>
22488
22489 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
22490 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
22491 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
22492 (grub_console_checkkey): Add grub_dprintf() call to report unknown
22493 scan codes.
22494
ee632529 224952008-05-29 Robert Millan <rmh@aybabtu.com>
22496
22497 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
22498 control key combinations.
22499
eee96e08 225002008-05-29 Robert Millan <rmh@aybabtu.com>
22501
22502 * util/powerpc/ieee1275/grub-install.in: Move from here ...
22503 * util/ieee1275/grub-install.in: ... to here.
22504 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
22505 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
22506 (grub_install_SOURCES): Likewise.
22507
da9a6a94 225082008-05-29 Robert Millan <rmh@aybabtu.com>
22509
22510 * fs/affs.c: Update copyright year.
22511 * fs/ext2.c: Likewise.
22512 * fs/fshelp.c: Likewise.
22513 * fs/hfsplus.c: Likewise.
22514 * fs/ntfs.c: Likewise.
22515 * fs/xfs.c: Likewise.
22516 * include/grub/fshelp.h: Likewise.
22517 * util/grub-mkdevicemap.c: Likewise.
22518
12e65f3a 225192008-05-28 Robert Millan <rmh@aybabtu.com>
22520
22521 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
22522 might need to be fatfs to support some firmware implementations
22523 (e.g. OFW or EFI).
22524
23023641 225252008-05-28 Robert Millan <rmh@aybabtu.com>
22526
22527 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
22528 devices.
22529 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22530 (make_device_map): Likewise.
22531
887d2619 225322008-05-20 Bean <bean123ch@gmail.com>
22533
22534 * fs/fshelp.c (grub_fshelp_map_block): New function.
22535 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
22536 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
22537
22538 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
22539 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
22540 (grub_fshelp_journal): New structure.
22541 (grub_fshelp_map_block): New function prototype.
22542 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
22543 (grub_fshelp_map_block): Likewise.
22544
22545 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
22546 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
22547 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
22548 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
22549 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
22550 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
22551 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
22552 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
22553 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
22554 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
22555 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
22556 (grub_ext2_sblock): New members for journal support.
22557 (grub_ext3_journal_header): New structure.
22558 (grub_ext3_journal_revoke_header): Likewise.
22559 (grub_ext3_journal_block_tag): Likewise.
22560 (grub_ext3_journal_sblock): Likewise.
22561 (grub_fshelp_node): New members logfile and journal.
22562 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
22563 grub_fshelp_map_block to get real block number.
22564 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
22565 number.
22566 (grub_ext2_read_inode): Likewise.
22567 (grub_ext3_get_journal): New function.
22568 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
22569 (grub_ext2_close): Release memory used by journal.
22570
22571 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
22572 (REISERFS_MAGIC_DESC_BLOCK): New macro.
22573 (grub_reiserfs_transaction_header): Renamed to
22574 grub_reiserfs_description_block, replace field data with real_blocks.
22575 (grub_reiserfs_commit_block): New structure.
22576 (grub_reiserfs_data): New member journal.
22577 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
22578 number.
22579 (grub_reiserfs_read_symlink): Likewise.
22580 (grub_reiserfs_iterate_dir): Likewise.
22581 (grub_reiserfs_open): Likewise.
22582 (grub_reiserfs_read): Likewise.
22583 (grub_reiserfs_get_journal): New function.
22584 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
22585 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
22586 using grub_reiserfs_get_journal.
22587 (grub_reiserfs_close): Release memory used by journal.
22588
22589 * fs/affs.c (grub_affs_read_block): Change block type to
22590 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
22591
22592 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
22593
22594 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
22595
22596 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
22597
22598 * fs/udf.c (grub_udf_read_block): Change block type to
22599 grub_disk_addr_t. Use type cast to avoid warning.
22600
22601 * fs/xfs.c (grub_xfs_read_block): Likewise.
22602
b7c6bed5 226032008-05-16 Christian Franke <franke@computer.org>
22604
22605 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
22606 to ensure that break with ESC will always work.
22607 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
22608 Remove ESC from keyboard queue.
22609
eedf167f 226102008-05-16 Christian Franke <franke@computer.org>
22611
22612 * util/biosdisk.c: [__CYGWIN__] Add includes.
22613 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
22614 (get_os_disk): Move variable declarations to OS specific
22615 parts to avoid warning.
22616 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
22617 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
22618 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
22619 Cygwin.
22620 * util/getroot.c: [__CYGWIN__] Add includes.
22621 (strip_extra_slashes): Fix "/" case.
22622 [__CYGWIN__] (get_win32_path): New function.
22623 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
22624 [__CYGWIN__] (find_root_device): Disable.
22625 [__CYGWIN__] (get_bootsec_serial): New function.
22626 [__CYGWIN__] (find_cygwin_root_device): Likewise.
22627 [__linux__] (grub_guess_root_device): Add early returns to simplify
22628 structure.
22629 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
22630 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
22631 check for Linux only.
22632
a079699e 226332008-05-15 Bean <bean123ch@gmail.com>
22634
22635 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
22636 keyboard hang problem in apple's intel mac.
22637
1cf4059a 226382008-05-09 Robert Millan <rmh@aybabtu.com>
22639
22640 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
22641 devices.
22642 * util/grub-mkdevicemap.c (get_virtio_disk_name)
22643 (make_device_map): Likewise.
22644 Reported by Aurelien Jarno <aurel32@debian.org>
22645
ed759390 226462008-05-07 Ian Campbell <ijc@hellion.org.uk>
22647
22648 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
22649 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
22650 (make_device_map): Output entries for xvd type disks.
22651
b56c4eaa 226522008-05-07 Robert Millan <rmh@aybabtu.com>
22653
22654 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
22655 devices.
22656 * util/grub-mkdevicemap.c (get_cciss_disk_name)
22657 (make_device_map): Likewise.
22658 Reported by Roland Dreier <rdreier@cisco.com>
22659
7f8866ed 226602008-05-07 Robert Millan <rmh@aybabtu.com>
22661
22662 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
22663 grub_strstr() call. Correct a few mistakes in failure path handling.
22664
b0346e0f 226652008-05-06 Robert Millan <rmh@aybabtu.com>
22666
22667 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22668 Do not print a trailing slash (therefore, the root directory is an
22669 empty string).
22670 (convert_system_path_to_grub_path): Do not remove trailing slash
22671 from make_system_path_relative_to_its_root() output.
22672
22673 * util/i386/pc/grub-install.in: Add trailing slash to output from
22674 make_system_path_relative_to_its_root().
22675
6cf12cbd 226762008-05-06 Robert Millan <rmh@aybabtu.com>
22677
22678 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
22679 ensures that output lines aren't intermangled with those sent to
22680 stderr (via grub_util_info()).
22681 * util/grub-probe.c (grub_refresh): Likewise.
22682 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
22683
0fbb3117 226842008-05-05 Christian Franke <franke@computer.org>
22685
22686 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
22687 Add Cygwin device names.
22688 (get_ide_disk_name) [__CYGWIN__]: Likewise.
22689 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
22690 (check_device): Return error instead of success on empty name.
22691 (make_device_map): Move label inside linux specific code to
22692 prevent compiler warning.
22693
8124cdb7 226942008-04-30 Robert Millan <rmh@aybabtu.com>
22695
22696 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
22697 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
22698 first boot option.
22699 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
22700
094c01d0 227012008-04-29 Robert Millan <rmh@aybabtu.com>
22702
22703 * docs/grub.cfg: New file (example GRUB configuration).
22704
f4b1fc02 227052008-04-26 Robert Millan <rmh@aybabtu.com>
22706
329ce2a5 22707 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
22708 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
22709 and `disk/ieee1275/nand.c'.
f4b1fc02 22710
25f16ec1 227112008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 22712
25f16ec1 22713 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
22714 i386-linuxbios.
22715
22716 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
22717 change the buffer size to 4096 for cdrom device.
22718
22719 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
22720 and nand.mod.
22721 (_linux_mod_SOURCES): New variable.
22722 (_linux_mod_CFLAGS): Likewise.
22723 (_linux_mod_LDFLAGS): Likewise.
22724 (linux_mod_SOURCES): Likewise.
22725 (linux_mod_CFLAGS): Likewise.
22726 (linux_mod_LDFLAGS): Likewise.
22727 (nand_mod_SOURCES): Likewise.
22728 (nand_mod_CFLAGS): Likewise.
22729 (nand_mod_LDFLAGS): Likewise.
22730
22731 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
22732 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
22733 type property. (nand device in olpc don't have this property)
22734
22735 * include/grub/disk.h (grub_disk_dev_id): New macro
22736 GRUB_DISK_DEVICE_NAND_ID.
22737
22738 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
22739 function prototype.
22740 (grub_rescue_cmd_initrd): Likewise.
22741
22742 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
22743 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
22744 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 22745
25f16ec1 22746 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
22747 GRUB_MACHINE_IEEE1275 is defined.
22748
22749 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
22750 Use NESTED_FUNC_ATTR attribute on the hook parameter.
22751
22752 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
22753 on nested function heap_init.
22754 (grub_upper_mem): New variable for i386-ieee1275.
22755 (grub_get_extended_memory): New function for i386-ieee1275.
22756 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
22757
22758 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
22759 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
22760 property.
f19dbdb7 22761
25f16ec1 22762 * loader/i386/ieee1275/linux.c: New file.
22763
22764 * loader/i386/ieee1275/linux_normal.c: New file.
22765
22766 * disk/ieee1275/nand.c: New file.
22767
e89d61e9 227682008-04-18 Thomas Schwinge <tschwinge@gnu.org>
22769
22770 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
22771 value.
22772 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
22773
602566f6 227742008-04-18 Robert Millan <rmh@aybabtu.com>
22775
22776 Restructures early code path on ieee1275 to unify grub_main() as
22777 the first C function that is executed in every platform.
22778
22779 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
22780 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
22781 cmain().
22782 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
22783 * kern/ieee1275/cmain.c (cmain): Rename to ...
22784 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
22785 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
22786 at the beginning.
22787
57490c2b 227882008-04-18 Robert Millan <rmh@aybabtu.com>
22789
22790 * util/update-grub.in: Fix syntax error when setting
22791 `GRUB_PRELOAD_MODULES'.
22792 Reported by Stephane Chazelas <stephane@artesyncp.com>
22793
1977517d 227942008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
22795
22796 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
22797 section into account, newer toolchains generate unique build ids
22798 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 22799 we want build ids to be preserved
1977517d 22800 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
22801 far from other sections don't cause the raw binary images grow
22802 size
22803
bfb1f1a2 228042008-04-15 Robert Millan <rmh@aybabtu.com>
22805
22806 * disk/lvm.c: Update copyright year.
22807 * kern/misc.c: Likewise.
22808
01979850 228092008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22810
22811 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 22812 there is no memory left for physical volume name.
01979850 22813
0a1150e2 228142008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22815
22816 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
22817 volume name mapping to support bigger than 9 character names properly.
22818
82ead3fe 228192008-04-13 Robert Millan <rmh@aybabtu.com>
22820
22821 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
22822 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
22823
e54a72f5 228242008-04-13 Christian Franke <franke@computer.org>
22825
22826 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
22827 to create a floppy emulation boot CD when non emulation mode
22828 does not work.
22829 Enable Joliet CD filesystem extension.
22830
9fe86034 228312008-04-13 Robert Millan <rmh@aybabtu.com>
22832
22833 * kern/misc.c (grub_strncat): Fix off-by-one error.
22834 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
22835
22836 * kern/env.c (grub_env_context_close): Clear current context, not
22837 previous one.
22838 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
22839
22840 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
22841
7ceeee39 228422008-04-13 Robert Millan <rmh@aybabtu.com>
22843
22844 Improve robustness when handling LVM.
22845
22846 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 22847 (and leave `*p' unmodified).
7ceeee39 22848 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
22849 through it.
22850 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
22851 iterating through it.
22852 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
22853 through it.
fe6b695a 22854 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 22855 when due) on each grub_lvm_getvalue() or grub_strstr() call.
22856 Don't assume `vg->pvs != NULL' when iterating through it.
22857
58cd3d85 228582008-04-13 Robert Millan <rmh@aybabtu.com>
22859
22860 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
22861 * genmk.rb (partmap): New variable.
22862 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
22863 (#{partmap}): New target rule.
22864 * genpartmaplist.sh: New file.
22865 * Makefile.in (pkglib_DATA): Add partmap.lst.
22866 (partmap.lst): New target rule.
22867 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
22868 modules (including all partition maps), instead of preloading them.
22869
78b51059 228702007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
22871
22872 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
22873 `linux-boot-prober' (if installed) to detect other operating
22874 systems which are installed on the computer and add them to
22875 the boot menu.
22876 * conf/common.rmk: Build and install 30_os-prober.
22877
a91627b4 228782008-04-12 Robert Millan <rmh@aybabtu.com>
22879
22880 * kern/powerpc/ieee1275/init.c: Move from here ...
22881 * kern/ieee1275/init.c: ... to here. Update all users.
22882
22883 * kern/powerpc/ieee1275/cmain.c: Move from here ...
22884 * kern/ieee1275/cmain.c: ... to here. Update all users.
22885
22886 * kern/powerpc/ieee1275/openfw.c: Move from here ...
22887 * kern/ieee1275/openfw.c: ... to here. Update all users.
22888
22889 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
22890 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
22891
322562ea 228922008-04-10 Pavel Roskin <proski@gnu.org>
22893
22894 * configure.ac: Always use "_cv_" in cache variables for
22895 compatibility with Autoconf 2.62.
22896
a02a73c5 228972008-04-07 Robert Millan <rmh@aybabtu.com>
22898
22899 Revert grub/machine/init.h addition by Pavel (since it breaks on
22900 i386-ieee1275 and others):
22901 * util/i386/pc/misc.c: Remove grub/machine/init.h.
22902 * util/powerpc/ieee1275/misc.c: Likewise.
22903
25c024b1 229042008-04-07 Robert Millan <rmh@aybabtu.com>
22905
22906 * util/grub-probe.c (probe): Improve error message.
22907
3cbd2f98 229082008-04-07 Robert Millan <rmh@aybabtu.com>
22909
22910 * util/biosdisk.c (read_device_map): Skip devices that don't exist
22911 (this prevents the presence of a bogus entry from ruining the whole
22912 thing).
22913
87a297bf 229142008-04-06 Pavel Roskin <proski@gnu.org>
22915
36747a62 22916 * util/biosdisk.c: Include grub/util/biosdisk.h.
22917 * util/grub-fstest.c (execute_command): Make static.
22918 * util/grub-mkdevicemap.c (check_device): Likewise.
22919 * util/i386/pc/misc.c: Include grub/machine/init.h.
22920 * util/powerpc/ieee1275/misc.c: Likewise.
22921 * util/lvm.c: Include grub/util/lvm.h.
22922 * util/misc.c: Include grub/kernel.h, grub/misc.h and
22923 grub/cache.h.
22924 * util/raid.c: Include grub/util/raid.h.
22925 (grub_util_getdiskname): Make static.
22926
87a297bf 22927 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
22928 grub_hostfs_fini(), as they are called from grub_init_all() and
22929 grub_fini_all() respectively. This fixes an infinite loop in
22930 grub-fstest due to double registration of hostfs.
22931 Reported by Christian Franke <Christian.Franke@t-online.de>
22932
f6ce7629 229332008-04-05 Pavel Roskin <proski@gnu.org>
22934
22935 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
22936 all 8 functions. Otherwise, probe function 0 only.
22937
070e49e4 229382008-04-04 Pavel Roskin <proski@gnu.org>
22939
8b088a4c 22940 * commands/lspci.c (grub_lspci_iter): Print the bus number
22941 correctly.
22942
4f657021 22943 * commands/lspci.c (grub_pci_classes): Fix typos.
22944 (grub_lspci_iter): Don't print func twice. Print vendor ID
22945 before device ID, as it's normally done.
22946
070e49e4 22947 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22948 Fix signedness warnings.
22949 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
22950 Likewise.
22951 * util/ieee1275/get_disk_name.c: Include config.h so that
22952 _GNU_SOURCE is defined and getline() is declared. Mark an
22953 unused argument as such. Fix a signedness warning.
22954
ba7328dc 229552008-04-02 Pavel Roskin <proski@gnu.org>
22956
26887f22 22957 * genkernsyms.sh.in: Use more robust assignments for CC and
22958 srcdir. Quote srcdir.
22959 * gensymlist.sh.in: Likewise. Assert at the compile time that
22960 the symbol table is not empty.
22961
ba7328dc 22962 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
22963 * fs/cpio.c (grub_cpio_read): Likewise.
22964
0f582c6b 229652008-04-01 Pavel Roskin <proski@gnu.org>
22966
4b6e1995 22967 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
22968 * disk/host.c (grub_host_open): Likewise.
22969 * disk/loopback.c (grub_loopback_open): Likewise.
22970 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
22971 disk->id as in disk/host.c, not a multi-character constant.
22972
828a2768 22973 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
22974 later is obsolete, potentially dangerous and sets a bad example.
22975 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
22976 * util/misc.c (grub_util_get_image_size): Likewise.
22977
2bb4fb47 22978 * disk/loopback.c (options): Improve help for "--partitions".
22979
0f582c6b 22980 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
22981 options to align them with the short options, e.g. "echo -e".
22982
a33224e0 229832008-03-31 Bean <bean123ch@gmail.com>
22984
22985 * video/reader/png.c (grub_png_data): New member is_16bit and
22986 image_data.
22987 (grub_png_decode_image_header): Detect 16 bit png image.
22988 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
22989 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
22990 (grub_video_reader_png): Release memory occupied by image_data.
22991
22992 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
22993 4096 bytes.
22994 (grub_nfs_mount): Skip the test for sector per cluster.
22995
22996 * include/grub/ntfs.h (MAX_SPC): Removed.
22997
86cb4f54 229982008-03-31 Bean <bean123ch@gmail.com>
22999
23000 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
23001 (grub_probe_SOURCES): Add fs/afs.c.
23002 (grub_fstest_SOURCES): Likewise.
23003 (afs_mod_SOURCES): New variable.
23004 (afs_mod_CFLAGS): Likewise.
23005 (afs_mod_LDFLAGS): Likewise.
23006
23007 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
23008 (grub_emu_SOURCES): Likewise.
23009
23010 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23011
23012 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23013
23014 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23015
23016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23017
23018 * fs/afs.c: New file.
23019
17c74c21 230202008-03-30 Pavel Roskin <proski@gnu.org>
23021
4cb68e89 23022 * disk/host.c: Include grub/misc.h to fix a warning.
23023 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
23024 warnings about implicit declarations.
23025
8790bb04 23026 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
23027 variable.
23028 * include/grub/i386/loader.h: Change declaration of
23029 grub_linux_boot() to match what grub_loader_set() expects.
23030 * util/getroot.c (grub_guess_root_device): Return const char* to
23031 fix a warning.
23032 * util/grub-probe.c (probe): Fix a warning about uninitialized
23033 abstraction_name variable.
23034 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
23035 second argument as unused to fix a warning.
23036
9a3f3296 23037 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
23038 missing grub_error() call.
23039
0ecef90d 23040 * util/update-grub_lib.in: Define datarootdir, since Autoconf
23041 2.60 and newer uses it to define datadir.
23042
0bf6d401 23043 * commands/sleep.c: Fix warning about implicit declaration.
23044 * disk/memdisk.c: Likewise.
23045 * loader/aout.c: Likewise.
23046 * loader/i386/bsd_normal.c: Likewise.
23047 * util/grub-probe.c: Likewise.
23048
7cdacf97 23049 * commands/i386/cpuid.c (has_longmode): Make static.
23050 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
23051 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
23052
17c74c21 23053 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
23054 GDT. This is more robust, as %ds can change.
23055 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
23056 calling real_to_prot().
23057 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
23058
80a3e68b 230592008-03-28 Pavel Roskin <proski@gnu.org>
23060
23061 * kern/i386/pc/startup.S: Assert that uncompressed functions
23062 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
23063 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
23064 code, as they push parts of the code (error handlers) beyond
23065 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
23066 code as correctness and size.
23067
77bcd272 230682008-03-28 Pavel Roskin <proski@gnu.org>
23069
23070 * kern/i386/pc/startup.S
23071 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
23072 data block address to the real mode, keep offset minimal. This
23073 works around a bug in AWARD BIOS on old Athlon systems, which
23074 makes CD detection hang.
23075
c5dfd43b 230762008-03-26 Pavel Roskin <proski@gnu.org>
23077
23078 * normal/color.c (grub_parse_color_name_pair): Make `name' a
23079 const.
23080 * include/grub/normal.h: Add grub_parse_color_name_pair()
23081 declaration.
23082
bf962df2 230832008-03-24 Bean <bean123ch@gmail.com>
23084
23085 * disk/i386/pc/biosdisk.c (cd_start): Removed.
23086 (cd_count): Removed.
23087 (cd_drive): New variable.
23088 (grub_biosdisk_get_drive): Don't check for (cdN) device.
23089 (grub_biosdisk_call_hook): Likewise.
23090 (grub_biosdisk_iterate): Change cdrom detection method.
23091 (grub_biosdisk_open): Replace cd_start with cd_drive.
23092 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
23093 detect cdrom device.
23094
23095 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
23096 Removed.
23097 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
23098 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
23099 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
23100 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
23101 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
23102 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
23103 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
23104 (grub_biosdisk_cdrp): New structure.
23105 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
23106
23107 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
23108
23109 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
23110 device.
23111
23112 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
23113 New function.
23114
68e7fc7a 231152008-03-20 Robert Millan <rmh@aybabtu.com>
23116
23117 Remove 2 TiB limit in ata.mod.
23118 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
23119 (grub_ata_dumpinfo): Print sector count with 0x%llx.
23120 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
23121 grub_uint64_t instead of grub_uint32_t.
23122
38ad2cf5 231232008-03-05 Bean <bean123ch@gmail.com>
23124
23125 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
23126 (grub_multiboot): Set boot device.
23127
23128 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
23129
2b89344e 231302008-03-02 Bean <bean123ch@gmail.com>
23131
23132 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
23133 symlink_buffer.
23134
87a95d1f 231352008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
23136
23137 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
23138 texinfo.tex.
23139
23140 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
23141 modified.
23142
23143 * docs/fdl.texi: New file.
f19dbdb7 23144
87a95d1f 23145 * docs/mdate-sh: New file. Copied from gnulib.
23146 * docs/texinfo.tex: Likewise.
23147
23148 * config.guess: Updated from gnulib.
23149 * install-sh: Likewise.
23150
7dc15d8e 231512008-02-28 Robert Millan <rmh@aybabtu.com>
23152
23153 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
23154 (aout_mod_SOURCES): New variable.
23155 (aout_mod_CFLAGS): Likewise.
23156 (aout_mod_LDFLAGS): Likewise.
23157
23158 * conf/i386-ieee1275.rmk: Likewise.
23159
b00ab696 231602008-02-28 Robert Millan <rmh@aybabtu.com>
23161
23162 * util/update-grub.in: Reorganise terminal validity check. Accept
23163 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
23164 Based on suggestion by Franklin PIAT.
23165
79ca2d78 231662008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
23167
23168 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
23169 function.
23170 * util/getroot.c (grub_util_check_block_device): New function that
23171 returns the given argument if it is a block device and returns NULL else.
23172 * util/grub-probe.c (argument_is_device): New variable.
23173 (probe): Promote device_name from a variable to an argument. Receive
23174 device_name from grub_util_check_block_device() if path is NULL and from
23175 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 23176 (options): Introduce new parameter '-d, --device'.
79ca2d78 23177 (main): Add description of the new parameter to the help screen.
23178 Rename path variable to argument. Set argument_is_device if the '-d'
23179 option is given. Pass argument to probe() depending on
23180 argument_is_device.
23181
0d16e571 231822008-02-24 Bean <bean123ch@gmail.com>
23183
23184 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
23185 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
23186 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
23187 (GRUB_ISO9660_VOLDESC_PART): Likewise.
23188 (GRUB_ISO9660_VOLDESC_END): Likewise.
23189 (grub_iso9660_primary_voldesc): New member escape.
23190 (grub_iso9660_data): New member joliet.
23191 (grub_iso9660_convert_string): New function.
23192 (grub_iso9660_mount): Detect joliet extension.
23193 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
23194 (grub_iso9660_iso9660_label): Likewise.
23195
23196 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
23197 (grub_setup_SOURCES): Add fs/udf.c.
23198 (grub_fstest_SOURCES): Likewise.
23199 (udf_mod_SOURCES): New variable.
23200 (udf_mod_CFLAGS): Likewise.
23201 (udf_mod_LDFLAGS): Likewise.
23202
23203 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
23204 (grub_emu_SOURCES): Likewise.
23205
23206 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23207
23208 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23209
23210 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23211
23212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23213
23214 * fs/udf.c: New file.
23215
8a594a17 232162008-02-24 Robert Millan <rmh@aybabtu.com>
23217
23218 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
23219 (normal/lexer.c_DEPENDENCIES): New variables.
23220 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23221 (normal/lexer.c_DEPENDENCIES): Likewise.
23222 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
23223 (normal/lexer.c_DEPENDENCIES): Likewise.
23224 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
23225 (normal/lexer.c_DEPENDENCIES): Likewise.
23226 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23227 (normal/lexer.c_DEPENDENCIES): Likewise.
23228 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23229 (normal/lexer.c_DEPENDENCIES): Likewise.
23230
2dc33c03 232312008-02-23 Robert Millan <rmh@aybabtu.com>
23232
23233 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
23234 since they were intended to be in hex. This didn't break previously
23235 because of a bug in gpt_partition_map_iterate() (see below).
23236
23237 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
23238 when checking the validity of GPT header.
23239 Remove `partno', since it always provides the same information as `i'.
23240
f6f4cfb0 232412008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
23242
23243 * include/grub/efi/time.h: Fix a wrong comment.
23244
79ff665f 232452008-02-19 Pavel Roskin <proski@gnu.org>
23246
23247 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
23248 message.
23249
d38e24c2 232502008-02-19 Bean <bean123ch@gmail.com>
23251
23252 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
23253 (aout_mod_SOURCES): New variable.
23254 (aout_mod_CFLAGS): Likewise.
23255 (aout_mod_LDFLAGS): Likewise.
23256 (_bsd_mod_SOURCES): New variable.
23257 (_bsd_mod_CFLAGS): Likewise.
23258 (_bsd_mod_LDFLAGS): Likewise.
23259 (bsd_mod_SOURCES): New variable.
23260 (bsd_mod_CFLAGS): Likewise.
23261 (bsd_mod_LDFLAGS): Likewise.
23262
23263 * include/grub/aout.h: New file.
23264
23265 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
23266
23267 * include/grub/i386/bsd.h: New file.
23268
23269 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
23270 to make it public.
23271
23272 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
23273 function is called, so that it's possible to change it inside the hook.
23274 (grub_elf64_load): Likewise.
23275 (grub_elf_file): Don't close the file if elf header is not found.
23276 (grub_elf_close): Close the file if grub_elf_file fails (The new
23277 grub_elf_file won't close it).
23278 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
23279 (grub_elf64_size): Likewise.
23280
23281 * kern/i386/loader.S (grub_unix_real_boot): New function.
23282
23283 * loader/aout.c: New file.
23284
23285 * loader/i386/bsd.c: New file.
23286
23287 * loader/i386/bsd_normal.c: New file.
23288
23289 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
23290
23291 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 23292 can test other formats.
d38e24c2 23293
b93bdb0f 232942008-02-19 Robert Millan <rmh@aybabtu.com>
23295
23296 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
23297 (grub_gpt_partition_type_empty): Redefine with macro from
23298 `<grub/gpt_partition.h>'.
23299 (gpt_partition_map_iterate): Adjust partition type comparison.
23300
23301 Export `entry' as partmap-specific `part.data' struct.
23302 (grub_gpt_header, grub_gpt_partentry): Move from here ...
23303
23304 * include/grub/gpt_partition.h (grub_gpt_header)
23305 (grub_gpt_partentry): ... to here (new file).
23306
23307 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
23308
23309 (grub_gpt_partition_type_bios_boot): New const variable, defined
23310 with macro from `<grub/gpt_partition.h>'.
23311
23312 (setup): Replace `first_start' with `embed_region', which keeps
23313 track of the embed region (and is partmap-agnostic).
23314
23315 Replace find_first_partition_start() with find_usable_region(),
23316 which finds a usable region for embedding using partmap-specific
23317 knowledge (supports PC/MSDOS and GPT).
23318
23319 Fix all assumptions that the embed region start at sector 1, using
23320 `embed_region.start' from now on. Similarly, use `embed_region.end'
23321 rather than `first_start' to calculate available size.
23322
23323 In grub_util_info() message, replace "into after the MBR" with an
23324 indication of the specific sector our embed region starts at.
23325
66cb40f6 233262008-02-19 Robert Millan <rmh@aybabtu.com>
23327
23328 * DISTLIST: Replace `commands/ieee1275/halt.c' and
23329 `commands/ieee1275/reboot.c' with `commands/halt.c' and
23330 `commands/reboot.c'.
23331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23332 (halt_mod_SOURCES): Likewise.
23333 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23334 (halt_mod_SOURCES): Likewise.
23335
b7202015 233362008-02-17 Christian Franke <franke@computer.org>
23337
23338 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
23339
32b0fc49 233402008-02-17 Robert Millan <rmh@aybabtu.com>
23341
23342 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23343 set `first_start' to 0 for non-PC/MSDOS partition maps.
23344
aca63502 233452008-02-16 Robert Millan <rmh@aybabtu.com>
23346
23347 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23348 do not assume partition map is PC/MSDOS before performing checks that
23349 are specific to that layout.
23350
0de8be86 233512008-02-13 Robert Millan <rmh@aybabtu.com>
23352
23353 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
23354 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
23355 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
23356
c3db8364 233572008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
23358
23359 * configure.ac: Only a cosmetic change on the handling of
23360 -fno-stack-protector.
23361
f714229e 233622008-02-12 Alexandre Boeglin <alex@boeglin.org>
23363
c3db8364 23364 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
23365 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
23366 reboot.c.
f714229e 23367 (grub_install_SOURCES): Add halt.mod and reboot.mod.
23368 (halt_mod_SOURCES): New variable.
23369 (halt_mod_CFLAGS): Likewise.
23370 (halt_mod_LDFLAGS): Likewise.
23371 (reboot_mod_SOURCES): Likewise.
23372 (reboot_mod_CFLAGS): Likewise.
23373 (reboot_mod_LDFLAGS): Likewise.
23374
c3db8364 23375 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
23376 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
23377 reboot.c.
f714229e 23378 (halt_mod_SOURCES): Likewise.
23379 (reboot_mod_SOURCES): Likewise.
23380
c3db8364 23381 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
23382 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 23383 (reboot_mod_SOURCES): Likewise.
23384
23385 * commands/i386/pc/reboot.c: merge this file ...
23386
23387 * commands/ieee1275/reboot.c: ... and this file ...
23388
23389 * commands/reboot.c: ... to this file.
c3db8364 23390 Add some precompiler directive to include the correct header for
23391 each machine.
f714229e 23392
23393 * commands/ieee1275/halt.c: move this file ...
23394
23395 * commands/halt.c: ... to here.
c3db8364 23396 Add some precompiler directive to include the correct header for
23397 each machine.
f714229e 23398
23399 * include/grub/efi/efi.h (grub_reboot): New function declaration.
23400 (grub_halt): Likewise.
23401
23402 * kern/efi/efi.c (grub_reboot): New function.
23403 (grub_halt): Likewise.
23404
c74493e0 234052008-02-12 Robert Millan <rmh@aybabtu.com>
23406
23407 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
23408 /dev (like it is done for /dev/mapper). This doesn't provide support
23409 for EVMS, but at least it is now easy to identify the problem when it
23410 arises.
23411
d0db4b04 234122008-02-11 Robert Millan <rmh@aybabtu.com>
23413
23414 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
23415 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
23416 comparing it with -1, not 0.
23417
bf748642 234182008-02-10 Robert Millan <rmh@aybabtu.com>
23419
23420 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
23421 `disk/lvm.c'.
23422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23423 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23424
23425 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
23426 `disk/lvm.c' to the end of the list.
23427 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23428 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23429
b5db202a 234302008-02-10 Robert Millan <rmh@aybabtu.com>
23431
23432 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
23433 grub_print_error() instead. This will let user know why we're entering
23434 rescue mode.
23435 Based on suggestions from Sam Morris.
23436
83abee31 234372008-02-10 Alexandre Boeglin <alex@boeglin.org>
23438
23439 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
23440 on remaining N args, instead of "--" arg N times.
23441
78d5a08b 234422008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
23443
23444 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
23445 (fill_with_default_glyph): Changed to use unknown_glyph for fill
23446 pattern for unknown glyphs.
23447
68807e5f 234482008-02-09 Robert Millan <rmh@aybabtu.com>
23449
23450 * configure.ac: Probe for `help2man'.
23451 * Makefile.in (builddir): New variable.
23452 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
23453 or otherwise add a few flags/options to it.
23454 (install-local): For every executable utility or script that is
23455 installed, invoke $(HELP2MAN) to install a manpage based on --help
23456 output.
23457
23458 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
23459 that it doesn't prevent --help from working in build tree.
23460
23461 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
23462 with `bug-grub@gnu.org'.
23463 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
23464 * util/update-grub.in (usage): New function.
23465 Implement proper argument check, with support for --help and --version
23466 (as well as existing -y).
23467
234682008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 23469
23470 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
23471 avoid overwriting previous output.
23472 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
23473
c1962162 234742008-02-09 Robert Millan <rmh@aybabtu.com>
23475
23476 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
23477 drawing the menu.
23478
3dac2e3f 234792008-02-09 Robert Millan <rmh@aybabtu.com>
23480
23481 * commands/sleep.c: New file.
23482 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
23483 (sleep_mod_SOURCES): New variable.
23484 (sleep_mod_CFLAGS): Likewise.
23485 (sleep_mod_LDFLAGS): Likewise.
23486
7a634e08 234872008-02-09 Robert Millan <rmh@aybabtu.com>
23488
23489 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
23490 situations in which we can deduce the RAID size and the superblock
23491 doesn't match it.
23492
b92f0c18 234932008-02-09 Robert Millan <rmh@aybabtu.com>
23494
23495 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
23496 and return a grub_diskmemberlist_t composed of LVM physical volumes.
23497 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
23498
23499 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
23500 and return a grub_diskmemberlist_t composed of physical array members.
23501 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
23502
23503 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
23504 prototype.
23505 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
23506 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
23507 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
23508
23509 * util/grub-probe.c (probe): Move partmap probing code from here ...
23510 (probe_partmap): ... to here.
23511 (probe): Use probe_partmap() once for the disk we're probing, and
23512 additionally, when such disk contains a memberlist() struct member,
23513 once for each disk that is contained in the structure returned by
23514 memberlist().
23515
91a4bf68 235162008-02-09 Robert Millan <rmh@aybabtu.com>
23517
23518 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
23519 environment variable to 'all' in order to obtain debug output from
23520 non-util/ code.
23521 * util/i386/pc/grub-setup.c (main): Likewise.
23522
a96f9caa 235232008-02-08 Robert Millan <rmh@aybabtu.com>
23524
23525 * disk/raid.c (grub_raid_scan_device): Check for
23526 `array->device[sb.this_disk.number]' rather than for
23527 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 23528 guaranteed to be accessible.
a96f9caa 23529
b37a9222 235302008-02-08 Robert Millan <rmh@aybabtu.com>
23531
23532 * disk/raid.c: Update copyright.
23533 * fs/cpio.c: Likewise.
23534 * include/grub/raid.h: Likewise.
23535 * loader/i386/pc/multiboot.c: Likewise.
23536 * util/hostfs.c: Likewise.
23537
5626aee1 235382008-02-08 Robert Millan <rmh@aybabtu.com>
23539
23540 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
23541 to a grub_disk_t array.
23542 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
23543 `device[x]'.
23544 (grub_raid_scan_device): Replace `device[x].name' accesses with
23545 `device[x]->name'. Simplify initialization of `array->device[x]'.
23546
554f0187 235472008-02-08 Robert Millan <rmh@aybabtu.com>
23548
23549 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
23550 grub_dprintf() calls.
23551 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
23552 error message.
23553
1ec8425d 235542008-02-07 Christian Franke <franke@computer.org>
23555
23556 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
23557 instead of fseek and ftell to support large files.
23558 (grub_hostfs_read): Likewise.
23559
f2156fda 235602008-02-07 Robert Millan <rmh@aybabtu.com>
23561
23562 Patch from Jeroen Dekkers.
23563 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 23564 failure, since successfully reading all array members might not be
f2156fda 23565 required.
23566
9216e0e7 235672008-02-06 Robert Millan <rmh@aybabtu.com>
23568
23569 * util/grub-probe.c (probe): Simplify partmap probing (with the
23570 assumption that the first word up to the underscore equals to
23571 the module name).
23572
b0dfd29a 235732008-02-06 Christian Franke <franke@computer.org>
23574
23575 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
23576 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
23577 last block of a cpio or tar stream.
23578 Check for "TRAILER!!!" instead of any empty data
23579 block to detect last block of a cpio stream.
23580 (grub_cpio_dir): Fix constness of variable np.
23581 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
23582 cpio or tar trailer is detected. This fixes a crash
23583 on open of a non existing file.
23584
c32865bf 235852008-02-05 Bean <bean123ch@gmail.com>
23586
23587 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
23588 address of entry.
23589 (grub_multiboot_load_elf64): Likewise.
23590 (grub_multiboot): Initialize mbi structure.
23591
23592 * util/grub-fstest.c: Don't include unused header file script.h.
23593
fe6b695a 23594 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 23595 of file.
23596 (grub_fstest_SOURCES): Likewise.
23597
409480b7 235982008-02-05 Robert Millan <rmh@aybabtu.com>
23599
23600 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
23601 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
23602 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
23603 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
23604
23605 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
23606 (translation_table): Replace hardcoded values with macros
23607 provided by `<grub/term.h>'.
23608
23609 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
23610 (keyboard_map): Correct/add a few values, with macros provided
23611 by `<grub/term.h>'.
23612 (keyboard_map_shift): Zero values that don't differ from their
23613 `keyboard_map' equivalents.
23614 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
23615 Discard the second scan code that is always sent by Caps lock.
23616 Only use `keyboard_map_shift' when it provides a non-zero value,
23617 otherwise fallback to `keyboard_map'.
23618
99fadbaa 236192008-02-04 Bean <bean123ch@gmail.com>
23620
23621 * Makefile.in (enable_grub_fstest): New variable.
23622
23623 * conf/common.rmk (grub_fstest_init.lst): New rule.
23624 (grub_fstest_init.h): Likewise.
23625 (grub_fstest_init.c): Likewise.
23626 (util/grub-fstest.c_DEPENDENCIES): New variable.
23627 (grub_fstest_SOURCES): Likewise.
23628
23629 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
23630
23631 * util/grub-fstest.c: New file.
23632
bf567c50 236332008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23634
23635 Make grub-setup handle a separate root device.
f19dbdb7 23636
bf567c50 23637 * util/i386/pc/grub-setup.c (setup): Always open the root device,
23638 so that the root device can be compared with the destination
23639 device.
23640 When embedding the core image, if the root and destination devices
23641 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
23642 0xFF.
23643 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 23644
9be6b98b 236452008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23646
23647 Add support for having a grub directory in a different drive. This
23648 is still only the data handling part.
f19dbdb7 23649
9be6b98b 23650 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
23651 (codestart): Save %dh in GRUB_ROOT_DRIVE.
23652 (grub_root_drive): New variable.
23653
23654 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
23655 instead of GRUB_BOOT_DRIVE to construct a device name. Set
23656 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
23657 as it was.
23658
23659 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
23660
23661 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
23662 macro.
23663 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
23664
23665 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
23666 is bogus, because PXE booting does not specify any drive
23667 correctly.
23668
23669 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
23670 am not sure if this is really correct.
23671
23672 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
23673 is always identical to the boot drive when booting from a CD.
23674
23675 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
23676 longer.
23677 (root_drive): New variable.
23678 (real_start): Unconditionally set %dh to ROOT_DRIVE.
23679 (setup_sectors): Push %dx right after popping it, because %dh will
23680 be modified later.
23681 (copy_buffer): Restore %dx.
23682
e0ca0677 236832008-02-03 Robert Millan <rmh@aybabtu.com>
23684
23685 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
23686 use `cdboot.img' for cdrom images.
23687
3b3f6629 236882008-02-03 Robert Millan <rmh@aybabtu.com>
23689
23690 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
23691 only setup gfxterm when `font' command has succeeded.
23692
d42b3672 236932008-02-03 Robert Millan <rmh@aybabtu.com>
23694
23695 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
23696 (grub_rescue_cmd_multiboot_loader)
23697 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
23698
fa370ea6 236992008-02-03 Pavel Roskin <proski@gnu.org>
23700
e0c5dacb 23701 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 23702 %edx and %esi from stack only after grub_gate_a20() is called.
23703 grub_gate_a20() clobbers %edx.
23704
f2a76e1d 237052008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23706
23707 * configure.ac (AC_INIT): Bumped to 1.96.
23708
23709 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
23710 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
23711 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
23712 video/readers/png.c.
23713
90fd32d1 237142008-02-03 Bean <bean123ch@gmail.com>
9be665dd 23715
23716 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
23717 (cdboot_img_SOURCES): New variable.
23718 (cdboot_img_ASFLAGS): New variable.
23719 (cdboot_img_LDFLAGS): New variable.
23720
23721 * boot/i386/pc/cdboot.S: New file.
23722
23723 * disk/i386/pc/biosdisk.c (cd_start): New variable.
23724 (cd_count): Likewise.
23725 (grub_biosdisk_get_drive): Add support for cd device.
23726 (grub_biosdisk_call_hook): Likewise.
23727 (grub_biosdisk_iterate): Likewise.
23728 (grub_biosdisk_open): Likewise.
23729 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
23730 (grub_biosdisk_rw): Support reading from cd device.
23731 (GRUB_MOD_INIT): Iterate cd devices.
23732
23733 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
23734 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
23735 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
23736
23737 * kern/i386/pc/init.c (make_install_device): Check for cd device.
23738
4020aa53 237392008-02-02 Robert Millan <rmh@aybabtu.com>
23740
23741 * commands/read.c: New file.
23742 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
23743 (read_mod_SOURCES): New variable.
23744 (read_mod_CFLAGS): Likewise.
23745 (read_mod_LDFLAGS): Likewise.
23746
e03a1132 237472008-02-02 Robert Millan <rmh@aybabtu.com>
23748
23749 * normal/main.c (grub_normal_execute): Check for `menu->size' when
23750 determining whether menu has to be displayed.
23751
58c69220 237522008-02-02 Marco Gerards <marco@gnu.org>
23753
23754 * bus/pci.c: New file.
23755
23756 * include/grub/pci.h: Likewise.
23757
23758 * include/grub/i386/pc/pci.h: Likewise.
23759
23760 * commands/lspci.c: Likewise.
23761
23762 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
23763 `lspci.mod'.
23764 (pci_mod_SOURCES): New variable.
23765 (pci_mod_CFLAGS): Likewise.
23766 (pci_mod_LDFLAGS): Likewise.
23767 (lspci_mod_SOURCES): Likewise.
23768 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 23769 (lspci_mod_LDFLAGS): Likewise.
58c69220 23770
c004e1b4 237712008-02-02 Bean <bean123ch@gmail.com>
23772
23773 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
23774 (grub_ufs_get_file_block): Fix indirect block calculation problem.
23775
23776 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
23777 (grub_xfs_btree_node): New structure.
23778 (grub_xfs_btree_root): New structure.
23779 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
23780 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
23781 (GRUB_XFS_EXTENT_BLOCK): Likewise.
23782 (GRUB_XFS_EXTENT_SIZE): Likewise.
23783 (grub_xfs_read_block): Support btree format type.
23784 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
23785 Use directory block as basic unit.
23786
23787 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
23788
23789 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
23790 __attribute__ ((__regparm__ (1))).
23791
f95562bf 237922008-02-01 Robert Millan <rmh@aybabtu.com>
23793
23794 Correct a mistake in previous commit.
23795
23796 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
23797 top.
23798 (normal/command.c_DEPENDENCIES): New variable.
23799
7d31f41f 238002008-02-01 Robert Millan <rmh@aybabtu.com>
23801
23802 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
23803 top.
23804 (normal/command.c_DEPENDENCIES): New variable.
23805 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
23806 * conf/i386-ieee1275.rmk: Likewise.
23807 * conf/i386-linuxbios.rmk: Likewise.
23808 * conf/i386-pc.rmk: Likewise.
23809 * conf/sparc64-ieee1275.rmk: Likewise.
23810 * conf/powerpc-ieee1275.rmk: Likewise.
23811 (grub_emu_SOURCES): Add `fs/fshelp.c'.
23812
23813 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
23814
60b6be74 238152008-02-01 Robert Millan <rmh@aybabtu.com>
23816
23817 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
23818 call at beginning of function.
23819
078522ab 238202008-01-31 Pavel Roskin <proski@gnu.org>
23821
23822 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 23823 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
23824 (grub_mkrescue_SOURCES): Likewise.
078522ab 23825 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
23826
ccaa8a5f 238272008-01-30 Robert Millan <rmh@aybabtu.com>
23828
23829 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
23830 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
23831 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
23832 (grub_probe_SOURCES): ... to here.
23833
23834 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
23835 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
23836 * conf/i386-ieee1275.rmk: Likewise.
23837 * conf/i386-linuxbios.rmk: Likewise.
23838 * conf/powerpc-ieee1275.rmk: Likewise.
23839
ae5a9cd7 238402008-01-30 Tristan Gingold <gingold@free.fr>
23841
23842 * kern/rescue.c: Silently accept empty lines.
23843
70bc2ef2 238442008-01-29 Bean <bean123ch@gmail.com>
23845
23846 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
23847 (real_code_2): Code cleanup and change comment style.
23848 (move_memory): Avoid using 32-bit address mode.
23849
6a4d50ea 238502008-01-29 Bean <bean123ch@gmail.com>
23851
23852 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
23853 (png_mod_SOURCES): New variable.
23854 (png_mod_CFLAGS): Likewise.
23855 (png_mod_LDFLAGS): Likewise.
23856
23857 * video/readers/png.c: New file.
23858
11cc30ac 238592008-01-28 Robert Millan <rmh@aybabtu.com>
23860
23861 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
23862 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
23863 `ifndef GRUB_MOD_GAP' hack.
23864 * util/elf/grub-mkimage.c (add_segments): Likewise.
23865
3abc589f 238662008-01-27 Robert Millan <rmh@aybabtu.com>
23867
23868 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
23869 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 23870 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 23871
e1907778 238722008-01-27 Robert Millan <rmh@aybabtu.com>
23873
23874 Get grub-emu to build again (including parallel builds).
23875
23876 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
23877 Split into ...
23878 (util/grub-emu.c_DEPENDENCIES): ... this, ...
23879 (normal/execute.c_DEPENDENCIES): ... this, ...
23880 (grub-emu_DEPENDENCIES): ... and this.
23881
23882 * conf/i386-efi.rmk: Likewise.
23883 * conf/i386-linuxbios.rmk: Likewise.
23884 * conf/i386-ieee1275.rmk: Likewise.
23885 * conf/powerpc-ieee1275.rmk: Likewise.
23886 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
23887
2216b101 238882008-01-27 Robert Millan <rmh@aybabtu.com>
23889
23890 * NEWS: Add a few items.
23891
f75172d9 238922008-01-27 Robert Millan <rmh@aybabtu.com>
23893
23894 Fix parallel builds with grub-emu. Based on earlier commit for
23895 grub-probe and grub-setup.
23896
23897 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23898 (util/grub-emu.c_DEPENDENCIES): ... this.
23899 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23900 (util/grub-emu.c_DEPENDENCIES): ... this.
23901 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23902 (util/grub-emu.c_DEPENDENCIES): ... this.
23903 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23904 (util/grub-emu.c_DEPENDENCIES): ... this.
23905 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23906 (util/grub-emu.c_DEPENDENCIES): ... this.
23907
3f51de77 239082008-01-27 Pavel Roskin <proski@gnu.org>
23909
23910 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
23911 to create a gap between _end and the modules added to the image
23912 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
23913 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
23914 * util/elf/grub-mkimage.c (add_segments): Likewise.
23915
2033f53e 239162008-01-26 Pavel Roskin <proski@gnu.org>
23917
23918 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
23919 just return an error.
23920
22da1f6f 239212008-01-26 Bean <bean123ch@gmail.com>
23922
23923 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
23924 (grub_reiserfs_get_item): Save offset of the next item.
23925 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
23926
2a9525e6 239272008-01-25 Robert Millan <rmh@aybabtu.com>
23928
23929 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
23930 make all filesystem sources appear together (possibly fixing omissions
23931 while at it).
23932 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23933 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23934 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23936
23937 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
23938 add `kern/file.c'.
23939 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
23940 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23941 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
23942 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23943
23944 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
23945 (probe): Add a sanity check to make sure of our ability to read
23946 requested files when probing for filesystem type.
23947
23948 * genmk.rb: Update copyright year (2007).
23949
23950 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
23951 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
23952 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
23953 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
23954 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
23955 : Remove function prototypes.
23956
b95f71b5 239572008-01-25 Robert Millan <rmh@aybabtu.com>
23958
23959 Revert my previous commits (based on wrong assumption of how grub_errno
23960 works).
23961
fe6b695a 23962 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 23963 * kern/file.c (grub_file_open): Likewise.
23964
d08bbb49 239652008-01-24 Pavel Roskin <proski@gnu.org>
23966
23967 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
23968 that hang if GRUB tries to setup colors.
23969 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
23970 colors for firmwares that don't support it.
23971 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
23972 Recognize Open Hack'Ware, set flags to work around its
23973 limitations.
23974
605e36ed 239752008-01-24 Robert Millan <rmh@aybabtu.com>
23976
23977 * kern/file.c (grub_file_open): Do not account previous failures of
23978 unrelated functions when grub_errno is checked for.
23979 Reported by Oleg Strikov.
23980
bac332a1 239812008-01-24 Bean <bean123ch@gmail.com>
23982
23983 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
23984 (grub_ufs_sblock): New member volume name.
23985 (grub_ufs_find_file): Fix string copy bug.
23986 (grub_ufs_label): Implement this function properly.
23987
23988 * fs/hfs.c (grub_hfs_cnid_type): New enum.
23989 (grub_hfs_iterate_records): Use the correct file number for extents
23990 and catalog file. Fix problem in next index calculation.
23991 (grub_hfs_find_node): Replace recursive function call with loop.
23992 (grub_hfs_iterate_dir): Replace recursive function call with loop.
23993
15c80c09 239942008-01-23 Robert Millan <rmh@aybabtu.com>
23995
23996 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
23997 `<grub/symbol.h>' and `<grub/multiboot.h>'.
23998 (grub_multiboot2_real_boot): New function prototype.
23999
24000 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
24001 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
24002
24003 * kern/i386/ieee1275/init.c (grub_os_area_addr)
24004 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
24005
305338fd 240062008-01-23 Robert Millan <rmh@aybabtu.com>
24007
24008 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
24009 #ifdef'ed out grub_printf().
24010
3ea52685 240112008-01-23 Robert Millan <rmh@aybabtu.com>
24012
24013 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
24014 grub_dprintf calls, since they make "debug=all" mode unusable.
24015 (grub_console_checkkey): Likewise.
24016
5882ae4b 240172008-01-23 Robert Millan <rmh@aybabtu.com>
24018
24019 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24020 `term/i386/pc/at_keyboard.c'.
24021 (pkglib_MODULES): Add `serial.mod'.
24022 (serial_mod_SOURCES): New variable.
24023 (serial_mod_CFLAGS): Likewise.
24024 (serial_mod_LDFLAGS): Likewise.
24025
24026 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
24027 `<grub/powerpc/ieee1275/console.h>'.
24028 (grub_keyboard_controller_init): New function prototype.
24029 (grub_console_checkkey): Likewise.
24030 (grub_console_getkey): Likewise.
24031
24032 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
24033 keyboard on i386.
24034
24035 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
24036 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
24037
06ab5303 240382008-01-23 Robert Millan <rmh@aybabtu.com>
24039
24040 * kern/i386/pc/init.c (make_install_device): When memdisk image is
24041 present, "(memdisk)/boot/grub" becomes the default prefix.
24042
24043 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
24044 a memdisk tarball with all the modules. Add --overlay=DIR option that
24045 allows users to overlay additional files into the image.
24046
dbb475a4 240472008-01-23 Robert Millan <rmh@aybabtu.com>
24048
24049 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
24050 and `machine/memory.h'.
24051 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
24052 (_multiboot_mod_SOURCES): New variable.
24053 (_multiboot_mod_CFLAGS): Likewise.
24054 (_multiboot_mod_LDFLAGS): Likewise.
24055 (multiboot_mod_SOURCES): Likewise.
24056 (multiboot_mod_CFLAGS): Likewise.
24057 (multiboot_mod_LDFLAGS): Likewise.
24058
24059 * include/grub/i386/ieee1275/loader.h: New file.
24060
24061 * include/grub/i386/ieee1275/machine.h: Likewise.
24062
24063 * include/grub/i386/ieee1275/memory.h: Likewise.
24064
24065 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
24066 variable declaration.
24067 (grub_os_area_size): Likewise.
24068
24069 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
24070 (grub_lower_mem, grub_upper_mem): New variables.
24071 (grub_stop_floppy): New function (just to make
24072 grub_multiboot2_real_boot() happy).
24073
24074 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
24075 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
24076 (grub_stop): New function.
24077 Include `"../realmode.S"' and `"../loader.S"'.
24078
24079 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
24080 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
24081
24082 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
24083 rely on grub_multiboot2_real_boot() for final boot.
24084
25638629 240852008-01-22 Robert Millan <rmh@aybabtu.com>
24086
24087 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
24088 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
24089 device that doesn't look like an SD card.
24090 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
24091 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
24092 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
24093 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
24094 found.
24095
9dad816d 240962008-01-22 Robert Millan <rmh@aybabtu.com>
24097
24098 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
24099 avoid claiming over our own code.
24100
34842f2d 241012008-01-22 Bean <bean123ch@gmail.com>
24102
24103 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
24104 (jpeg_mod_SOURCES): New variable.
24105 (jpeg_mod_CFLAGS): Likewise.
24106 (jpeg_mod_LDFLAGS): Likewise.
24107
24108 * video/readers/jpeg.c : New file.
24109
44023a28 241102008-01-22 Bean <bean123ch@gmail.com>
24111
24112 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
24113 there are no more items.
24114
bc2d8ac6 241152008-01-21 Robert Millan <rmh@aybabtu.com>
24116
24117 * kern/mm.c (grub_mm_init_region): Improve debug message.
24118
261bd4bc 241192008-01-21 Robert Millan <rmh@aybabtu.com>
24120
24121 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
24122 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
24123 address.
24124 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
24125 a C macro.
24126 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
24127 Indicates start of upper memory.
24128 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
24129 (generate_image): Abort when image size is big enough to corrupt
24130 upper memory.
24131
24132 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
24133 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
24134 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24135 instead of hardcoding 0xA0000.
24136 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
24137 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24138 instead of hardcoding 0xA0000.
24139
f970b55e 241402008-01-21 Robert Millan <rmh@aybabtu.com>
24141
24142 * disk/memdisk.c (memdisk_size): New variable.
24143 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
24144 `memdisk_size'.
24145 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
24146 image to dynamic memory.
24147 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
24148 `memdisk_size'. Free memdisk block.
24149
1a8b0526 241502008-01-21 Robert Millan <rmh@aybabtu.com>
24151
24152 Fix detection of very small filesystems (like tar).
24153
24154 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
24155 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
24156 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
24157 a problem with this disk).
24158
6e9b4aab 241592008-01-21 Robert Millan <rmh@aybabtu.com>
24160
24161 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
24162 on grub_biosdisk_rw_standard() error.
24163
0d8837b2 241642008-01-21 Robert Millan <rmh@aybabtu.com>
24165
24166 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
24167 recent changes.
24168 * kern/elf.c: Likewise.
24169 * kern/ieee1275/ieee1275.c: Likewise.
24170 * kern/powerpc/ieee1275/openfw.c: Likewise.
24171 * term/ieee1275/ofconsole.c: Likewise.
24172
ffd36e34 241732008-01-21 Robert Millan <rmh@aybabtu.com>
24174
24175 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
24176
3f0093d0 24177 * include/grub/kernel.h (grub_arch_memdisk_addr)
24178 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 24179
3f0093d0 24180 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
24181 (grub_arch_memdisk_size): ... to here.
ffd36e34 24182
6c391b21 241832008-01-21 Robert Millan <rmh@aybabtu.com>
24184
24185 Mostly based on bugfix from Bean.
24186
24187 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
24188 attribute with hook() parameter.
24189 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
24190 declaration.
24191 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
24192 attribute with hook() parameter.
24193 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
24194 declaration.
24195
55a581dc 241962008-01-21 Robert Millan <rmh@aybabtu.com>
24197
24198 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
24199 (pkglib_MODULES): Add `memdisk.mod'.
24200 (memdisk_mod_SOURCES): New variable.
24201 (memdisk_mod_CFLAGS): Likewise.
24202 (memdisk_mod_LDFLAGS): Likewise.
24203
24204 * disk/memdisk.c: New file.
24205
24206 * include/grub/disk.h (grub_disk_dev_id): Add
24207 `GRUB_DISK_DEVICE_MEMDISK_ID'.
24208
24209 * include/grub/i386/pc/kernel.h
24210 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
24211 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
24212 (grub_kernel_image_size): New variable declaration.
24213 (grub_total_module_size): Likewise.
24214 (grub_memdisk_image_size): Likewise.
24215
24216 * include/grub/i386/pc/memory.h
24217 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
24218
24219 * include/grub/kernel.h: Include `<grub/symbol.h>'.
24220 (grub_arch_memdisk_addr): New variable declaration.
24221 (grub_arch_memdisk_size): Likewise.
24222
24223 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
24224 (grub_arch_memdisk_size): Likewise.
24225
24226 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
24227 (codestart): Replace hardcoded `0x100000' with
24228 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
24229
24230 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
24231 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
24232 not NULL, append the contents of the file it refers to, at the end of
24233 the compressed kernel image. Initialize `grub_memdisk_image_size'
24234 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
24235 (options): Add "memdisk"|'m' option.
24236 (main): Parse --memdisk|-m option, and pass user-provided path as
24237 parameter to generate_image().
24238
3d7f54c9 242392008-01-20 Robert Millan <rmh@aybabtu.com>
24240
24241 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
24242 grub_dprintf() calls from here ...
24243 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
24244
0bf74728 242452008-01-20 Robert Millan <rmh@aybabtu.com>
24246
24247 Fix detection of "real mode" when /options/real-mode? doesn't exist.
24248
24249 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
24250 declaration.
24251 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
24252 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
24253 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 24254 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 24255 property).
24256 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
24257 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
24258
33bf70a7 242592008-01-19 Robert Millan <rmh@aybabtu.com>
24260
fe6b695a 24261 Get rid of confusing function (superseded by
33bf70a7 24262 `grub_ieee1275_get_integer_property')
24263 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
24264 prototype.
24265 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
24266 function.
24267 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
24268 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 24269 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 24270
e2da7d26 242712008-01-19 Robert Millan <rmh@aybabtu.com>
24272
24273 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
24274 command after "shut-down", since implementations differ on which
24275 the command for halt is.
24276
59f1fd8d 242772008-01-19 Robert Millan <rmh@aybabtu.com>
24278
24279 * include/grub/i386/linuxbios/console.h: Add header protection.
24280 (grub_keyboard_controller_init): New function prototype.
24281 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
24282 (KEYBOARD_COMMAND_READ): Likewise.
24283 (KEYBOARD_COMMAND_WRITE): Likewise.
24284 (KEYBOARD_SCANCODE_SET1): Likewise.
24285 (grub_keyboard_controller_write): New function.
24286 (grub_keyboard_controller_read): Likewise.
24287 (grub_keyboard_controller_init): Likewise.
24288
24289 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
24290 (grub_console_init): On coreboot/LinuxBIOS, call
24291 grub_keyboard_controller_init().
24292
5f5a7c15 242932008-01-19 Robert Millan <rmh@aybabtu.com>
24294
24295 PowerPC changes provided by Pavel Roskin.
24296
24297 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
24298 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
24299 don't rely on cmain() doing it.
24300 * kern/i386/ieee1275/startup.S (_start): Store %eax in
24301 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
24302
1210e168 243032008-01-16 Robert Millan <rmh@aybabtu.com>
24304
24305 * include/grub/i386/linuxbios/memory.h
24306 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
24307 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
24308 receive `table_header' as argument. Instead, probe for it in the
24309 known memory ranges where it can be present.
24310 (grub_available_iterate): Do not pass a fixed `table_header' address
24311 to grub_linuxbios_table_iterate().
24312
3d04eab8 243132008-01-15 Robert Millan <rmh@aybabtu.com>
24314
24315 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
24316 * conf/i386-ieee1275.rmk: New file.
24317 * include/grub/i386/ieee1275/console.h: Likewise.
24318 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
24319 * include/grub/i386/ieee1275/kernel.h: Likewise.
24320 * include/grub/i386/ieee1275/time.h: Likewise.
24321 * kern/i386/ieee1275/init.c: Likewise.
24322 * kern/i386/ieee1275/startup.S: Likewise.
24323
d1bc1b73 243242008-01-15 Robert Millan <rmh@aybabtu.com>
24325
24326 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
24327 when pointers are 32-bit (but still do set it to one when they are
24328 64-bit).
24329
66a65807 243302008-01-15 Robert Millan <rmh@aybabtu.com>
24331
24332 * include/grub/ieee1275/ieee1275.h
24333 (grub_ieee1275_get_integer_property): New function prototype.
24334
24335 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
24336 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 24337 grub_ieee1275_get_property() to handle endianness.
66a65807 24338
24339 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
24340 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 24341 where appropriate.
66a65807 24342 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
24343 (grub_map): Likewise.
24344 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
24345
a83ccafd 243462008-01-15 Bean <bean123ch@gmail.com>
24347
24348 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
24349 (grub_script_execute_cmdline): Reset grub_errno.
24350
24351 * normal/main.c (read_config_file): Reset grub_errno.
24352
24353 * normal/parse.y (script_init): New.
24354 (script): Move function and menuentry here.
24355 (delimiter): New.
24356 (command): Add delimiter at the end of command.
24357 (commands): Adjust to match the new command.
24358 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 24359 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 24360 (if): Use the new commands.
24361
24362 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
24363
df6ecfc6 243642008-01-15 Robert Millan <rmh@aybabtu.com>
24365
24366 * normal/menu.c (run_menu): Move timeout message from here ...
24367 (print_timeout): ... to here.
24368 (run_menu): Use print_timeout() once during initial draw to print
24369 the whole message, and again in every clock tick to update only
24370 the number of seconds.
24371
87ae25eb 243722008-01-15 Robert Millan <rmh@aybabtu.com>
24373
24374 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
24375 actual size of `available' from grub_ieee1275_get_property(), and
24376 restrict parsing to that bound.
24377
47bf09a4 243782008-01-15 Christian Franke <franke@computer.org>
24379
24380 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
24381 (argp_program_version): Remove variable.
24382 (argp_program_bug_address): Likewise.
24383 (options): Convert from struct argp_option to struct option.
24384 (struct arguments): Remove.
24385 (parse_opt): Remove.
24386 (usage): New function.
24387 (main): Replace struct args members by simple variables.
24388 Replace argp_parse() by getopt_long().
24389 Add switch to evaluate options.
24390 Add missing "(...)" around root_dev in prefix string.
24391
c86f1469 243922008-01-14 Robert Millan <rmh@aybabtu.com>
24393
24394 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
24395 for grub_ieee1275_exit(), in order to improve portability.
24396
e622c559 243972008-01-14 Robert Millan <rmh@aybabtu.com>
24398
24399 * util/grub.d/10_linux.in (prefix): Define.
24400 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
24401
44cb1ec8 244022008-01-13 Pavel Roskin <proski@gnu.org>
24403
24404 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
24405 grub_errno if no errors have been detected.
24406
1eb8c802 244072008-01-12 Robert Millan <rmh@aybabtu.com>
24408
24409 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
24410 (grub_util_get_dev_abstraction): New function prototype.
24411
24412 * util/getroot.c: Include `<grub/util/getroot.h>'
24413 (grub_util_get_grub_dev): Move detection of abstraction type to ...
24414 (grub_util_get_dev_abstraction): ... here (new function).
24415
24416 * util/grub-probe.c: Convert PRINT_* to an enum. Add
24417 `PRINT_ABSTRACTION'.
24418 (probe): Probe for abstraction type when requested.
24419 (main): Understand `--target=abstraction'.
24420
24421 * util/i386/efi/grub-install.in: Add abstraction module to core
24422 image when it is found to be necessary.
24423 * util/i386/pc/grub-install.in: Likewise.
24424 * util/powerpc/ieee1275/grub-install.in: Likewise.
24425
24426 * util/update-grub_lib.in (font_path): Return system path without
24427 converting to GRUB path.
24428 * util/update-grub.in: Convert system path returned by font_path()
24429 to a GRUB path. Use `grub-probe -t abstraction' to determine what
24430 abstraction module is needed for loading fonts (if any). Export
24431 that as `GRUB_PRELOAD_MODULES'.
24432 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
24433 insmod commands).
24434
52bd3de9 244352008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
24436
24437 Remove some unused code from reiserfs.
f19dbdb7 24438
52bd3de9 24439 * fs/reiserfs.c (struct grub_reiserfs_key)
24440 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
24441 (struct grub_reiserfs_node_body): Removed.
24442 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24443 Likewise.
24444 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24445 Likewise.
24446 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24447 Likewise.
24448 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24449 Likewise.
24450 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24451 Likewise.
24452 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
24453 Likewise.
24454 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24455 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24456 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24457
2f80039d 244582008-01-10 Robert Millan <rmh@aybabtu.com>
24459
24460 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
24461 Determines if a file is garbage left by packaging systems, etc.
24462 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
24463 for processing /etc/grub.d scripts.
24464 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
24465 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
24466 as a condition for processing Linux images.
24467
87888032 244682008-01-10 Pavel Roskin <proski@gnu.org>
24469
24470 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
24471 to compile reiserfs.c on PowerPC.
24472
7e54fced 244732008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 24474
24475 * kern/device.c (grub_device_iterate): Do not abort device iteration
24476 when one of the devices cannot be opened.
24477 * kern/disk.c (grub_disk_open): Do not account previous failures of
24478 unrelated functions when grub_errno is checked for.
24479
5aa541e6 244802008-01-08 Robert Millan <rmh@aybabtu.com>
24481
24482 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
24483 `! grub_linux_is_bzimage', change order of address comparison to make
24484 it more intuitive, and improve "too big zImage" error message.
24485
7076340d 244862008-01-08 Robert Millan <rmh@aybabtu.com>
24487
24488 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
24489 `$(update-grub_DATA)'.
24490 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
24491 targets.
24492
9ca70333 244932008-01-07 Robert Millan <rmh@aybabtu.com>
24494
24495 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
24496 which instruction is modified by grub-setup during installation
24497 (since it wasn't obvious by only looking at this file).
24498
38ccf575 244992008-01-07 Robert Millan <rmh@aybabtu.com>
24500
24501 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
24502 listing actual TODO items.
24503
f5db4291 245042008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24505
868967cf 24506 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
24507 correctly.
24508 (grub_reiserfs_get_key_offset): Likewise.
24509 (grub_reiserfs_set_key_offset): Likewise.
24510 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 24511 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 24512
24513 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
24514 better to remove the bitfield version completely.
f19dbdb7 24515
868967cf 245162008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24517
f5db4291 24518 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
24519 allocated from the heap, due to the fshelp implementation.
24520 (grub_reiserfs_dir): Free NODE, due to the same reason.
24521
492e6d9d 245222008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24523
24524 Mostly from Vincent Pelletier:
f19dbdb7 24525
492e6d9d 24526 * fs/reiserfs.c: New file.
f19dbdb7 24527
492e6d9d 24528 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
24529 (reiserfs_mod_SOURCES): New variable.
24530 (reiserfs_mod_CFLAGS): Likewise.
24531 (reiserfs_mod_LDFLAGS): Likewise.
24532
24533 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
24534 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
24535 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
24536 normal/color.c.
24537
9ce3e7c1 245382008-01-06 Robert Millan <rmh@aybabtu.com>
24539
24540 * normal/color.c: Remove `<grub/env.h>'.
24541
f3b58148 245422008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
24543
24544 * include/grub/normal.h: Include <grub/env.h>.
24545
7ac3bcfa 245462008-01-05 Robert Millan <rmh@aybabtu.com>
24547
24548 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
24549 usage example with `(hd0,1)'.
fb358190 24550 Reported by Samuel Thibault.
7ac3bcfa 24551
c8ee99d7 245522008-01-05 Robert Millan <rmh@aybabtu.com>
24553
24554 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
24555 (grub_linux_boot_zimage): Rename to ...
24556 (grub_linux_boot): ... this.
24557 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
24558 (grub_linux_boot_zimage): Conditionalize zImage copy.
24559
24560 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
24561 (grub_linux_boot_bzimage): Remove prototype.
24562 (grub_linux_boot_zimage): Rename to ...
24563 (grub_linux_boot): ... this.
24564
24565 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
24566 (grub_linux_boot): Remove function.
24567
0ece25b1 245682008-01-05 Robert Millan <rmh@aybabtu.com>
24569
24570 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
24571 (grub_env_write_color_highlight): Likewise.
24572 (grub_wait_after_message): Likewise.
24573
24574 * normal/color.c: New file.
24575
24576 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24577 (normal_mod_DEPENDENCIES): Likewise.
24578
24579 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24580 (normal_mod_DEPENDENCIES): Likewise.
24581
24582 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24583 (normal_mod_DEPENDENCIES): Likewise.
24584
24585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24586 (normal_mod_DEPENDENCIES): Likewise.
24587
24588 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
24589 for waiting after a message is printed.
24590 * normal/main.c (read_config_file): Likewise.
24591 (grub_normal_init): Register grub_env_write_color_normal() and
24592 grub_env_write_color_highlight() hooks. Mark `color_normal' and
24593 `color_highlight' variables as global.
24594
24595 * normal/menu.c (grub_wait_after_message): New function.
24596 (grub_color_menu_normal): New variable. Replaces ...
24597 (GRUB_COLOR_MENU_NORMAL): ... this macro.
24598 (grub_color_menu_highlight): New variable. Replaces ...
24599 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
24600 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
24601 `GRUB_TERM_COLOR_STANDARD'.
24602 (print_message): Use `grub_setcolorstate' to reload colors. Rename
24603 `normal_code' and `highlight_code' to `old_color_normal' and
24604 `old_color_highlight', respectively.
24605 (grub_menu_init_page): Update colors when drawing the menu, based on
24606 `menu_color_normal' and `menu_color_highlight' variables.
24607 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
24608 a message is printed.
24609
182dd4e5 246102008-01-05 Robert Millan <rmh@aybabtu.com>
24611
24612 * kern/env.c (grub_env_context_open): Propagate hooks for global
24613 variables to new context.
24614
24615 * kern/main.c (grub_set_root_dev): Export `root' variable.
24616
ddf8f6ad 246172008-01-05 Robert Millan <rmh@aybabtu.com>
24618
24619 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 24620 discs unconditionally, since udev and others have options to provide
ddf8f6ad 24621 them.
24622
d8b43d9b 246232008-01-05 Robert Millan <rmh@aybabtu.com>
24624
24625 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
24626
2bff2de3 246272008-01-04 Christian Franke <franke@computer.org>
24628
24629 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
24630 of eisa_mmap.
24631
97eab917 246322008-01-03 Pavel Roskin <proski@gnu.org>
24633
24634 * kern/i386/linuxbios/init.c: Put "void" to all function
24635 declarations with no arguments.
24636 * kern/powerpc/ieee1275/init.c: Likewise.
24637 * term/i386/pc/at_keyboard.c: Likewise.
24638 * term/i386/pc/vga_text.c: Likewise.
24639 * util/grub-mkdevicemap.c: Likewise.
24640
b9416d00 246412008-01-02 Robert Millan <rmh@aybabtu.com>
24642
24643 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
24644 message when loaded image is out of bounds.
24645 (grub_multiboot_load_elf64): Likewise.
24646
92695df9 246472008-01-02 Pavel Roskin <proski@gnu.org>
24648
24649 * util/grub.d/10_linux.in: Try version without ".old" when
24650 looking for initrd. It's better to use initrd from the newer
24651 kernel of the same version than no initrd at all.
24652
d98d9cad 246532008-01-01 Robert Millan <rmh@aybabtu.com>
24654
24655 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
24656
dbfdce36 246572008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
24658
f19dbdb7 24659 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 24660 grub_video_get_active_render_target.
24661 (grub_video_adapter): Added unmap_color and get_active_render_target.
24662
f19dbdb7 24663 * video/video.c: Added grub_video_unmap_color and
dbfdce36 24664 grub_video_get_active_render_target.
24665 (grub_video_get_info): Changed method to accept NULL pointer as an
24666 argument to allow detection of active video adapter.
24667
24668 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
24669 grub_video_vbe_unmap_color_int.
24670 Added grub_video_vbe_unmap_color and
24671 grub_video_vbe_get_active_render_target.
24672 (grub_video_vbe_adapter): Added unmap_color and
24673 get_active_render_target.
24674
f19dbdb7 24675 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 24676 with grub_video_vbe_unmap_color_int.
24677
24678 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
24679 (DEFAULT_NORMAL_COLOR): Likewise.
24680 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
24681 (DEFAULT_FG_COLOR): Removed.
24682 (DEFAULT_BG_COLOR): Likewise.
24683 (DEFAULT_CURSOR_COLOR): Changed value.
24684 (grub_virtual_screen): Added standard_color_setting,
24685 normal_color_setting, highlight_color_setting and term_color.
24686 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
24687 (bitmap_width): Added.
24688 (bitmap_height): Likewise.
24689 (bitmap): Likewise.
24690 (set_term_color): Likewise.
24691 (grub_virtual_screen_setup): Changed to use new terminal coloring
24692 settings.
24693 (grub_gfxterm_init): Added init for bitmap.
24694 (grub_gfxterm_fini): Added destroy for bitmap.
24695 (redraw_screen_rect): Updated to use background bitmap and new
24696 terminal coloring.
24697 (scroll_up): Added optimization for case when there is no bitmap.
24698 (grub_gfxterm_cls): Fixed to use correct background color.
24699 (grub_virtual_screen_setcolorstate): Changed to use new terminal
24700 coloring.
24701 (grub_virtual_screen_setcolor): Likewise.
24702 (grub_virtual_screen_getcolor): Added.
24703 (grub_gfxterm_background_image_cmd): Likewise.
24704 (grub_video_term): Added setcolor and getcolor.
24705 (MOD_INIT): Added registration of background_image command.
24706 (MOD_TERM): Added unregistration for background_image command.
24707
c3c20931 247082007-12-30 Pavel Roskin <proski@gnu.org>
24709
24710 * loader/multiboot_loader.c: Fix multiboot command
24711 unregistration. Fix all typos in the word "multiboot".
24712
df266716 247132007-12-29 Pavel Roskin <proski@gnu.org>
94239199 24714
24715 * util/grub.d/10_linux.in: Refactor search for initrd. Add
24716 support for initrd names used in Fedora.
24717
fc6e896c 247182007-12-26 Bean <bean123ch@gmail.com>
24719
24720 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
24721 (cpio_mod_SOURCES): New variable.
24722 (cpio_mod_CFLAGS): Likewise.
24723 (cpio_mod_LDFLAGS): Likewise.
24724
24725 * fs/cpio.c: New file.
24726
24727 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
24728
24729 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24730
24731 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24732
24733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24734
533110ad 247352007-12-25 Robert Millan <rmh@aybabtu.com>
24736
24737 * include/grub/term.h (struct grub_term): Add `getcolor' function.
24738 (grub_getcolor): New function.
24739
24740 * kern/term.c (grub_getcolor): New function.
24741 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
24742 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
24743 (print_entry): Set normal and highlight colors to
24744 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
24745 respectively, before printing and restore them to old
24746 values afterwards.
24747 (grub_menu_init_page): Likewise. Fill an additional colored space
24748 that would otherwise be left blank.
24749
24750 * term/efi/console.c (grub_console_getcolor): New function.
24751 (struct grub_console_term.getcolor): New variable.
24752 * term/i386/pc/console.c (grub_console_getcolor): New function.
24753 (struct grub_console_term.getcolor): New variable.
24754 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
24755 (struct grub_console_term.getcolor): New variable.
24756
24757 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
24758 (struct grub_console_term.setcolor): Remove variable.
24759 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
24760 (struct grub_console_term.setcolor): Remove variable.
24761 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
24762 (struct grub_console_term.setcolor): Remove variable.
24763 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
24764 (struct grub_console_term.setcolor): Remove variable.
24765
4931827f 247662007-12-25 Robert Millan <rmh@aybabtu.com>
24767
24768 * configure.ac: Search for possible unifont.hex locations, and
24769 define UNIFONT_HEX if found.
24770
24771 * Makefile.in (UNIFONT_HEX): Define variable.
24772 (DATA): Rename to ...
24773 (PKGLIB): ... this. Update all users.
24774 (PKGDATA): New variable.
24775 (pkgdata_IMAGES): Rename to ...
24776 (pkglib_IMAGES): ... this. Update all users.
24777 (pkgdata_MODULES): Rename to ...
24778 (pkglib_MODULES): ... this. Update all users.
24779 (pkgdata_PROGRAMS): Rename to ...
24780 (pkglib_PROGRAMS): ... this. Update all users.
24781 (pkgdata_DATA): Rename to ...
24782 (pkglib_DATA): ... this. Update all users.
24783 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
24784 (unicode.pff, ascii.pff): New rules.
24785 (all-local): Add `$(PKGDATA)' dependency.
24786 (install-local): Process `$(PKGDATA)'.
24787
24788 * util/update-grub_lib.in (font_path): Search for *.pff files in
24789 a few more locations, including `${pkgdata}'.
24790
57e57e31 247912007-12-23 Robert Millan <rmh@aybabtu.com>
24792
24793 Patch from Bean <bean123ch@gmail.com>:
24794 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
24795 `size'.
24796
4bc72aa9 247972007-12-21 Bean <bean123ch@gmail.com>
24798
24799 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
24800 (ntfscomp_mod_SOURCES): New variable.
24801 (ntfscomp_mod_CFLAGS): Likewise.
24802 (ntfscomp_mod_LDFLAGS): Likewise.
24803
24804 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
24805 (grub_probe_SOURCES): Likewise.
24806 (grub_emu_SOURCES): Likewise.
24807
24808 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24809 (grub_emu_SOURCES): Likewise.
24810
24811 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24812 (grub_emu_SOURCES): Likewise.
24813
24814 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24815 (grub_emu_SOURCES): Likewise.
24816
24817 * fs/ntfs.c (grub_ntfscomp_func): New variable.
24818 (read_run_list): Renamed to grub_ntfs_read_run_list.
24819 (decomp_nextvcn): Moved to ntfscomp.c.
24820 (decomp_getch): Likewise.
24821 (decomp_get16): Likewise.
24822 (decomp_block): Likewise.
24823 (read_block): Likewise.
24824 (read_data): Partially moved to ntfscomp.c.
24825 (fixup): Change unsigned to grub_uint16_t.
24826 (read_mft): Change unsigned long to grub_uint32_t.
24827 (read_attr): Likewise.
24828 (read_data): Likewise.
24829 (read_run_data): Likewise.
24830 (read_run_list): Likewise.
24831 (read_mft): Likewise.
24832
24833 * fs/ntfscomp.c: New file.
24834
24835 * include/grub/ntfs.h: New file.
24836
af680a87 248372007-12-16 Robert Millan <rmh@aybabtu.com>
24838
24839 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
24840 IDE disk check, since Linux is known to support 20 IDE disks.
24841 Reported by Colin Watson.
24842
84be7599 248432007-12-15 Bean <bean123ch@gmail.com>
24844
24845 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
24846 (lnxboot_img_SOURCES): New variable.
24847 (lnxboot_img_ASFLAGS): Likewise.
24848 (lnxboot_img_LDFLAGS): Likewise.
24849
24850 * boot/i386/pc/lnxboot.S: New file.
24851
6af9db01 248522007-11-24 Pavel Roskin <proski@gnu.org>
24853
24854 * configure.ac: Test if '--build-id=none' is supported by the
24855 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
24856 objcopy to generate incorrect binary files (binutils
24857 2.17.50.0.18-1 as shipped by Fedora 8).
24858 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
24859 linking, so that build ID doesn't break the test.
24860
7361cfe6 248612007-11-24 Pavel Roskin <proski@gnu.org>
24862
24863 * include/grub/i386/time.h: use "void" in the argument list
24864 of grub_cpu_idle().
24865 * include/grub/powerpc/time.h: Likewise.
24866 * include/grub/sparc64/time.h: Likewise.
24867
1593e10c 248682007-11-18 Christian Franke <franke@computer.org>
24869
24870 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
24871 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
24872 This fixes the problem that function keys did not work in grub-emu.
24873
3b8db1a8 248742007-11-18 Christian Franke <franke@computer.org>
24875
24876 * disk/host.c (grub_host_open): Remove attribute unused from
24877 name parameter. Add check for "host". This fixes the problem
24878 that grub-emu does not find partitions.
24879
2e29408d 248802007-11-18 Christian Franke <franke@computer.org>
24881
24882 * util/hostfs.c (is_dir): New function.
24883 (grub_hostfs_dir): Handle missing dirent.d_type case.
24884 (grub_hostfs_read): Add missing fseek().
24885 (grub_hostfs_label): Clear label pointer. This fixes a crash
24886 of grub-emu on "ls (host)".
24887
398cd047 248882007-11-18 Christian Franke <franke@computer.org>
24889
24890 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
24891 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
24892 to 64 bit boundary by default.
24893
c405c391 248942007-11-18 Bean <bean123ch@gmail.com>
24895
24896 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
24897 (hexdump_mod_SOURCES): New variable.
24898 (hexdump_mod_CFLAGS): Likewise.
24899 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 24900
c405c391 24901 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24902
24903 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24904
24905 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24906
24907 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24908
24909 * include/grub/hexdump.h: New file.
24910
24911 * commands/hexdump.c: New file.
24912
5cced7fd 249132007-11-10 Robert Millan <rmh@aybabtu.com>
24914
24915 * commands/i386/pc/play.c (beep_off): Switch order of arguments
24916 in grub_outb() calls.
24917 (beep_on): Likewise.
24918
8b714eb0 249192007-11-10 Christian Franke <franke@computer.org>
24920
24921 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
24922 (grub_menu_run): Likewise.
24923
ce0f1839 249242007-11-10 Robert Millan <rmh@aybabtu.com>
24925
24926 * include/grub/i386/efi/machine.h: New file.
24927 * include/grub/i386/linuxbios/machine.h: Likewise.
24928 * include/grub/i386/pc/machine.h: Likewise.
24929 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24930 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24931
24932 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
24933 (serial_hw_io_addr): New variable.
24934 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
24935 instead of `(unsigned short *) 0x400'.
24936
270c237d 249372007-11-10 Bean <bean123ch@gmail.com>
24938
24939 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
24940
a87783bf 249412007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24942
24943 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
24944 (vga_mod_SOURCES): Added.
24945 (vga_mod_CFLAGS): Likewise.
24946 (vga_mod_LDFLAGS): Likewise.
24947
24948 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
24949 grub_outb() calls.
24950 (set_map_mask): Likewise.
24951 (set_read_map): Likewise.
24952 (set_read_address): Likewise.
24953 (vga_font): Removed variable.
24954 (get_vga_glyph): Removed function.
24955 (invalidate_char): Likewise.
24956 (write_char): Changed to use grub_font_get_glyph() for font
24957 information.
24958 (grub_vga_putchar): Likewise.
24959 (grub_vga_getcharwidth): Likewise.
24960
6433b448 249612007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24962
24963 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
24964 flags.
24965 (pxeboot_img_LDFLAGS): Likewise.
24966 (diskboot_img_LDFLAGS): Likewise.
24967 (kernel_img_LDFLAGS): Likewise.
24968
49178511 249692007-11-06 Robert Millan <rmh@aybabtu.com>
24970
24971 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
24972 in grub_outb() calls.
24973 (serial_hw_init): Likewise.
24974
53b052de 249752007-11-05 Robert Millan <rmh@aybabtu.com>
24976
24977 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
24978 spaces. Skip non-regular files.
24979
5ab33bba 249802007-11-05 Robert Millan <rmh@aybabtu.com>
24981
24982 * kern/disk.c (grub_disk_firmware_fini)
24983 (grub_disk_firmware_is_tainted): New variables.
24984
24985 * include/grub/disk.h (grub_disk_firmware_fini)
24986 (grub_disk_firmware_is_tainted): Likewise.
24987
24988 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
24989 (grub_disk_biosdisk_fini): ... to here.
24990 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
24991 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
24992 is set. Register grub_disk_biosdisk_fini() in
24993 `grub_disk_firmware_fini'.
24994
24995 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
24996 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
24997 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
24998 to finish existing firmware disk interface.
24999
25000 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
25001 (ata_mod_SOURCES): New variable.
25002 (ata_mod_CFLAGS): Likewise.
25003 (ata_mod_LDFLAGS): Likewise.
25004
0149ab7c 250052007-11-05 Robert Millan <rmh@aybabtu.com>
25006
25007 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
25008 (grub_ata_wait): Reimplement using grub_millisleep().
25009
25010 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
25011 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
25012
be7ac41e 250132007-11-03 Marco Gerards <marco@gnu.org>
25014
25015 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
25016 (CRTC_ADDR_PORT): New macro.
25017 (CRTC_DATA_PORT): Likewise.
25018 (CRTC_CURSOR): Likewise.
25019 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25020 (CRTC_CURSOR_ADDR_LOW): Likewise.
25021 (update_cursor): New function.
25022 (grub_console_real_putchar): Call `update_cursor'.
25023 (grub_console_gotoxy): Likewise.
25024 (grub_console_cls): Set the default color when clearing the
25025 screen.
25026 (grub_console_setcursor): Implemented.
25027
bb06ab2e 250282007-11-03 Marco Gerards <marco@gnu.org>
25029
25030 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
25031 become activate.
25032 (grub_ata_pio_write): Likewise.
25033
25034 (grub_atapi_identify): Wait after issuing an ATA command.
25035 (grub_atapi_packet): Likewise.
25036 (grub_ata_identify): Likewise.
25037 (grub_ata_readwrite): Likewise.
25038
cf8f780b 250392007-11-03 Marco Gerards <marco@gnu.org>
25040
25041 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
25042 (grub_ata_pio_write): Likewise.
25043 (grub_ata_readwrite): Use `grub_error', instead of
25044 returning `grub_errno'.
25045
ed649e54 250462007-11-03 Marco Gerards <marco@gnu.org>
25047
25048 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
25049 grub_ata_pio_write once for every single sector, instead of for
25050 multiple sectors.
25051
ca25d8f0 250522007-10-31 Robert Millan <rmh@aybabtu.com>
25053
25054 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
25055
25056 * conf/i386-linuxbios.rmk: New file.
25057
25058 * kern/i386/pc/hardware.c: Likewise.
25059 * term/i386/pc/at_keyboard.c: Likewise.
25060 * term/i386/pc/vga_text.c: Likewise.
25061
25062 * include/grub/i386/linuxbios/boot.h: Likewise.
25063 * include/grub/i386/linuxbios/console.h: Likewise.
25064 * include/grub/i386/linuxbios/init.h: Likewise.
25065 * include/grub/i386/linuxbios/kernel.h: Likewise.
25066 * include/grub/i386/linuxbios/loader.h: Likewise.
25067 * include/grub/i386/linuxbios/memory.h: Likewise.
25068 * include/grub/i386/linuxbios/serial.h: Likewise.
25069 * include/grub/i386/linuxbios/time.h: Likewise.
25070
25071 * kern/i386/linuxbios/init.c: Likewise.
25072 * kern/i386/linuxbios/startup.S: Likewise.
25073 * kern/i386/linuxbios/table.c: Likewise.
25074
e911ecc1 250752007-10-31 Marco Gerards <marco@gnu.org>
25076
25077 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
25078 (ata_mod_SOURCES): New variable.
25079 (ata_mod_CFLAGS): Likewise.
25080 (ata_mod_LDFLAGS): Likewise.
25081
25082 * disk/ata.c: New file.
25083
25084 * include/grub/disk.h (grub_disk_dev_id): Add
25085 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 25086
7f66d0e0 250872007-10-31 Robert Millan <rmh@aybabtu.com>
25088
25089 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
25090 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
25091
25092 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
25093 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
25094
25095 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
25096 `<grub/types.h>'.
25097
25098 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
25099
5cd7dd46 251002007-10-27 Robert Millan <rmh@aybabtu.com>
25101
3236ca65 25102 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 25103
2ebfc90f 251042007-10-22 Robert Millan <rmh@aybabtu.com>
25105
25106 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
25107 `"../realmode.S"'.
25108 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
25109
73fcb0f3 251102007-10-22 Robert Millan <rmh@aybabtu.com>
25111
25112 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
25113 (pkgdata_MODULES): Add `biosdisk.mod'.
25114 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
25115 variables.
25116
25117 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
25118 (grub_biosdisk_init): Replace with ...
25119 (GRUB_MOD_INIT(biosdisk)): ... this.
25120 (grub_biosdisk_fini): Replace with ...
25121 (GRUB_MOD_FINI(biosdisk)): ... this.
25122
25123 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
25124 (grub_machine_init): Remove call to grub_biosdisk_init().
25125 (grub_machine_fini): Remove call to grub_machine_fini().
25126
25127 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
25128
3381d274 251292007-10-22 Robert Millan <rmh@aybabtu.com>
25130
25131 * include/grub/time.h: New file.
25132 * include/grub/i386/time.h: Likewise.
25133 * include/grub/powerpc/time.h: Likewise.
25134 * include/grub/sparc64/time.h: Likewise.
25135
25136 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
25137 instances to ...
25138 (KERNEL_MACHINE_TIME_HEADER): ... this.
25139 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25140 instances to ...
25141 (KERNEL_MACHINE_TIME_HEADER): ... this.
25142 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25143 instances to ...
25144 (KERNEL_MACHINE_TIME_HEADER): ... this.
25145
25146 * kern/i386/efi/init.c: Include `<grub/time.h>'.
25147 (grub_millisleep): New function.
25148 * kern/i386/pc/init.c: Include `<grub/time.h>'.
25149 (grub_millisleep): New function.
25150 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
25151 Remove `grub/machine/time.h' include.
25152 (grub_millisleep): New function.
25153 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
25154 Remove `grub/machine/time.h' include.
25155 (grub_millisleep): New function.
25156
25157 * include/grub/misc.h (grub_div_roundup): New function.
25158
25159 * kern/misc.c: Include `<grub/time.h>'.
25160 (grub_millisleep_generic): New function.
25161
25162 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
25163 Add `time.h'.
25164 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
25165 Add `time.h'.
25166 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
25167 `machine/time.h'. Add `time.h'.
25168 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25169
a39a0312 251702007-10-21 Robert Millan <rmh@aybabtu.com>
25171
25172 * include/grub/misc.h (grub_max): New function.
25173
2aad70e2 251742007-10-21 Robert Millan <rmh@aybabtu.com>
25175
25176 * util/misc.c (grub_util_info): Call fflush() before returning.
25177
54b71c4b 251782007-10-20 Robert Millan <rmh@aybabtu.com>
25179
25180 * genmk.rb (Image): Copy `extra_flags' from here ...
25181 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
25182
25183 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
25184 to `argc' and `args' arguments.
25185
a979f513 251862007-10-17 Robert Millan <rmh@aybabtu.com>
25187
25188 * kern/i386/loader.S: New file.
25189
25190 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
25191 * kern/i386/loader.S (grub_linux_prot_size)... to here.
25192 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
25193 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
25194 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
25195 * kern/i386/loader.S (grub_linux_real_addr)... to here.
25196 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
25197 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
25198 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
25199 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
25200 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
25201 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
25202 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
25203 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
25204
25205 * kern/i386/realmode.S: New file.
25206
25207 * kern/i386/pc/startup.S (protstack): Moved from here ...
25208 * kern/i386/realmode.S (protstack)... to here.
25209 * kern/i386/pc/startup.S (gdt): Moved from here ...
25210 * kern/i386/realmode.S (gdt)... to here.
25211 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
25212 * kern/i386/realmode.S (prot_to_real)... to here.
25213
25214 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
25215 `kern/i386/realmode.S'.
25216
825fc8fd 252172007-10-17 Robert Millan <rmh@aybabtu.com>
25218
25219 * include/grub/i386/loader.h: New file.
25220
25221 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
25222 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25223 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25224 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25225 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
25226 * include/grub/i386/loader.h (grub_linux_prot_size)
25227 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25228 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25229 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25230 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
25231
25232 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
25233
e179b2f4 252342007-10-15 Robert Millan <rmh@aybabtu.com>
25235
25236 * normal/misc.c (grub_normal_print_device_info): Do not probe for
25237 filesystem when dev->disk is unset.
25238 Do probe for filesystem even when dev->disk->has_partitions is set.
25239 In case a filesystem is found, always report it.
25240 In case it isn't, if dev->disk->has_partitions is set, report that
25241 a partition table was found instead of reporting that no filesystem
25242 could be identified.
25243
5db82af6 252442007-10-12 Robert Millan <rmh@aybabtu.com>
25245
25246 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
25247 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
25248
68f6ac74 25249 * include/grub/types.h (grub_host_to_target16): New macro.
25250 (grub_host_to_target32): Likewise.
25251 (grub_host_to_target64): Likewise.
25252 (grub_target_to_host16): Likewise.
25253 (grub_target_to_host32): Likewise.
25254 (grub_target_to_host64): Likewise.
5db82af6 25255
25256 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25257 Renamed from to ...
25258 (GRUB_MOD_ALIGN): ...this. Update all users.
25259
68f6ac74 25260 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
25261 grub_host_to_target32.
25262 Replace grub_be_to_cpu32 with grub_target_to_host32.
25263 (load_modules): Likewise.
25264 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
25265 Replace grub_be_to_cpu32 with grub_target_to_host32.
25266 Replace grub_cpu_to_be16 with grub_host_to_target16.
25267 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 25268
3cf497cc 252692007-10-12 Robert Millan <rmh@aybabtu.com>
25270
25271 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
25272 * util/elf/grub-mkimage.c: ... here.
25273
25274 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
25275 `util/powerpc/ieee1275/grub-mkimage.c'.
25276
c8cc3692 252772007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 25278
c8cc3692 25279 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
25280 and make it easier to figure out.
25281 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
25282 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
25283 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
25284 leave us with less than HEAP_MIN_SIZE total heap.
25285 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 25286
5c58b791 252872007-10-03 Robert Millan <rmh@aybabtu.com>
25288
25289 * include/grub/i386/io.h: New file.
25290 * commands/i386/pc/play.c (inb): Removed.
25291 (outb): Removed.
25292 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25293 with grub_outb().
afcd2ef8 25294 * term/i386/pc/serial.c (inb): Removed.
25295 (outb): Removed.
25296 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25297 with grub_outb().
25298 * term/i386/pc/vga.c (inb): Removed.
25299 (outb): Removed.
25300 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25301 with grub_outb().
5c58b791 25302
1a477ed6 253032007-10-02 Robert Millan <rmh@aybabtu.com>
25304
25305 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
25306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25307 Reported by Marcin Kurek.
25308
6b5d80fa 253092007-09-07 Robert Millan <rmh@aybabtu.com>
25310
25311 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
25312 SmartFirmware version updates (as released by Sven Luther), and avoid
25313 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
25314 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
25315 known broken.
25316
5618afbf 253172007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25318
25319 From Hitoshi Ozeki:
25320 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
25321 when merging two regions.
25322
6139dcd9 253232007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25324
508e39ee 25325 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
25326 * normal/completion.c (grub_normal_do_completion): Likewise.
25327 Reported by Hitoshi Ozeki.
25328
253292007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25330
6139dcd9 25331 Do not use devices at boot in chainloading.
f19dbdb7 25332
6139dcd9 25333 * loader/i386/pc/chainloader.c (boot_drive): New variable.
25334 (boot_part_addr): Likewise.
25335 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
25336 with BOOT_DRIVE and BOOT_PART_ADDR.
25337 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
25338 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
25339
38da6516 253402007-08-29 Robert Millan <rmh@aybabtu.com>
25341
25342 Patch from Simon Peter <dn.tlp@gmx.net>:
25343 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
25344 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
25345 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
25346 util/i386/pc/grub-setup.c_DEPENDENCIES.
25347 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
25348 util/grub-probe.c_DEPENDENCIES.
25349 * conf/powerpc-ieee1275.rmk: Likewise.
25350
29d0928c 253512007-08-28 Robert Millan <rmh@aybabtu.com>
25352
25353 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
25354 to tell grub-mkdevicemap how to name devices.
25355 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
25356 feature).
25357
25358 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
25359 util/i386/get_disk_name.c.
25360 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
25361 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
25362 util/ieee1275/get_disk_name.c.
25363
25364 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
25365
25366 * DISTLIST: Add util/i386/get_disk_name.c and
25367 util/ieee1275/get_disk_name.c.
25368
25369 * util/grub-mkdevicemap.c: Replace device naming logic with
25370 grub_util_get_disk_name() calls.
25371
5a0d3cca 253722007-08-20 Robert Millan <rmh@aybabtu.com>
25373
25374 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
25375 (so that it works for both plural and singular quantities).
25376
8b72db2f 253772007-08-05 Robert Millan <rmh@aybabtu.com>
25378
25379 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
25380 so that [xz] isn't taken into account when determining order.
25381
352466bf 253822007-08-02 Marco Gerards <marco@gnu.org>
25383
25384 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
25385 `include/multiboot2.h', `include/grub/elfload.h',
25386 `include/multiboot.h', `include/grub/multiboot.h',
25387 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
25388 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
25389 `kern/elf.c', `loader/multiboot_loader.c',
25390 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
25391 `loader/i386/pc/multiboot2.c',
25392 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
25393 `util/i386/pc/grub-mkrescue.in'. Remove
25394 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
25395 `include/grub/i386/pc/util/biosdisk.h' and
25396 `include/grub/powerpc/ieee1275/multiboot.h'.
25397
8f096014 253982007-08-02 Bean <bean123ch@gmail.com>
25399
25400 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
25401 (ntfs_mod_SOURCES): New variable.
25402 (ntfs_mod_CFLAGS): Likewise.
25403 (ntfs_mod_LDFLAGS): Likewise.
25404
25405 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
25406 (grub_probe_SOURCES): Likewise.
25407 (grub_emu_SOURCES): Likewise.
25408
25409 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25410 (grub_emu_SOURCES): Likewise.
25411
25412 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25413 (grub_emu_SOURCES): Likewise.
f19dbdb7 25414
8f096014 25415 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
25416
25417 * fs/ntfs.c: New file.
25418
9959f7db 254192007-08-02 Bean <bean123ch@gmail.com>
25420
25421 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
25422
25423 * file.h (grub_file): Likewise.
25424
25425 * fshelp.h (grub_fshelp_read_file): Likewise.
25426
25427 * util/i386/pc/grub-setup.c (setup): Likewise.
25428 (save_first_sector): Likewise.
25429 (save_blocklists): Likewise.
f19dbdb7 25430
9959f7db 25431 * fs/affs.c (grub_affs_read_file): Likewise.
25432
25433 * fs/ext2.c (grub_ext2_read_file): Likewise.
25434
25435 * fs/fat.c (grub_fat_read_data): Likewise.
25436
25437 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
25438
25439 * fs/hfs.c (grub_hfs_read_file): Likewise.
25440
25441 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25442
25443 * fs/jfs.c (grub_jfs_read_file): Likewise.
25444
25445 * fs/minix.c (grub_minix_read_file): Likewise.
25446
25447 * fs/sfs.c (grub_sfs_read_file): Likewise.
25448
25449 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 25450
9959f7db 25451 * fs/xfs.c (grub_xfs_read_file): Likewise.
25452
25453 * command/blocklist.c (read_blocklist): Likewise.
25454 (print_blocklist): Likewise.
25455
0a203f83 254562007-08-02 Marco Gerards <marco@gnu.org>
25457
25458 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
25459 `util/hostfs.c'.
25460
25461 * disk/host.c: New file.
25462
25463 * util/hostfs.c: Likewise.
25464
25465 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
25466 return `GRUB_ERR_BAD_FS'.
25467 * fs/sfs.c (grub_sfs_mount): Likewise.
25468 * fs/xfs.c (grub_xfs_mount): Likewise.
25469
25470 * include/grub/disk.h (enum grub_disk_dev_id): Add
25471 `GRUB_DISK_DEVICE_HOST_ID'.
25472
25473 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
25474
e5dfe777 254752007-07-24 Jerone Young <jerone@gmail.com>
25476
f19dbdb7 25477 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 25478 modules for compilation.
25479 * conf/powerpc-ieee1275.rmk: Likewise.
25480
25481 * include/multiboot.h: Move multiboot definitions to one file. Rename
25482 many definitions to not get grub specific.
25483 * include/multiboot2.h: Create header with multiboot 2 definitions.
25484 * include/grub/multiboot.h: Header for grub specific function
25485 prototypes and definitions.
25486 * include/grub/multiboot2.h: Likewise.
25487 * include/grub/multiboot_loader.h: Likewise.
25488 * include/grub/i386/pc/multiboot.h: Removed.
25489 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
25490
25491 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
25492 and 2 to allow for one multiboot and module commands.
25493 * loader/multiboot2.c: Add multiboot2 functionality.
25494 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
25495 and definition names.
25496 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
25497 2 functions.
25498 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
25499 ieee1275 specific multiboot2 code.
25500
25501 * kern/i386/pc/startup.S: Change headers and definition names for
25502 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
25503
daf0f0ba 255042007-07-22 Robert Millan <rmh@aybabtu.com>
25505
25506 * geninitheader.sh: Process file specified in first parameter rather
25507 than hardcoding grub_modules_init.lst.
fe6b695a 25508 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 25509 than hardcoding grub_modules_init.h.
25510
25511 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
25512 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
25513 grub_probe_init.[ch] and grub_setup_init.[ch].
25514
25515 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
25516 grub_modules_init.h with grub_emu_init.h.
25517 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
25518 grub_probe_init.[ch] files.
25519 * conf/i386-efi.rmk: Likewise.
25520 * conf/i386-pc.rmk: Likewise.
25521 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
25522 grub_setup_init.[ch] files.
25523
25524 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
25525 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
25526 to initialize modules rather than a list of hardcoded functions.
25527 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
25528 grub_init_all() to initialize modules rather than a list of hardcoded
25529 functions.
25530
54cdc1cc 255312007-07-22 Robert Millan <rmh@aybabtu.com>
25532
25533 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25534 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
25535
ad0686cc 255362007-07-22 Robert Millan <rmh@aybabtu.com>
25537
25538 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25539 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
25540 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
25541 flag when running on SmartFirmware.
25542 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
25543 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
25544 was set.
25545
25546 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25547 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
25548 rather than decreasing it.
25549
25550 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
25551 there's not enough space to do it, fail in the same way as when it
25552 can't be done because there are no partitions.
25553
25554 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
25555 when nvsetenv failed.
25556
969c02ec 255572007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25558
25559 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
25560 because this rule is automatically generated.
25561 (grub-mkrescue): Removed for the same reason as above.
25562
5a79f472 255632007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25564
25565 Migrate to GNU General Public License Version 3.
f19dbdb7 25566
5a79f472 25567 * COPYING: Replaced with the plain text version of GPLv3.
25568
25569 * config.guess: Updated from gnulib.
25570 * config.sub: Likewise.
25571
25572 * geninit.sh: Output a GPLv3 copyright notice.
25573 * geninitheader.sh: Likewise.
25574 * genmodsrc.sh: Likewise.
25575 * gensymlist.sh.in: Likewise.
25576
25577 * boot/i386/pc/boot.S: Upgraded to GPLv3.
25578 * boot/i386/pc/diskboot.S: Likewise.
25579 * boot/i386/pc/pxeboot.S: Likewise.
25580 * commands/blocklist.c: Likewise.
25581 * commands/boot.c: Likewise.
25582 * commands/cat.c: Likewise.
25583 * commands/cmp.c: Likewise.
25584 * commands/configfile.c: Likewise.
25585 * commands/echo.c: Likewise.
25586 * commands/help.c: Likewise.
25587 * commands/ls.c: Likewise.
25588 * commands/search.c: Likewise.
25589 * commands/terminal.c: Likewise.
25590 * commands/test.c: Likewise.
25591 * commands/videotest.c: Likewise.
25592 * commands/i386/cpuid.c: Likewise.
25593 * commands/i386/pc/halt.c: Likewise.
25594 * commands/i386/pc/play.c: Likewise.
25595 * commands/i386/pc/reboot.c: Likewise.
25596 * commands/i386/pc/vbeinfo.c: Likewise.
25597 * commands/i386/pc/vbetest.c: Likewise.
25598 * commands/ieee1275/halt.c: Likewise.
25599 * commands/ieee1275/reboot.c: Likewise.
25600 * commands/ieee1275/suspend.c: Likewise.
25601 * disk/loopback.c: Likewise.
25602 * disk/lvm.c: Likewise.
25603 * disk/raid.c: Likewise.
25604 * disk/efi/efidisk.c: Likewise.
25605 * disk/i386/pc/biosdisk.c: Likewise.
25606 * disk/ieee1275/ofdisk.c: Likewise.
25607 * font/manager.c: Likewise.
25608 * fs/affs.c: Likewise.
25609 * fs/ext2.c: Likewise.
25610 * fs/fat.c: Likewise.
25611 * fs/fshelp.c: Likewise.
25612 * fs/hfs.c: Likewise.
25613 * fs/hfsplus.c: Likewise.
25614 * fs/iso9660.c: Likewise.
25615 * fs/jfs.c: Likewise.
25616 * fs/minix.c: Likewise.
25617 * fs/sfs.c: Likewise.
25618 * fs/ufs.c: Likewise.
25619 * fs/xfs.c: Likewise.
25620 * hello/hello.c: Likewise.
25621 * include/grub/acorn_filecore.h: Likewise.
25622 * include/grub/arg.h: Likewise.
25623 * include/grub/bitmap.h: Likewise.
25624 * include/grub/boot.h: Likewise.
25625 * include/grub/cache.h: Likewise.
25626 * include/grub/device.h: Likewise.
25627 * include/grub/disk.h: Likewise.
25628 * include/grub/dl.h: Likewise.
25629 * include/grub/elfload.h: Likewise.
25630 * include/grub/env.h: Likewise.
25631 * include/grub/err.h: Likewise.
25632 * include/grub/file.h: Likewise.
25633 * include/grub/font.h: Likewise.
25634 * include/grub/fs.h: Likewise.
25635 * include/grub/fshelp.h: Likewise.
25636 * include/grub/gzio.h: Likewise.
25637 * include/grub/hfs.h: Likewise.
25638 * include/grub/kernel.h: Likewise.
25639 * include/grub/loader.h: Likewise.
25640 * include/grub/lvm.h: Likewise.
25641 * include/grub/misc.h: Likewise.
25642 * include/grub/mm.h: Likewise.
25643 * include/grub/net.h: Likewise.
25644 * include/grub/normal.h: Likewise.
25645 * include/grub/parser.h: Likewise.
25646 * include/grub/partition.h: Likewise.
25647 * include/grub/pc_partition.h: Likewise.
25648 * include/grub/raid.h: Likewise.
25649 * include/grub/rescue.h: Likewise.
25650 * include/grub/script.h: Likewise.
25651 * include/grub/setjmp.h: Likewise.
25652 * include/grub/symbol.h: Likewise.
25653 * include/grub/term.h: Likewise.
25654 * include/grub/terminfo.h: Likewise.
25655 * include/grub/tparm.h: Likewise.
25656 * include/grub/types.h: Likewise.
25657 * include/grub/video.h: Likewise.
25658 * include/grub/efi/api.h: Likewise.
25659 * include/grub/efi/chainloader.h: Likewise.
25660 * include/grub/efi/console.h: Likewise.
25661 * include/grub/efi/console_control.h: Likewise.
25662 * include/grub/efi/disk.h: Likewise.
25663 * include/grub/efi/efi.h: Likewise.
25664 * include/grub/efi/pe32.h: Likewise.
25665 * include/grub/efi/time.h: Likewise.
25666 * include/grub/i386/linux.h: Likewise.
25667 * include/grub/i386/setjmp.h: Likewise.
25668 * include/grub/i386/types.h: Likewise.
25669 * include/grub/i386/efi/kernel.h: Likewise.
25670 * include/grub/i386/efi/loader.h: Likewise.
25671 * include/grub/i386/efi/time.h: Likewise.
25672 * include/grub/i386/pc/biosdisk.h: Likewise.
25673 * include/grub/i386/pc/boot.h: Likewise.
25674 * include/grub/i386/pc/chainloader.h: Likewise.
25675 * include/grub/i386/pc/console.h: Likewise.
25676 * include/grub/i386/pc/init.h: Likewise.
25677 * include/grub/i386/pc/kernel.h: Likewise.
25678 * include/grub/i386/pc/loader.h: Likewise.
25679 * include/grub/i386/pc/memory.h: Likewise.
25680 * include/grub/i386/pc/multiboot.h: Likewise.
25681 * include/grub/i386/pc/serial.h: Likewise.
25682 * include/grub/i386/pc/time.h: Likewise.
25683 * include/grub/i386/pc/vbe.h: Likewise.
25684 * include/grub/i386/pc/vbeblit.h: Likewise.
25685 * include/grub/i386/pc/vbefill.h: Likewise.
25686 * include/grub/i386/pc/vbeutil.h: Likewise.
25687 * include/grub/i386/pc/vga.h: Likewise.
25688 * include/grub/ieee1275/ieee1275.h: Likewise.
25689 * include/grub/ieee1275/ofdisk.h: Likewise.
25690 * include/grub/powerpc/libgcc.h: Likewise.
25691 * include/grub/powerpc/setjmp.h: Likewise.
25692 * include/grub/powerpc/types.h: Likewise.
25693 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
25694 * include/grub/powerpc/ieee1275/console.h: Likewise.
25695 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
25696 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25697 * include/grub/powerpc/ieee1275/loader.h: Likewise.
25698 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
25699 * include/grub/powerpc/ieee1275/time.h: Likewise.
25700 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
25701 * include/grub/sparc64/libgcc.h: Likewise.
25702 * include/grub/sparc64/setjmp.h: Likewise.
25703 * include/grub/sparc64/types.h: Likewise.
25704 * include/grub/sparc64/ieee1275/console.h: Likewise.
25705 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25706 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25707 * include/grub/sparc64/ieee1275/time.h: Likewise.
25708 * include/grub/util/biosdisk.h: Likewise.
25709 * include/grub/util/getroot.h: Likewise.
25710 * include/grub/util/lvm.h: Likewise.
25711 * include/grub/util/misc.h: Likewise.
25712 * include/grub/util/raid.h: Likewise.
25713 * include/grub/util/resolve.h: Likewise.
25714 * io/gzio.c: Likewise.
25715 * kern/device.c: Likewise.
25716 * kern/disk.c: Likewise.
25717 * kern/dl.c: Likewise.
25718 * kern/elf.c: Likewise.
25719 * kern/env.c: Likewise.
25720 * kern/err.c: Likewise.
25721 * kern/file.c: Likewise.
25722 * kern/fs.c: Likewise.
25723 * kern/loader.c: Likewise.
25724 * kern/main.c: Likewise.
25725 * kern/misc.c: Likewise.
25726 * kern/mm.c: Likewise.
25727 * kern/parser.c: Likewise.
25728 * kern/partition.c: Likewise.
25729 * kern/rescue.c: Likewise.
25730 * kern/term.c: Likewise.
25731 * kern/efi/efi.c: Likewise.
25732 * kern/efi/init.c: Likewise.
25733 * kern/efi/mm.c: Likewise.
25734 * kern/i386/dl.c: Likewise.
25735 * kern/i386/efi/init.c: Likewise.
25736 * kern/i386/efi/startup.S: Likewise.
25737 * kern/i386/pc/init.c: Likewise.
25738 * kern/i386/pc/lzo1x.S: Likewise.
25739 * kern/i386/pc/startup.S: Likewise.
25740 * kern/ieee1275/ieee1275.c: Likewise.
25741 * kern/powerpc/cache.S: Likewise.
25742 * kern/powerpc/dl.c: Likewise.
25743 * kern/powerpc/ieee1275/cmain.c: Likewise.
25744 * kern/powerpc/ieee1275/crt0.S: Likewise.
25745 * kern/powerpc/ieee1275/init.c: Likewise.
25746 * kern/powerpc/ieee1275/openfw.c: Likewise.
25747 * kern/sparc64/cache.S: Likewise.
25748 * kern/sparc64/dl.c: Likewise.
25749 * kern/sparc64/ieee1275/init.c: Likewise.
25750 * kern/sparc64/ieee1275/openfw.c: Likewise.
25751 * loader/efi/chainloader.c: Likewise.
25752 * loader/efi/chainloader_normal.c: Likewise.
25753 * loader/i386/efi/linux.c: Likewise.
25754 * loader/i386/efi/linux_normal.c: Likewise.
25755 * loader/i386/pc/chainloader.c: Likewise.
25756 * loader/i386/pc/chainloader_normal.c: Likewise.
25757 * loader/i386/pc/linux.c: Likewise.
25758 * loader/i386/pc/linux_normal.c: Likewise.
25759 * loader/i386/pc/multiboot.c: Likewise.
25760 * loader/i386/pc/multiboot_normal.c: Likewise.
25761 * loader/powerpc/ieee1275/linux.c: Likewise.
25762 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25763 * normal/arg.c: Likewise.
25764 * normal/cmdline.c: Likewise.
25765 * normal/command.c: Likewise.
25766 * normal/completion.c: Likewise.
25767 * normal/execute.c: Likewise.
25768 * normal/function.c: Likewise.
25769 * normal/lexer.c: Likewise.
25770 * normal/main.c: Likewise.
25771 * normal/menu.c: Likewise.
25772 * normal/menu_entry.c: Likewise.
25773 * normal/misc.c: Likewise.
25774 * normal/parser.y: Likewise.
25775 * normal/script.c: Likewise.
25776 * normal/i386/setjmp.S: Likewise.
25777 * normal/powerpc/setjmp.S: Likewise.
25778 * normal/sparc64/setjmp.S: Likewise.
25779 * partmap/acorn.c: Likewise.
25780 * partmap/amiga.c: Likewise.
25781 * partmap/apple.c: Likewise.
25782 * partmap/gpt.c: Likewise.
25783 * partmap/pc.c: Likewise.
25784 * partmap/sun.c: Likewise.
25785 * term/gfxterm.c: Likewise.
25786 * term/terminfo.c: Likewise.
25787 * term/efi/console.c: Likewise.
25788 * term/i386/pc/console.c: Likewise.
25789 * term/i386/pc/serial.c: Likewise.
25790 * term/i386/pc/vesafb.c: Likewise.
25791 * term/i386/pc/vga.c: Likewise.
25792 * term/ieee1275/ofconsole.c: Likewise.
25793 * util/biosdisk.c: Likewise.
25794 * util/console.c: Likewise.
25795 * util/genmoddep.c: Likewise.
25796 * util/getroot.c: Likewise.
25797 * util/grub-emu.c: Likewise.
25798 * util/grub-mkdevicemap.c: Likewise.
25799 * util/grub-probe.c: Likewise.
25800 * util/lvm.c: Likewise.
25801 * util/misc.c: Likewise.
25802 * util/raid.c: Likewise.
25803 * util/resolve.c: Likewise.
25804 * util/update-grub.in: Likewise.
25805 * util/update-grub_lib.in: Likewise.
25806 * util/grub.d/00_header.in: Likewise.
25807 * util/grub.d/10_hurd.in: Likewise.
25808 * util/grub.d/10_linux.in: Likewise.
25809 * util/i386/efi/grub-install.in: Likewise.
25810 * util/i386/efi/grub-mkimage.c: Likewise.
25811 * util/i386/pc/grub-install.in: Likewise.
25812 * util/i386/pc/grub-mkimage.c: Likewise.
25813 * util/i386/pc/grub-mkrescue.in: Likewise.
25814 * util/i386/pc/grub-setup.c: Likewise.
25815 * util/i386/pc/misc.c: Likewise.
25816 * util/powerpc/ieee1275/grub-install.in: Likewise.
25817 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
25818 * util/powerpc/ieee1275/misc.c: Likewise.
25819 * video/bitmap.c: Likewise.
25820 * video/video.c: Likewise.
25821 * video/i386/pc/vbe.c: Likewise.
25822 * video/i386/pc/vbeblit.c: Likewise.
25823 * video/i386/pc/vbefill.c: Likewise.
25824 * video/i386/pc/vbeutil.c: Likewise.
25825 * video/readers/tga.c: Likewise.
25826
3572d015 258272007-07-02 Robert Millan <rmh@aybabtu.com>
25828
25829 * conf/i386-efi.rmk: Replace obsolete reference to
25830 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
25831 with util/getroot.c.
25832 * conf/powerpc-ieee1275.rmk: Likewise.
25833 * conf/sparc64-ieee1275.rmk: Likewise.
25834
25835 * util/grub-emu.c (main): Fix unchecked pointer handling.
25836
2c2a681b 258372007-07-02 Robert Millan <rmh@aybabtu.com>
25838
25839 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
25840 invocation to fail, in order to support partition-less media.
25841
25842 * util/i386/pc/grub-install.in: Likewise.
25843
25844 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
25845 which fs or partmap modules are needed (akin to its sister scripts).
25846
25847 Also use grub-probe to get rid of unportable /proc/mounts check.
25848
25849 Print the same informational message that the other scripts do, before
fe6b695a 25850 exiting.
2c2a681b 25851
6193defe 258522007-06-23 Robert Millan <rmh@aybabtu.com>
25853
fe6b695a 25854 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 25855 a font file can be found and, if so, echo the GRUB path to it.
25856
25857 * util/update-grub.in: Handle multiple terminals depending on user
25858 input, platform availability and font file presence. Propagate
25859 variables of our findings to /etc/grub.d/ children.
25860
25861 * util/grub.d/00_header.in: Handle multiple terminals, based on
25862 environment setup by update-grub.
25863
eface1dc 258642007-06-23 Robert Millan <rmh@aybabtu.com>
25865
ba50d28f 25866 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 25867
bf697e28 258682007-06-21 Robert Millan <rmh@aybabtu.com>
25869
25870 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
25871 indicate end of data section in kernel image.
25872 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
25873 GRUB_KERNEL_MACHINE_DATA_END.
25874
25875 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
25876 space for it.
25877 * kern/i386/efi/startup.S: Likewise.
25878
25879 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
25880 during image generation. Implement --prefix option to override this
25881 patch.
25882 * util/i386/efi/grub-mkimage.c: Likewise.
25883
25884 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
25885 code to make path relative to its root into a separate function.
25886
25887 * util/i386/pc/grub-install.in: Use newly provided
25888 make_system_path_relative_to_its_root() to convert ${grubdir}, then
25889 pass the result to grub-install --prefix.
25890
baa574b4 258912007-06-13 Robert Millan <rmh@aybabtu.com>
25892
25893 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
25894 DEFAULT_DEVICE_MAP.
25895 * util/grub-emu.c: Use above definitions from misc.h instead of
25896 defining them.
25897 * util/grub-mkdevicemap.c: Likewise.
25898 * util/i386/pc/grub-setup.c: Likewise.
25899 * util/grub-probe.c: Likewise.
25900 (probe): Abort with grub_util_error() when either
25901 grub_guess_root_device or grub_util_get_grub_dev fails.
25902
0215dcbf 259032007-06-12 Robert Millan <rmh@aybabtu.com>
25904
25905 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
25906 "pager" assignment.
25907 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
25908 "pcdata".
25909 * util/grub-probe.c (probe): Likewise for "drive_name".
25910
8af2ab7b 259112007-06-11 Robert Millan <rmh@aybabtu.com>
25912
25913 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
25914 not just the cdrom one.
25915
59d31694 259162007-06-11 Robert Millan <rmh@aybabtu.com>
25917
25918 * util/i386/pc/grub-mkrescue.in: Add "set -e".
25919 Add --pkglibdir=DIR option to override pkglibdir.
25920 Mention --image-type=TYPE in help output.
25921 Fix --grub-mkimage (it was a no-op).
fe6b695a 25922 Abort gracefully when no parameter is given.
59d31694 25923
7ee367e4 259242007-06-11 Robert Millan <rmh@aybabtu.com>
25925
25926 * util/i386/pc/grub-mkrescue.in: New file.
25927 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
25928 * Makefile.in: Handle bin_SCRIPTS.
25929
29b0ed46 259302007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
25931
25932 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
25933 list of video modes.
25934
c0f90770 259352007-06-06 Robert Millan <rmh@aybabtu.com>
25936
25937 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
25938 file doesn't exist, or if it is in a filesystem grub can't read.
25939
25940 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
25941 not abort if GRUB_DRIVE could not be defined. Rearrange generated
25942 header comment to fit in 80 columns when the variables are resolved.
25943
25944 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
25945 could be identified by update-grub. Remove redundant check for
fe6b695a 25946 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 25947 handles that).
25948
fb36dc26 259492007-06-04 Robert Millan <rmh@aybabtu.com>
25950
25951 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
25952
25953 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
25954
25955 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
25956
0c68c93e 259572007-06-04 Robert Millan <rmh@aybabtu.com>
25958
25959 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
25960
25961 * include/grub/partition.h: Declare grub_apple_partition_map_init and
25962 grub_apple_partition_map_fini.
25963
25964 * util/biosdisk.c
25965 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
25966 to access >2 TiB disks).
25967
25968 Print disk->total_sectors with %llu instead of %lu, since this
25969 variable is always 64-bit (prevents wrong disk size from being displayed
25970 on either >2 TiB disk or big-endian CPU).
25971
25972 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
25973 into a generic case that supports all (sane) partition maps.
25974
25975 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
25976 breaks big-endian.
25977
25978 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
25979 and grub_apple_partition_map_fini() after that.
25980
0f23eb74 259812007-06-01 Robert Millan <rmh@aybabtu.com>
25982
25983 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
25984
25985 * util/grub.d/00_header.in: Only enable gfxterm when
25986 convert_system_path_to_grub_path() succeeds.
25987
42c71976 259882007-05-20 Robert Millan <rmh@aybabtu.com>
25989
25990 * util/update-grub_lib.in: New file.
25991 * DISTLIST: Add update-grub_lib.in.
25992 * conf/common.rmk: Generate update-grub_lib and install it in
25993 $(lib_DATA).
25994 * Makefile.in: Add install routine for $(lib_DATA).
25995
25996 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
25997 function provided by update-grub_lib to support arbitrary paths of
25998 unifont.pff.
25999 * util/update-grub.in: Use convert_system_path_to_grub_path() to
26000 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
26001
5beb2291 260022007-05-19 Robert Millan <rmh@aybabtu.com>
26003
26004 * commands/i386/cpuid.c: New module.
26005 * DISTLIST: Add it.
26006 * conf/i386-efi.rmk: Enable cpuid.mod.
26007 * conf/i386-pc.rmk: Likewise.
26008
7262eca1 260092007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26010
26011 * kern/disk.c (grub_disk_read): Check return value of
26012 grub_realloc().
26013
260ba823 260142007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26015
26016 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
26017 arrays.
26018 * disk/raid.c (grub_raid_open): Likewise.
26019
1ecb6cf2 260202007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26021
26022 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
26023 stack instead of on the heap.
26024
26025 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
26026 before doing a read on it.
26027
26028 * configure.ac: Only use -fno-stack-protector for the target
26029 environment.
f19dbdb7 26030
21c8cbb1 260312007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26032
26033 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
26034 __attribute_ ((unused)) to mode_type argument.
26035
26036 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 26037
21c8cbb1 26038 * kern/misc.c (memcmp): Fix prototype.
26039
26040 * include/grub/partition.h [GRUB_UTIL]
26041 (grub_gpt_partition_map_init): Add prototype.
26042 (grub_gpt_partition_map_fini): Likewise.
26043
26044 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
26045 at the right place.
26046
26047 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
26048 (grub_fat_read_data): Likewise.
26049 (grub_fat_find_dir): Likewise.
26050
26051 * font/manager.c (find_glyph): Make table a const.
26052 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 26053
849d55d3 260542007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
26055
26056 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
26057 code, first search for device in /dev/mapper, then in /dev.
26058 (grub_util_get_grub_dev): New function.
26059 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
26060 prototype.
26061 * util/grub-probe.c (probe): Remove check for RAID, call
26062 grub_util_get_grub_dev() instead of
26063 grub_util_biosdisk_get_grub_dev().
26064 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
26065 grub_util_biosdisk_get_grub_dev().
26066 * util/i386/pc/grub-setup.c (main): Likewise.
26067
8fff7c2f 260682007-05-16 Robert Millan <rmh@aybabtu.com>
26069
26070 * DISTLIST: Update for the latest changes.
26071 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
26072 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
26073 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
26074 grub/util/biosdisk.h.
26075 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
26076 grub/util/biosdisk.h.
26077
48e12b52 260782007-05-16 Robert Millan <rmh@aybabtu.com>
26079
26080 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
26081
46b9d128 260822007-05-16 Robert Millan <rmh@aybabtu.com>
26083
26084 * util/i386/efi/grub-install.in: New.
26085 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
26086 newly added grub-install.
26087 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
26088 include.
26089 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
26090 grub/util/biosdisk.h.
26091 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
26092 grub/util/biosdisk.h.
26093
2d1a40a9 260942007-05-16 Robert Millan <rmh@aybabtu.com>
26095
26096 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
26097 * include/grub/util/biosdisk.h: ... here.
26098 * util/i386/pc/biosdisk.c: Moved to ...
26099 * util/biosdisk.c: ... here.
26100 * util/i386/pc/getroot.c: Moved to ...
26101 * util/getroot.c: ... here.
26102 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
26103 * util/grub-mkdevicemap.c: ... here.
26104 * util/i386/pc/grub-probe.c: Moved to ...
26105 * util/grub-probe.c: ... here.
26106
9e26e3bc 261072007-05-15 Robert Millan <rmh@aybabtu.com>
26108
26109 * util/update-grub.in: Remove duplicated line in grub.cfg header
26110 message.
26111
57f96397 261122007-05-13 Robert Millan <rmh@aybabtu.com>
26113
26114 * util/update-grub.in: Fix a few assumptions about the devices holding
26115 /, /boot and /boot/grub being the same.
26116 * util/grub.d/00_header.in: Likewise.
26117 * util/grub.d/10_hurd.in: Likewise.
26118 * util/grub.d/10_linux.in: Likewise.
26119
26120 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
26121 patterns. Use that to define the `.old' suffix as older than `'.
26122
26123 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
26124
26125 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
26126 the grub.cfg header message.
26127
2e610d62 261282007-05-11 Robert Millan <rmh@aybabtu.com>
26129
26130 * util/update-grub.in: Create device.map if it doesn't already exist,
26131 before attempting to run grub-probe.
26132 Check for grub-probe and grub-mkdevicemap with the same code
26133 grub-install is using.
26134 Remove test mode.
26135
3f6a10ef 261362007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
26137
26138 * Makefile.in: Add the datarootdir autoconf variable.
26139
02e7b75e 261402007-05-09 Robert Millan <rmh@aybabtu.com>
26141
26142 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 26143 fail gracefully if dev->disk->partition == NULL.
02e7b75e 26144
75f396cc 261452007-05-07 Robert Millan <rmh@aybabtu.com>
26146
26147 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
26148 determine partition map module.
26149 * util/i386/pc/grub-install.in: Use this feature to decide which
26150 partition module to load, instead of hardcoding pc and gpt.
26151
da65cb36 261522007-05-07 Robert Millan <rmh@aybabtu.com>
26153
26154 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
26155 source directory differs from build directory.
26156
b57d6a91 261572007-05-05 Robert Millan <rmh@aybabtu.com>
26158
26159 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
26160 initialisation.
26161
509d00f1 261622007-05-05 Robert Millan <rmh@aybabtu.com>
26163
26164 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
26165
c48f23ef 261662007-05-05 Robert Millan <rmh@aybabtu.com>
26167
26168 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
26169 command-line arguments via ${GRUB_CMDLINE_LINUX}.
26170
20b97658 261712007-05-05 Robert Millan <rmh@aybabtu.com>
26172
26173 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
26174 (grub_probe_SOURCES): Likewise.
26175 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
26176 GPT and initialize dos_part and bsd_part accordingly.
26177 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
26178 install_bsd_part.
26179 (main): Activate gpt module for use during partition identification,
26180 and deactivate it afterwards.
26181 * util/i386/pc/grub-install.in: Add gpt module to core.img.
26182 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
26183 partition identification, and deactivate it afterwards.
26184
99123174 261852007-05-05 Robert Millan <rmh@aybabtu.com>
26186
26187 * term/i386/pc/console.c (grub_console_fini): Call
26188 grub_term_set_current() before grub_term_unregister().
26189
ebd97f6e 261902007-05-04 Robert Millan <rmh@aybabtu.com>
26191
26192 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
26193 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
26194 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
26195 and update-grub_DATA.
26196 * conf/common.rmk: Build and install update-grub components.
26197 * conf/common.mk: Regenerate.
26198 * util/update-grub.in: New. Core of update-grub.
26199 * util/grub.d/00_header.in: New. Generates grub.cfg header.
26200 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
26201 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
26202 * util/grub.d/README: New. Document grub.d directory layout.
26203
b06a264d 262042007-05-01 Robert Millan <rmh@aybabtu.com>
26205
26206 * util/grub-emu.c: Move initialization functions
26207 grub_util_biosdisk_init() and grub_init_all() before
26208 grub_util_biosdisk_get_grub_dev(), which relies on them.
26209
41f0050e 262102007-04-19 Robert Millan <rmh@aybabtu.com>
26211
26212 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
26213 it is used later.
26214
04582bb3 262152007-04-18 Jerone Young <jerone@gmail.com>
26216
f19dbdb7 26217 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 26218 stanza.
26219
08db4632 262202007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 26221
08db4632 26222 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
26223 continue on and look for device node with real device name.
26224
801b76be 262252007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 26226
fe6b695a 26227 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 26228 ability.
26229 * Makefile.in: Add autoconf package transformation code.
26230 * util/i386/pc/grub-install.in: Likewise.
26231 * util/powerpc/ieee1275/grub-install.in: Likewise.
26232
6795c4e1 262332007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26234
26235 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
26236 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
26237 (EXT2_REVISION): Likewise.
26238 (EXT2_INODE_SIZE): Likewise.
26239 (struct grub_ext2_block_group): Added a missing member
26240 "used_dirs".
26241 (grub_ext2_read_inode): Divide by the inode size in a superblock
26242 instead of 128 to obtain INODES_PER_BLOCK.
26243 Use the macro EXT2_INODE_SIZE instead of directly using
26244 SBLOCK->INODE_SIZE.
26245
d70af616 262462007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26247
26248 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
26249 superblock instead of the structure size to compute an
26250 offset. This fixes the problem that GRUB could not read a
26251 filesystem when inode size is different from 128-byte.
26252
3b801603 262532007-03-05 Marco Gerards <marco@gnu.org>
26254
26255 * normal/main.c (read_config_file): When "menu" is not set, create
26256 an initial context.
26257
4785bfe4 262582007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26259
26260 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
26261 (HEAP_LIMIT): New macro.
26262 (grub_claim_heap): Claim memory up to `heaplimit'.
26263
a0cbb023 262642007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26265
26266 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
26267 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
26268 (_start): Likewise.
26269 (grub_arch_modules_addr): Return address after `_end'.
26270 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
26271 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
26272 (add_segments): Calculate `_end' from phdr size and location.
26273 (ALIGN_UP): Moved to ...
26274 * include/grub/misc.h: here.
26275 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26276 New macro.
26277 (GRUB_IEEE1275_MODULE_BASE): Removed.
26278
fd7d8eba 262792007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26280
26281 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
26282 loop boundary.
26283
9b09e6fc 262842007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26285
26286 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
26287 All users updated.
26288 (grub_elf64_load_hook_t): Likewise.
26289 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
26290 debug output.
26291
3ce27299 262922007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26293
26294 * kern/mm.c: Update copyright.
26295 (grub_mm_debug): Correct syntax error.
26296 (grub_mm_dump_free): New function.
26297 (grub_debug_free): Call `grub_free'.
26298 * include/grub/mm.h: Update copyright.
26299 (grub_mm_dump_free): Add declaration.
26300
077d5fee 263012007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26302
26303 * include/grub/ieee1275/ieee1275.h: Update copyright.
26304 * kern/powerpc/ieee1275/init.c: Likewise.
26305 * kern/powerpc/ieee1275/openfw.c: Likewise.
26306
26307 * loader/powerpc/ieee1275/linux.c: Likewise.
26308 * include/grub/elfload.h: Likewise.
26309 * kern/elf.c: Likewise.
26310 (grub_elf32_load): Pass `base' and `size' parameters. Update all
26311 callers.
26312 (grub_elf64_load): Likewise.
26313 (grub_elf32_load_segment): Move to a nested function.
26314 (grub_elf64_load_segment): Likewise.
26315
dc946850 263162007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26317
26318 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
26319 prototype.
26320 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
26321 (grub_heap_len): Likewise.
26322 (HEAP_SIZE): New macro.
26323 (grub_claim_heap): New function.
26324 (grub_machine_init): Don't claim heap directly. Call
26325 `grub_claim_heap'.
26326 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
26327 (grub_available_iterate): New function.
26328
baa2a121 263292007-02-03 Thomas Schwinge <tschwinge@gnu.org>
26330
26331 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
26332 * configure.ac: Use it for testing the HOST and TARGET compilers.
26333
4fe9862e 263342006-12-13 Thomas Schwinge <tschwinge@gnu.org>
26335
26336 * Makefile.in (enable_grub_emu): New variable.
26337 * configure.ac (--enable-grub-emu): New option.
26338 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
26339 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
26340 * conf/i386-pc.rmk: Likewise.
26341 * conf/powerpc-ieee1275.rmk: Likewise.
26342 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
26343
a8aa5762 263442006-12-12 Marco Gerards <marco@gnu.org>
26345
26346 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
26347
26348 * kern/env.c (grub_env_unset): Don't free the member `value' when
26349 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
26350 pointer.
26351
26352 * normal/main.c (current_menu): Removed.
26353 (free_menu): Unset the `menu' environment variable.
26354 (grub_normal_menu_addentry): Make use of the environment variable
26355 `menu', instead of using the global `current_menu'. Allocate
26356 memory for the sourcecode of this entry.
26357 (read_config_file): New argument `nested', changed all callers.
26358 Only in the case of a new context, initialize a new menu. Set the
26359 `menu' environment variable.
26360 (grub_normal_execute): Don't set and unset the environment
26361 variable `menu' here anymore. Only free the menu when leaving the
26362 context.
26363
26364 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
26365 leak.
26366
957b3a3e 263672006-12-11 Marco Gerards <marco@gnu.org>
26368
26369 * normal/menu_entry.c (run): Fix off by one bug so the last line
26370 is executed. Move the loader check to outside the loop.
26371
ef875714 263722006-12-08 Hollis Blanchard <hollis@penguinppc.org>
26373
26374 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
26375
4e739985 263762006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
26377
26378 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
26379 the number of sectors. Reported by Andrey Shuvikov
26380 <mr_hyro@yahoo.com>.
f19dbdb7 26381
790707f2 263822006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
26383
26384 * kern/disk.c (grub_disk_read): When there is a read error, always
26385 try to read only the necessary data.
f19dbdb7 26386
790707f2 26387 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
26388 disk/raid.c.
26389 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
26390 prototype.
26391 [GRUB_UTIL] (grub_raid_fini): Likewise.
26392 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 26393 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 26394 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
26395 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
26396 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
26397 and grub_raid_fini().
f19dbdb7 26398
03e58196 263992006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26400
26401 * include/grub/types.h (__unused): Rename to UNUSED.
26402 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
26403 (grub_elf64_size): Likewise.
f19dbdb7 26404
ae4f23bf 264052006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26406
26407 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
26408 grub_error_push and grub_error_pop in the error-handling path.
26409 (grub_elf32_load_segment): Only call grub_file_read with non-zero
26410 length.
26411
2166cc83 264122006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26413
26414 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
26415 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26417 (kernel_elf_SOURCES): Likewise.
26418 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
26419 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
26420 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26421 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26422 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
26423 (elf_mod_SOURCES): New variable.
26424 (elf_mod_CFLAGS): Likewise.
26425 (elf_mod_LDFLAGS): Likewise.
26426 * include/grub/types.h (__unused): New macro.
26427 * include/grub/elfload.h: New file.
26428 * kern/elf.c: Likewise.
26429 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
26430 (ELF32_LOADMASK): New macro.
26431 (ELF64_LOADMASK): Likewise.
26432 (vmlinux): Removed.
26433 (grub_linux_load32): New function.
26434 (grub_linux_load64): Likewise.
26435 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
26436 Use grub_elf_t instead of grub_file_t.
26437
a09d5aa5 264382006-11-02 Hollis Blanchard <hollis@penguinppc.org>
26439
26440 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
26441 `catch_result' to struct set_color_args.
26442
d976fc51 264432006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26444
26445 * normal/menu.c: Include grub/script.h.
26446 * normal/menu_entry.c: Likewise.
26447 * include/grub/normal.h: Do not include grub/script.h.
26448
67507549 264492006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26450
26451 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
26452
69203a99 264532006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26454
26455 * kern/disk.c (grub_disk_open): Print debug messages when opening a
26456 disk.
26457 (grub_disk_close): Print debug messages when closing a disk.
26458 (grub_disk_read): Print debug messages when disk read fails.
26459 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
26460 filesystem type.
26461 * kern/partition.c: Include misc.h.
26462 (grub_partition_iterate): Print debug messages when detecting
26463 partition type.
26464
e2b8278c 264652006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26466
26467 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
26468 is negative.
26469 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
26470
97b2f2ff 264712006-10-26 Hollis Blanchard <hollis@penguinppc.org>
26472
26473 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26474 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
26475
6555d655 264762006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
26477
26478 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
26479 instead of sizeof(lv). Patch by Michael Guntsche.
26480
4d42b77f 264812006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
26482
26483 * disk/lvm.c: Rename VGS to VG_LIST.
26484 (grub_lvm_iterate): Change VGS->LV to VG-LV.
26485 (grub_lvm_open): Likewise.
26486 Thanks to Michael Guntsche for finding this bug.
26487
5d74d927 264882006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26489
26490 * configure.ac (AC_INIT): Bumped to 1.95.
26491
a1bb27e4 264922006-10-14 Robert Millan <rmh@aybabtu.com>
26493
26494 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
26495 with "/dev/.static/dev/md".
26496
e0994b8b 264972006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26498
26499 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
26500 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
26501 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
26502 DRIVE_NAME are always freed.
26503
26504 * util/i386/pc/biosdisk.c (make_device_name): Add one into
26505 DOS_PART, as a DOS partition is counted from one instead of zero
26506 now. Reported by Robert Millan.
26507
ddd5cee9 265082006-10-14 Robert Millan <rmh@aybabtu.com>
26509
26510 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
26511 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
26512 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
26513 string returned by grub_guess_root_device.
26514 * util/i386/pc/grub-setup.c: Likewise.
26515 * util/i386/pc/grub-probefs.c: Likewise.
26516
26517 * util/i386/pc/grub-probefs.c: Rename to ...
26518 * util/i386/pc/grub-probe.c: ... this.
26519 * DISTLIST: Remove grub-probefs, add grub-probe.
26520 * conf/i386-efi.rmk: Likewise.
26521 * conf/i386-pc.rmk: Likewise.
26522 * util/i386/pc/grub-install.in: Likewise.
26523
26524 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
26525 choose which information we want to print.
26526
2b002173 265272006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26528
26529 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
26530 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
26531 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
26532 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
26533 video/readers/tga.c and video/i386/pc/vbeutil.c.
26534
265352006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
26536
26537 Added support for RAID and LVM.
f19dbdb7 26538
2b002173 26539 * disk/lvm.c: New file.
26540 * disk/raid.c: Likewise.
26541 * include/grub/lvm.h: Likewise.
f19dbdb7 26542 * include/grub/raid.h: Likewise.
2b002173 26543 * include/grub/util/lvm.h: Likewise.
26544 * include/grub/util/raid.h: Likewise.
26545 * util/lvm.c: Likewise.
26546 * util/raid.c: Likewise.
26547
26548 * include/grub/disk.h (grub_disk_dev_id): Add
26549 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
26550 (grub_disk_get_size): New prototype.
26551 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
26552 returns a partition.
26553 (grub_disk_get_size): New function.
f19dbdb7 26554
2b002173 26555 * kern/i386/pc/init.c (make_install_device): Copy the prefix
26556 verbatim if grub_install_dos_part is -2.
26557
26558 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
26559 and LVM devices.
26560
26561 * util/i386/pc/grub-setup.c (setup): New argument
26562 MUST_EMBED. Force embedding of GRUB when the argument is
26563 true. Close FILE before returning.
26564 (main): Add support for RAID and LVM.
f19dbdb7 26565
2b002173 26566 * conf/common.rmk: Add RAID and LVM modules.
26567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
26568 util/lvm.c.
26569 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
26570
26571 * kern/misc.c (grub_strstr): New function.
26572 * include/grub/misc.h (grub_strstr): New prototype.
26573
050548d0 265742006-10-10 Tristan Gingold <tristan.gingold@bull.net>
26575
26576 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
26577
da849d2d 265782006-10-05 Tristan Gingold <tristan.gingold@bull.net>
26579
26580 * kern/misc.c (grub_strtoull): Guess the base only if not
26581 specified.
26582
97b2f2ff 265832006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 26584
26585 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
26586 PowerMac support.
26587
97b2f2ff 265882006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 26589
26590 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
26591
26592 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
26593 Remove `flags' argument. All callers changed.
26594 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
26595 (IEEE1275_IHANDLE_INVALID): New variable.
26596 (IEEE1275_CELL_INVALID): New variable.
26597 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26598 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
26599 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
26600 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
26601 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
26602 codes from Open Firmware. All callers updated.
26603 (grub_ieee1275_next_property): Directly return Open Firmware return
26604 code.
26605 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26606 Standardize error checking from `grub_ieee1275_get_property'.
26607 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
26608 `devalias' to `aliases'. Correct comments. Consolidate error paths.
26609
97b2f2ff 266102006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 26611
26612 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
26613 `instance_to_package_args' to `instance_to_path_args'.
26614
26615 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
26616 `grub_ieee1275_chosen'.
26617
26618 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
26619 `grub_ieee1275_interpret'.
26620
97b2f2ff 266212006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 26622
26623 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
26624
97b2f2ff 266252006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 26626
26627 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
26628 (__cmpdi): Likewise.
26629
26630 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
26631 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
26632 `grub_ssize_t'.
26633
02bb8acc 26634 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 26635
26636 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
26637 to type `grub_ssize_t'.
26638 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
26639
7f9a8531 266402006-09-22 Marco Gerards <marco@gnu.org>
26641
26642 * normal/script.c (grub_script_create_cmdmenu): Skip leading
26643 newlines.
26644
b5ef1102 266452006-09-22 Marco Gerards <marco@gnu.org>
26646
26647 * commands/echo.c: New file.
26648
26649 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
26650
26651 * conf/common.rmk (echo_mod_SOURCES): New variable.
26652 (echo_mod_CFLAGS): Likewise.
26653 (echo_mod_LDFLAGS): Likewise.
26654
2cff3677 266552006-09-22 Marco Gerards <marco@gnu.org>
26656
26657 * normal/main.c (get_line): Malloc memory instead of using
26658 preallocated memory. Removed the arguments `cmdline' and
26659 `max_len'. Updated all callers.
26660
6ba4688b 266612006-09-22 Marco Gerards <marco@gnu.org>
26662
26663 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
26664 (normal_mod_DEPENDENCIES): Likewise.
26665
26666 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
26667 (normal_mod_DEPENDENCIES): Likewise.
26668
26669 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
26670
e02ac02c 266712006-09-22 Johan Rydberg <jrydberg@gnu.org>
26672
26673 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
26674 programs.
26675 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
26676 (normal_mod_DEPENDENCIES): Likewise.
26677 * conf/i386-pc.mk: Regenerate.
26678 * conf/i386-efi.mk: Likewise
26679 * conf/common.mk: Likewise.
26680 * conf/powerpc-ieee1275.mk: Likewise.
26681 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26682
8d252e44 266832006-09-22 Robert Millan <rmh@aybabtu.com>
26684
26685 Sync with i386 version.
26686 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
26687 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
26688
209bf7ac 266892006-09-21 Robert Millan <rmh@aybabtu.com>
26690
26691 Import from GRUB Legacy (lib/device.c):
26692 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
26693 (init_device_map) [__linux__]: Add support for I2O devices.
26694
6b146090 266952006-09-14 Marco Gerards <marco@gnu.org>
26696
26697 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
26698 `-melf_i386'.
26699
e38600a8 267002006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 26701
26702 * util/i386/pc/grub-install.in: Skip menu.lst when removing
26703 /boot/grub/*.lst.
78fa1790 26704
2952da5d 26705 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 26706
2952da5d 26707 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
26708 before adding it to device.map.
26709
01b82a64 267102006-08-15 Johan Rydberg <jrydberg@gnu.org>
26711
fe6b695a 26712 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 26713 compiles a file; using the -MD option.
26714 * conf/common.mk: Regenerate.
26715 * conf/i386-pc.mk: Likewise.
26716 * conf/i386-efi.mk: Likewise.
26717 * conf/powerpc-ieee1275.mk: Likewise.
26718 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26719
1064790d 267202006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
26721
26722 Move the prototypes of grub_setjmp and grub_longjmp to
26723 cpu/setjmp.h, so that each architecture may specify different
26724 attributes.
f19dbdb7 26725
1064790d 26726 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
26727 (grub_longjmp): Likewise.
26728 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
26729 (grub_longjmp): Likewise.
26730 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
26731 (grub_longjmp): Likewise.
26732
26733 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
26734 [!GRUB_UTIL] (grub_longjmp): Removed.
26735
29dda3ed 267362006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
26737
26738 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
26739 "color!" method does not return any value.
26740
ad2a06ed 267412006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26742
26743 * include/grub/bitmap.h: New file.
26744
26745 * include/grub/i386/pc/vbeutil.h: Likewise.
26746
26747 * video/bitmap.c: Likewise.
26748
26749 * video/readers/tga.c: Likewise.
26750
26751 * video/i386/pc/vbeutil.c: Likewise.
26752
26753 * commands/videotest.c: Code cleanup and updated to reflect to new
26754 video API.
26755
26756 * term/gfxterm.c: Likewise.
26757
26758 * video/video.c: Likewise.
26759
26760 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
26761 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
26762 (bitmap_mod_SOURCES): New entry.
26763 (bitmap_mod_CFLAGS): Likewise.
26764 (bitmap_mod_LDFLAGS): Likewise.
26765 (tga_mod_SOURCES): Likewise.
26766 (tga_mod_CFLAGS): Likewise.
26767 (tga_mod_LDFLAGS): Likewise.
26768
26769 * include/grub/video.h (grub_video_blit_operators): New enum type.
26770 (grub_video_render_target): Changed as forward declaration and moved
26771 actual definition to be video driver specific.
26772 (grub_video_adapter.blit_bitmap): Added blitting operator.
26773 (grub_video_adapter.blit_render_target): Likewise.
26774 (grub_video_blit_bitmap): Likewise.
26775 (grub_video_blit_render_target): Likewise.
26776
26777 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
26778 driver specific render target definition.
26779 (grub_video_vbe_map_rgba): Added driver internal helper.
26780 (grub_video_vbe_unmap_color): Updated to use
26781 grub_video_i386_vbeblit_info.
26782 (grub_video_vbe_get_video_ptr): Likewise.
26783
26784 * include/grub/i386/pc/vbeblit.h
26785 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
26786 grub_video_i386_vbeblit_info.
26787 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26788 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26789 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26790 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26791 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26792 (grub_video_i386_vbeblit_index_index): Likewise.
26793 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
26794 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26795 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26796 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
26797 operator.
26798 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
26799 operator.
26800
26801 * video/i386/pc/vbeblit.c: Updated to reflect changes on
26802 include/grub/i386/pc/vbeblit.h.
26803
26804 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
26805 Updated to use grub_video_i386_vbeblit_info.
26806 (grub_video_i386_vbefill_R8G8B8): Likewise.
26807 (grub_video_i386_vbefill_index): Likewise.
26808 (grub_video_i386_vbefill): Added generic filler.
26809
26810 * video/i386/pc/vbefill.c: Updated to reflect changes on
26811 include/grub/i386/pc/vbefill.h.
26812
26813 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
26814 grub_video_i386_vbeblit_info.
26815 (grub_video_vbe_unmap_color): Likewise.
26816 (grub_video_vbe_blit_glyph): Likewise.
26817 (grub_video_vbe_scroll): Likewise.
26818 (grub_video_vbe_draw_pixel): Removed function.
26819 (grub_video_vbe_get_pixel): Likewise.
26820 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
26821 updated code to use it.
26822 (common_blitter): Added common blitter for render target and bitmap.
26823 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
26824 (grub_video_vbe_blit_render_target): Likewise.
26825
bc8c036d 268262006-07-30 Johan Rydberg <jrydberg@gnu.org>
26827
26828 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
26829 is in text mode if there is no console control protocol instance
26830 available.
26831
684a8eff 268322006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26833
26834 * include/grub/video.h: Code cleanup.
26835
26836 * include/grub/i386/pc/vbe.h: Likewise.
26837
26838 * video/i386/pc/vbe.c: Likewise.
26839
26840 * video/i386/pc/vbeblit.c: Likewise.
26841
26842 * video/i386/pc/vbefill.c: Likewise.
26843
26844 * video/video.c: Likewise. Also added more comments.
26845
5915059b 268462006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26847
26848 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
26849 (struct grub_biosdisk_dap): Likewise.
26850
26851 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
26852 linkage settings for all functions.
26853
90ce5d56 268542006-07-12 Marco Gerards <marco@gnu.org>
26855
26856 * configure.ac (--enable-mm-debug): Fix typo.
26857
26858 * genkernsyms.sh.in: Use proper quoting for `CC'.
26859
43e7f879 268602006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
26861
26862 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
26863 (normal_mod_ASFLAGS): Remove "-m32".
26864
4889bdec 268652006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
26866
26867 * util/misc.c: Include config.h.
26868 [!HAVE_MEMALIGN]: Do not include malloc.h.
26869 (grub_memalign): Use posix_memalign, if present. Then, use
26870 memalign, if present. Otherwise, emit an error.
26871
26872 * util/grub-emu.c: Do not include malloc.h.
26873
26874 * include/grub/util/misc.h: Include unistd.h. This is required for
26875 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
26876 D. Eades III <hde@foobar-qux.org>.
26877
26878 * configure.ac (AC_GNU_SOURCE): Added.
26879 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
26880 type.
26881
fd39d4da 268822006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
26883
26884 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
26885 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
26886
b786f3b5 268872006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
26888
26889 * include/grub/types.h (grub_host_addr_t): Rename to
26890 grub_target_addr_t.
26891 (grub_host_off_t): Rename to grub_target_off_t.
26892 (grub_host_size_t): Rename to grub_target_size_t.
26893 (grub_host_ssize_t): Rename to grub_target_ssize_t.
26894 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
26895
26896 * include/grub/kernel.h (struct grub_module_header): Change type
26897 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
26898 (grub_module_info): Likewise.
f19dbdb7 26899
051988bb 269002006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26901
26902 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
26903 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
26904 Velazquez <jesus.velazquez@gmail.com>.
26905
deae281b 269062006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26907
26908 Count partitions from 1 instead of 0 in the string representation
26909 of partitions. Still use 0-based internally.
f19dbdb7 26910
deae281b 26911 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
26912 (sun_partition_map_iterate): Use grub_partition_t instead of
26913 struct grub_partition *. Cast DESC->START_CYLINDER to
26914 grub_uint64_t after converting the endian.
26915 (sun_partition_map_probe): Subtract 1 for PARTNUM.
26916 (sun_partition_map_get_name): Add 1 to P->INDEX.
26917
26918 * partmap/pc.c (grub_partition_parse): Subtract 1 for
26919 PCDATA->DOS_PART.
26920 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
26921
26922 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
26923 zero instead of one.
26924 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
26925 (gpt_partition_map_get_name): Add 1 into P->INDEX.
26926
26927 * partmap/apple.c (apple_partition_map_iterate): Change the type
26928 of POS to unsigned.
26929 (apple_partition_map_probe): Subtract 1 for PARTNUM.
26930 (apple_partition_map_get_name): Add 1 into P->INDEX.
26931
26932 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
26933 of POS to unsigned.
26934 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
26935 calculate the offset of a partition.
26936 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
26937 (amiga_partition_map_get_name): Add 1 into P->INDEX.
26938
26939 * partmap/acorn.c (acorn_partition_map_find): Change the type of
26940 SECTOR to grub_disk_addr_t.
26941 (acorn_partition_map_iterate): Likewise.
26942 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
26943 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
26944 top.
26945 (acorn_partition_map_get_name): Add 1 into P->INDEX.
26946
26947 * kern/i386/pc/init.c (make_install_device): Add 1 into
26948 GRUB_INSTALL_DOS_PART.
26949
26950 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
26951 conditional.
26952
524a1e6a 269532006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26954
26955 Clean up the code to support 64-bit addressing in disks and
26956 files. This change is not enough for filesystems yet.
f19dbdb7 26957
524a1e6a 26958 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
26959 type of "start" to grub_uint64_t.
26960 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
26961 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
26962 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
26963 convert addresses.
26964
26965 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
26966 to grub_disk_addr_t.
26967
26968 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
26969 string.
26970
26971 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26972
26973 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
26974 to char *.
26975
26976 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
26977
26978 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
26979
26980 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
26981
26982 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
26983 to grub_off_t, to detect an error from grub_file_seek.
26984 (grub_multiboot_load_elf32): Likewise.
26985
26986 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
26987 maximum unsigned long value when an overflow is detected.
26988 (grub_strtoull): New function.
26989 (grub_divmod64): Likewise.
26990 (grub_lltoa): use grub_divmod64.
26991
26992 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
26993 grub_disk_addr_t.
26994 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
26995 the pointer to next character. Use grub_strtoull instead of
26996 grub_strtoul.
26997 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
26998 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
26999 respectively.
27000
fe6b695a 27001 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 27002 return value is signed.
27003 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
27004 test if OFFSET is less than zero, as OFFSET is unsigned now.
27005
27006 * kern/disk.c (struct grub_disk_cache): Change the type of
27007 "sector" to grub_disk_addr_t.
27008 (grub_disk_cache_get_index): Change the type of SECTOR to
27009 grub_disk_addr_t. Calculate the hash with SECTOR casted to
27010 unsigned after shifting.
27011 (grub_disk_cache_invalidate): Change the type of SECTOR to
27012 grub_disk_addr_t.
27013 (grub_disk_cache_unlock): Likewise.
27014 (grub_disk_cache_store): Likewise.
27015 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
27016 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
27017 grub_disk_addr_t and grub_uint64_t, respectively.
27018 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
27019 body, as the value of OFFSET is tweaked by
27020 grub_disk_check_range. Change the types of START_SECTOR, LEN and
27021 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
27022 respectively.
27023 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
27024 body, as the value of OFFSET is tweaked by
27025 grub_disk_check_range. Change the types of LEN and N to
27026 grub_size_t.
27027
27028 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
27029 and "saved_offset" to grub_off_t.
27030 (test_header): Cast BUF to char *.
27031 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
27032 to char *.
27033 (grub_gzio_read): Change the types of OFFSET and SIZE to
27034 grub_off_t and grub_size_t, respectively.
27035
27036 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
27037 Removed.
27038 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
27039 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
27040 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
27041 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
27042 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
27043
27044 * include/grub/types.h (grub_off_t): Unconditionally set to
27045 grub_uint64_t.
27046 (grub_disk_addr_t): Changed to grub_uint64_t.
27047
27048 * include/grub/partition.h (struct grub_partition): Change the
27049 types of "start", "len" and "offset" to grub_disk_addr_t,
27050 grub_uint64_t and grub_disk_addr_t, respectively.
27051 (grub_partition_get_start): Return grub_disk_addr_t.
27052 (grub_partition_get_len): Return grub_uint64_t.
27053
27054 * include/grub/misc.h (grub_strtoull): New prototype.
27055 (grub_divmod64): Likewise.
27056
27057 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
27058 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
27059 grub_off_t, respectively.
27060 All callers and references changed.
27061
27062 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
27063 grub_size_t in "read".
27064 All callers and references changed.
27065
27066 * include/grub/file.h (struct grub_file): Change the types of
27067 "offset" and "size" to grub_off_t and grub_off_t,
27068 respectively. Change the type of SECTOR to grub_disk_addr_t in
27069 "read_hook".
27070 (grub_file_read): Change the type of LEN to grub_size_t.
27071 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
27072 grub_off_t.
27073 (grub_file_size): Return grub_off_t.
27074 (grub_file_tell): Likewise.
27075 All callers and references changed.
27076
27077 * include/grub/disk.h (struct grub_disk_dev): Change the types of
27078 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
27079 "write".
27080 (struct grub_disk): Change the type of "total_sectors" to
27081 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 27082 "read_hook".
524a1e6a 27083 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
27084 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
27085 (grub_disk_write): Likewise.
27086 All callers and references changed.
27087
27088 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
27089 char * for grub_strncmp to silence gcc.
27090 (grub_iso9660_mount): Likewise.
27091 (grub_iso9660_mount): Likewise.
27092 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
27093 return statement.
27094 (grub_iso9660_iterate_dir): Likewise.
27095 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
27096
27097 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
27098 LEN to grub_disk_addr_t and grub_size_t, respectively.
27099
27100 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27101
27102 * fs/jfs.c (grub_jfs_read_file): Likewise.
27103
27104 * fs/minix.c (grub_jfs_read_file): Likewise.
27105
27106 * fs/sfs.c (grub_jfs_read_file): Likewise.
27107
27108 * fs/ufs.c (grub_jfs_read_file): Likewise.
27109
27110 * fs/xfs.c (grub_jfs_read_file): Likewise.
27111
27112 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
27113 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
27114 respectively.
27115
27116 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
27117 BLKNR to -1 instead of returning GRUB_ERRNO.
27118 (grub_ext2_read_file): Change the types of SECTOR and
27119 LEN to grub_disk_addr_t and grub_size_t, respectively.
27120
27121 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
27122 LEN to grub_disk_addr_t and grub_size_t, respectively.
27123
27124 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
27125 grub_file_read.
27126
27127 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
27128 string. Do not cast SECTOR explicitly.
27129
27130 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
27131 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
27132 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
27133 grub_disk_addr_t and grub_size_t, respectively. If the sector is
27134 over 2TB and LBA mode is not supported, raise an error.
27135 (get_safe_sectors): New function.
27136 (grub_biosdisk_read): Use get_safe_sectors.
27137 (grub_biosdisk_write): Likewise.
27138
27139 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
27140 (grub_efidisk_write): Likewise.
27141
27142 * disk/loopback.c (delete_loopback): Cosmetic changes.
27143 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
27144 correctly.
27145 (grub_loopback_open): Likewise.
27146 (grub_loopback_read): Likewise. Also, change the type of POS to
27147 grub_off_t, and fix the usage of grub_memset.
27148
27149 * commands/i386/pc/play.c: Include grub/machine/time.h.
27150
27151 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
27152 print FILE->SIZE.
27153
27154 * commands/configfile.c: Include grub/env.h.
27155
27156 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
27157 GRUB_ERRNO directly instead. Change the type of POS to
27158 grub_off_t. Follow the coding standard.
27159
27160 * commands/blocklist.c: Include grub/partition.h.
27161 (grub_cmd_blocklist): Return an error if the underlying device is
27162 not a disk. Take the starting sector of a partition into account,
27163 if a partition is used.
27164
27165 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
27166 a length field.
27167 (lba_mode): Support 64-bit addresses.
27168 (chs_mode): Likewise.
27169 (copy_buffer): Adapted to the new offsets of a length field and a
27170 segment field.
27171 (blocklist_default_start): Allocate 64-bit space.
27172
27173 * boot/i386/pc/boot.S (force_lba): Removed.
27174 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 27175 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 27176 space.
27177 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
27178 is useless.
27179 (lba_mode): Refactored to support a 64-bit address. More size
27180 optimization.
27181 (setup_sectors): Likewise.
27182
53af98ad 271832006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27184
27185 * DISTLIST: Added include/grub/i386/linux.h. Removed
27186 include/grub/i386/pc/linux.h
27187
27188 * configure.ac (AC_INIT): Bumped to 1.94.
27189
27190 * config.guess: Updated from gnulib.
27191 * config.sub: Likewise.
27192 * install-sh: Likewise.
27193 * mkinstalldirs: Likewise.
27194
b4c1940a 271952006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27196
27197 * conf/common.rmk (grub_modules_init.lst): Depended on
27198 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
27199 MODSRCFILES.
27200
27201 * genmk.rb (PModule::rule): Reverted the previous change.
27202
cfca1cfd 272032006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27204
27205 * conf/common.rmk (grub_modules_init.lst): Depends on
27206 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
27207 that the target does not exist before producing.
27208 (grub_modules_init.h): Remove the target before generating.
27209 (grub_emu_init.c): Likewise.
27210
27211 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
27212
aa6d7826 272132006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
27214
27215 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
27216 for the target-specific tests. Make sure that we also have the
27217 up-to-date target variables for those tests.
27218
26c607b9 272192006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27220
27221 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
27222 (PModule::rule): Likewise.
27223
0162321a 272242006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27225
27226 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
27227 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
27228 target-specific flags should be prefixed.
27229 (PModule::rule): Likewise.
27230
6c826348 272312006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
27232
27233 * configure.ac (CMP): Check if cmp is available explicitly.
27234
b977bf01 272352006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
27236
27237 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
27238 (target_cpu): New variable.
27239 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 27240
b977bf01 27241 * util/i386/pc/grub-install.in (host_cpu): Removed.
27242 (target_cpu): New variable.
27243 (pkglibdir): Use target_cpu instead of host_cpu.
27244
27245 * util/genmoddep.c: Removed.
f19dbdb7 27246
b977bf01 27247 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
27248 instead of GRUB_HOST_SIZEOF_VOID_P.
27249 * kern/dl.c: Likewise.
27250
27251 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
27252 ...
27253 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27254 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27255 (GRUB_TARGET_SIZEOF_LONG): ... this.
27256 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27257 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27258 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27259 to ...
27260 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27261 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27262 (GRUB_TARGET_SIZEOF_LONG): ... this.
27263 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27264 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27265 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27266 to ...
27267 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27268 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27269 (GRUB_TARGET_SIZEOF_LONG): ... this.
27270 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27271 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27272
27273 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
27274 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
27275 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
27276 instead of GRUB_HOST_SIZEOF_LONG.
27277 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
27278 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
27279 GRUB_CPU_WORDS_BIGENDIAN.
27280 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
27281 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
27282 grub_host_ssize_t.
27283
27284 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
27285 (genmoddep_SOURCES): Likewise.
27286 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
27287 (genmoddep_SOURCES): Likewise.
27288 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
27289 (genmoddep_SOURCES): Likewise.
27290 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
27291 Likewise.
27292 (genmoddep_SOURCES): Likewise.
27293
27294 * genmoddep.awk: New file.
27295
27296 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
27297 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
27298 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
27299 (PModule::rule): Likewise.
27300 (Program::rule): Likewise.
27301 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
27302 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
27303 respectively.
27304
27305 * configure.ac: Rewritten intensively to use host and target
27306 instead of build and host, respectively.
27307
27308 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
27309 (host_cpu): Removed.
27310 (target_cpu): New variable.
27311 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
27312 (BUILD_CC): Removed.
27313 (BUILD_CFLAGS): Likewise.
27314 (BUILD_CPPFLAGS): Likewise.
27315 (TARGET_CC): New variable.
27316 (TARGET_CFLAGS): Likewise.
27317 (TARGET_CPPFLAGS): Likewise.
27318 (TARGET_LDFLAGS): Likewise.
27319 (AWK): Likewise.
27320 (include): Use target_cpu instead of host_cpu.
27321 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 27322
b977bf01 27323 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
27324
f09771a1 273252006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
27326
27327 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
27328 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
27329 field 'false' to 'exec_on_false'.
27330 (grub_script_create_cmdif): Renamed argument names to reflect above
27331 changes.
27332
27333 * normal/execute.c (grub_script_execute_cmdif): Likewise.
27334
27335 * normal/script.c (grub_script_create_cmdif): Likewise.
27336
118f4fb3 273372006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
27338
27339 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
27340 top.
27341 (grub_hfsplus_btree_recptr): Likewise.
27342 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
27343 FILEBLOCK both to pass a block number and store next block
27344 number.
27345 (grub_hfsplus_read_block): Rewritten heavily to support an extent
27346 overflow file correctly. Specify errors appropriately, because
27347 fshelp expects that GRUB_ERRNO is set when fails. Reuse
27348 grub_hfsplus_btree_recptr to get the pointer to a found key.
27349 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
27350 is found.
27351
27352 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
27353 linux.mod.
27354 (_linux_mod_SOURCES): New variable.
27355 (_linux_mod_CFLAGS): Likewise.
27356 (_linux_mod_LDFLAGS): Likewise.
27357 (linux_mod_SOURCES): Likewise.
27358 (linux_mod_CFLAGS): Likewise.
27359 (linux_mod_LDFLAGS): Likewise.
27360
27361 * DISTLIST: Added loader/i386/efi/linux.c,
27362 loader/i386/efi/linux_normal.c and
27363 include/grub/i386/efi/loader.h.
27364
27365 * loader/i386/efi/linux.c: New file.
27366 * loader/i386/efi/linux_normal.c: Likewise.
27367 * include/grub/i386/efi/loader.h: Likewise.
27368
89a7d726 273692006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
27370
27371 * commands/blocklist.c: New file.
27372
27373 * DISTLIST: Added commands/blocklist.c.
27374
27375 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 27376 color for the background, and a darker color for the foreground.
89a7d726 27377 (grub_console_checkkey): Return READ_KEY.
27378 (grub_console_cls): Set the background to
27379 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
27380
27381 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
27382
27383 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
27384 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
27385
27386 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
27387 prototype.
27388
27389 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
27390 BG. The spec is wrong again.
27391
27392 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
27393 prototype.
27394 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
27395
27396 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27397 commands/blocklist.c.
27398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 27399
89a7d726 27400 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
27401 (blocklist_mod_SOURCES): New variable.
27402 (blocklist_mod_CFLAGS): Likewise.
27403 (blocklist_mod_LDFLAGS): Likewise.
27404
75c8f258 274052006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
27406
27407 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
27408 duplication.
27409 (lba_mode): Use %eax more intensively to reduce the code size.
27410
da2eb181 274112006-05-20 Marco Gerards <marco@gnu.org>
27412
27413 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
27414
27415 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
27416 for `menuentry'.
27417 (script): Accept leading newlines.
27418 (newlines): New rule to describe 0 or more newlines.
27419 (commands): Accept `command' with trailing newline. Fixed the
27420 order in which arguments were passed to `grub_script_add_cmd'.
27421 Accept commands separated by newlines.
27422 (function): Changed to accept newlines.
27423 (menuentry) Rewritten.
27424
27425 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
27426 front of the list, instead of to the end.
27427
577b4050 274282006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
27429
27430 * util/i386/pc/grub-install.in (bindir): New variable.
27431 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
27432 Shaver <lbgwjl@gmail.com>.
27433
0d6e1189 274342006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
27435
27436 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
27437 grub/machine/linux.h
27438 * loader/i386/pc/linux.c: Likewise.
27439
27440 * include/grub/i386/pc/linux.h: Moved to ...
27441 * include/grub/i386/linux.h: ... here.
27442
27443 * include/grub/i386/linux.h (struct linux_kernel_params): New
27444 struct.
f19dbdb7 27445
31b86e9f 274462006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
27447
27448 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
27449 checking.
27450 (grub_video_vbe_blit_glyph): Likewise.
27451 (grub_video_vbe_blit_bitmap): Likewise.
27452 (grub_video_vbe_blit_render_target): Likewise.
27453
83b984de 274542006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
27455
27456 * configure.ac (--with-platform): Properly quote the square
27457 brackets.
27458
5f0413bd 274592006-05-08 Marco Gerards <marco@gnu.org>
27460
27461 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
27462 this...
27463 (kernel_elf_HEADERS): ...to this. Updated all users.
27464 (grubof_symlist.c): Renamed from this...
27465 (kernel_elf_symlist.c): ...to this. Updated all users.
27466 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27467 (grubof_SOURCES): Renamed from this...
27468 (kernel_elf_SOURCES): ...to this.
27469 (grubof_HEADERS): Renamed from this...
27470 (kernel_elf_HEADERS): ...to this.
27471 (grubof_CFLAGS): Renamed from this...
27472 (kernel_elf_CFLAGS): ...to this.
27473 (grubof_ASFLAGS): Renamed from this...
27474 (kernel_elf_ASFLAGS): ...to this.
27475 (grubof_LDFLAGS): Renamed from this...
27476 (kernel_elf_LDFLAGS): ...to this.
27477
27478 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
27479 this...
27480 (kernel_elf_HEADERS): ...to this. Updated all users.
27481 (grubof_symlist.c): Renamed from this...
27482 (kernel_elf_symlist.c): ...to this. Updated all users.
27483 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27484 (grubof_SOURCES): Renamed from this...
27485 (kernel_elf_SOURCES): ...to this.
27486 (grubof_HEADERS): Renamed from this...
27487 (kernel_elf_HEADERS): ...to this.
27488 (grubof_CFLAGS): Renamed from this...
27489 (kernel_elf_CFLAGS): ...to this.
27490 (grubof_ASFLAGS): Renamed from this...
27491 (kernel_elf_ASFLAGS): ...to this.
27492 (grubof_LDFLAGS): Renamed from this...
27493 (kernel_elf_LDFLAGS): ...to this.
27494
27495 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
27496 `kernel.elf' instead of `grubof'.
27497
05568c2e 274982006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
27499
27500 Add --with-platform to configure. Use pkglibdir instead of
27501 pkgdatadir. This is reported by Roger Leigh.
27502
27503 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
27504 (host_vendor): Likewise.
27505 (host_os): Likewise.
27506 (pkgdatadir): Likewise.
27507 (platform): New variable.
27508 (pkglibdir): Likewise.
27509 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 27510
05568c2e 27511 * util/i386/pc/grub-install.in (datadir): Removed.
27512 (host_vendor): Likewise.
27513 (host_os): Likewise.
27514 (pkgdatadir): Likewise.
27515 (platform): New variable.
27516 (pkglibdir): Likewise.
27517 Use PKGLIBDIR instead of PKGDATADIR.
27518
27519 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
27520 instead of GRUB_DATADIR.
27521 (main): Likewise.
27522 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27523 (main): Likewise.
27524 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27525 (main): Likewise.
27526
27527 * configure.ac (--with-platform): New option.
27528 Use PLATFORM instead of HOST_VENDOR to specify a platform.
27529
27530 * Makefile.in: Include a makefile based on PLATFORM instead of
27531 HOST_VENDOR.
27532 (pkgdatadir): Not appended by the machine type.
27533 (pkglibdir): Appended by the machine type.
27534 (host_vendor): Removed.
27535 (platform): New variable.
27536 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
27537 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
27538 (uninstall): Likewise.
27539
4e93851c 275402006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
27541
27542 Use the environment context in the menu. Remove the commands
27543 "default" and "timeout", and use variables instead.
f19dbdb7 27544
4e93851c 27545 * normal/menu.c: Include grub/env.h.
27546 (print_entry): Cast TITLE to silence gcc.
27547 (get_timeout): New function.
27548 (set_timeout): Likewise.
27549 (get_entry_number): Likewise.
27550 (run_menu): Use a default entry, a fallback entry and a timeout
27551 in the environment variables "default", "fallback" and
27552 "timeout". Also, tweak the default entry if it is not within the
27553 current menu entries.
27554 (grub_menu_run): Use a fallback entry in the environment variable
27555 "fallback".
27556
27557 * normal/main.c (read_config_file): Do not initialize
27558 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
27559 NEWMENU->TIMEOUT.
27560 (grub_normal_execute): Use a data slot to store the menu.
27561
27562 * include/grub/normal.h (struct grub_menu): Removed default_entry,
27563 fallback_entry and timeout.
27564 (struct grub_menu_list): Removed.
27565 (grub_menu_list_t): Likewise.
27566 (struct grub_context): Likewise.
27567 (grub_context_t): Likewise.
27568 (grub_context_get): Likewise.
27569 (grub_context_get_current_menu): Likewise.
27570 (grub_context_push_menu): Likewise.
27571 (grub_context_pop_menu): Likewise.
27572 (grub_default_init): Likewise.
27573 (grub_default_fini): Likewise.
27574 (grub_timeout_init): Likewise.
27575 (grub_timeout_fini): Likewise.
27576
27577 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
27578 and timeout.mod.
27579 (normal_mod_SOURCES): Removed normal/context.c.
27580
27581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
27582 commands/default.c, commands/timeout.c and normal/context.c.
27583 (normal_mod_SOURCES): Removed normal/context.c.
27584
27585 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
27586 commands/timeout.c and normal/context.c.
27587 (normal_mod_SOURCES): Removed normal/context.c.
27588
27589 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
27590 commands/default.c, commands/timeout.c and normal/context.c.
27591 (normal_mod_SOURCES): Removed normal/context.c.
27592
27593 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
27594 timeout.mod.
27595 (default_mod_SOURCES): Removed.
27596 (default_mod_CFLAGS): Likewise.
27597 (default_mod_LDFLAGS): Likewise.
27598 (timeout_mod_SOURCES): Removed.
27599 (timeout_mod_CFLAGS): Likewise.
27600 (timeout_mod_LDFLAGS): Likewise.
27601
27602 * DISTLIST: Removed commands/default.c, commands/timeout.c and
27603 normal/context.c.
27604
27605 * commands/default.c: Removed.
27606 * commands/timeout.c: Likewise.
27607 * normal/context.c: Likewise.
27608
1eb9cc1d 276092006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
27610
27611 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
27612
385bd9c1 276132006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
27614
27615 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
27616 "next" to "prev" for readability.
27617 (struct grub_env_sorted_var): New struct.
27618 (grub_env_context): Renamed to ...
27619 (initial_context): ... this.
27620 (grub_env_var_context): Renamed to ...
27621 (current_context): ... this.
27622 (grub_env_find): Look only at CURRENT_CONTEXT.
27623 (grub_env_context_open): Rewritten to copy exported variables from
27624 previous context.
27625 (grub_env_context_close): Rewritten according to the new
27626 scheme. Also, add an assertion to prevent the initial context from
27627 removed.
27628 (grub_env_insert): Removed the code for the sorted list.
27629 (grub_env_remove): Likewise.
27630 (grub_env_export): Simply mark the variable with
27631 GRUB_ENV_VAR_GLOBAL.
27632 (grub_env_set): A cosmetic change for naming consistency.
27633 (grub_env_get): Likewise.
27634 (grub_env_unset): Likewise.
27635 (grub_env_iterate): Rewritten to sort variables within this
27636 function.
27637 (grub_register_variable_hook): Fixed for naming consistency. Call
27638 grub_env_find again, only if NAME is not found at the first time.
27639 (mangle_data_slot_name): New function.
27640 (grub_env_set_data_slot): Likewise.
27641 (grub_env_get_data_slot): Likewise.
27642 (grub_env_unset_data_slot): Likewise.
27643
27644 * include/grub/env.h (grub_env_var_type): New enum.
27645 (GRUB_ENV_VAR_LOCAL): New constant.
27646 (GRUB_ENV_VAR_GLOBAL): Likewise.
27647 (GRUB_ENV_VAR_DATA): Likewise.
27648 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
27649 "type".
27650 (grub_env_set): Replace VAR with NAME for consistency.
27651 (grub_register_variable_hook): Likewise.
27652 (grub_env_export): Specify the name of the argument.
27653 (grub_env_set_data_slot): New prototype.
27654 (grub_env_get_data_slot): Likewise.
27655 (grub_env_unset_data_slot): Likewise.
27656
7f362539 276572006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27658
27659 Extend the loader so that GRUB can accept a loader which comes
27660 back to GRUB when a loaded image exits. Also, this change adds
27661 support for a chainloader on EFI.
f19dbdb7 27662
7f362539 27663 * term/efi/console.c: Include grub/misc.h.
27664 (grub_console_checkkey): Display a scan code on the top for
27665 debugging. This will be removed once the EFI port gets stable.
27666 Correct the scan code mapping.
27667
27668 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
27669 allocate memory from larger regions, in order to reduce the number
27670 of allocated regions. Otherwise, the MacOSX loader panics.
27671 (filter_memory_map): Avoid less than 1MB for compatibility with
27672 other loaders.
27673 (add_memory_regions): Allocate from the tail of a region, if
27674 possible, to avoid allocating a region near to 1MB, for the MacOSX
27675 loader.
27676
27677 * kern/efi/init.c (grub_efi_set_prefix): Specify
27678 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
27679
27680 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
27681 argument IMAGE_HANDLE and specify it to get a loaded image.
27682 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
27683 grub_efi_get_loaded_image.
fe6b695a 27684 (grub_efi_get_filename): Divide the length by the size of
7f362539 27685 grub_efi_char16_t.
27686 (grub_efi_get_device_path): New function.
27687 (grub_efi_print_device_path): Print End Device Path nodes. Divide
27688 the length by the size of grub_efi_char16_t for a file path device
27689 path node.
27690
27691 * kern/loader.c (grub_loader_noreturn): New variable.
27692 (grub_loader_set): Accept a new argument NORETURN. Set
27693 GRUB_LOADER_NORETURN to NORETURN.
27694 All callers changed.
27695 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
27696 grub_machine_fini.
27697
27698 * include/grub/efi/efi.h (grub_efi_get_device_path): New
27699 prototype.
27700 (grub_efi_get_loaded_image): Take an argument to specify an image
27701 handle.
27702
27703 * include/grub/loader.h (grub_loader_set): Added one more argument
27704 NORETURN.
27705
27706 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
27707 instead of grub_efi_open_protocol.
27708 (grub_efidisk_get_device_name): Likewise.
27709 (grub_efidisk_close): Print a newline.
27710 (grub_efidisk_get_device_handle): Fixed to use
27711 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
27712 GRUB_EFI_DEVICE_PATH_TYPE.
27713
27714 * disk/efi/efidisk.c (device_path_guid): Moved to ...
27715 * kern/efi/efi.c (device_path_guid): ... here.
27716
27717 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
27718 chain.mod.
27719 (kernel_mod_HEADERS): Added efi/disk.h.
27720 (_chain_mod_SOURCES): New variable.
27721 (_chain_mod_CFLAGS): Likewise.
27722 (_chain_mod_LDFLAGS): Likewise.
27723 (chain_mod_SOURCES): Likewise.
27724 (chain_mod_CFLAGS): Likewise.
27725 (chain_mod_LDFLAGS): Likewise.
27726
27727 * DISTLIST: Added include/grub/efi/chainloader.h,
27728 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
27729
27730 * include/grub/efi/chainloader.h: New file.
27731 * loader/efi/chainloader.c: Likewise.
27732 * loader/efi/chainloader_normal.c: Likewise.
27733
c0111d6e 277342006-04-30 Marco Gerards <marco@gnu.org>
27735
27736 * commands/configfile.c (grub_cmd_source): New function.
27737 (GRUB_MOD_INIT): Register the commands `source' and `.'.
27738 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
27739
df5341da 277402006-04-30 Marco Gerards <marco@gnu.org>
27741
27742 * normal/execute.c (grub_script_execute_cmd): Change the return
27743 type to `grub_err_t'. Correctly return the error.
27744 (grub_script_execute_cmdline): In case a command line is not a
27745 command or a function, try to interpret it as an assignment.
27746
f85934bd 277472006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27748
27749 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
27750 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
27751 skip a node whose name is obviously invalid as UTF-16,
27752 i.e. contains a NUL character. Stop the iteration when the last
27753 directory entry is found. Instead of using the return value of
27754 grub_hfsplus_btree_iterate_node, store the value in RET and use
27755 it, because the iterator can be stopped by the last directory
27756 entry.
27757
8f8a2cf8 277582006-04-30 Marco Gerards <marco@gnu.org>
27759
27760 * include/grub/env.h (grub_env_export): New prototype. Reported
27761 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
27762
a27e84ce 277632006-04-30 Marco Gerards <marco@gnu.org>
27764
27765 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
27766 size of the extents in a catalog file record.
27767
eaef0553 277682006-04-29 Marco Gerards <marco@gnu.org>
27769
27770 * commands/configfile.c (grub_cmd_configfile): Execute the
27771 configfile within its own context.
27772
27773 * include/grub/env.h (grub_env_context_open): New prototype.
27774 (grub_env_context_close): Likewise.
27775
27776 * kern/env.c (grub_env): Removed.
27777 (grub_env_sorted): Likewise.
27778 (grub_env_context): New variable.
27779 (grub_env_var_context): Likewise.
27780 (grub_env_find): Search both the active context and the global
27781 context.
27782 (grub_env_context_open): New function.
27783 (grub_env_context_close): Likewise.
27784 (grub_env_insert): Likewise.
27785 (grub_env_remove): Likewise.
27786 (grub_env_export): Likewise.
27787 (grub_env_set): Changed to use helper functions to avoid code
27788 duplication.
27789 (grub_env_iterate): Rewritten so both the current context and the
27790 global context are being used.
27791
27792 * normal/command.c (export_command): New function.
27793 (grub_command_init): Register the `export' function.
27794
7b455f4d 277952006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
27796
27797 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
27798 explicitly to suppress gcc's warnings.
27799 * fs/fat.c (grub_fat_find_dir): Likewise.
27800 (grub_fat_label): Likewise.
27801 * fs/xfs.c (grub_xfs_read_inode): Likewise.
27802 (grub_xfs_mount): Likewise.
27803 (grub_xfs_label): Likewise.
27804 * fs/affs.c (grub_affs_mount): Likewise.
27805 (grub_affs_label): Likewise.
27806 (grub_affs_iterate_dir): Likewise.
27807 * fs/sfs.c (grub_sfs_mount): Likewise.
27808 (grub_sfs_iterate_dir): Likewise.
27809 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
27810 * fs/hfs.c (grub_hfs_mount): Likewise.
27811 (grub_hfs_cmp_catkeys): Likewise.
27812 (grub_hfs_find_dir): Likewise.
27813 (grub_hfs_dir): Likewise.
27814 (grub_hfs_label): Likewise.
27815 * fs/jfs.c (grub_jfs_mount): Likewise.
27816 (grub_jfs_opendir): Likewise.
27817 (grub_jfs_getent): Likewise.
27818 (grub_jfs_lookup_symlink): Likewise.
27819 (grub_jfs_label): Likewise.
27820 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
27821 (grub_hfsplus_iterate_dir): Likewise.
27822 (grub_hfsplus_btree_iterate_node): Made static.
27823
27824 * util/grub-emu.c (prefix): New variable.
27825 (grub_machine_set_prefix): New function.
27826 (main): Do not set the environment variable "prefix" here. Only
27827 set PREFIX, which is used later by grub_machine_set_prefix.
27828
27829 * include/grub/video.h: Do not include grub/symbol.h.
27830 (grub_video_register): Not exported. This symbol is not defined in
27831 the kernel.
27832 (grub_video_unregister): Likewise.
27833 (grub_video_iterate): Likewise.
27834 (grub_video_setup): Likewise.
27835 (grub_video_restore): Likewise.
27836 (grub_video_get_info): Likewise.
27837 (grub_video_get_blit_format): Likewise.
27838 (grub_video_set_palette): Likewise.
27839 (grub_video_get_palette): Likewise.
27840 (grub_video_set_viewport): Likewise.
27841 (grub_video_get_viewport): Likewise.
27842 (grub_video_map_color): Likewise.
27843 (grub_video_map_rgb): Likewise.
27844 (grub_video_map_rgba): Likewise.
27845 (grub_video_fill_rect): Likewise.
27846 (grub_video_blit_glyph): Likewise.
27847 (grub_video_blit_bitmap): Likewise.
27848 (grub_video_blit_render_target): Likewise.
27849 (grub_video_scroll): Likewise.
27850 (grub_video_swap_buffers): Likewise.
27851 (grub_video_create_render_target): Likewise.
27852 (grub_video_delete_render_target): Likewise.
27853 (grub_video_set_active_render_target): Likewise.
27854
27855 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
27856 Undefined.
27857 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
27858
27859 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
27860 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27861 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27862 instead of $(srcdir)/genkernsyms.sh.
27863
27864 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
27865 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27866 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27867 instead of $(srcdir)/genkernsyms.sh.
27868
27869 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
27870 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27871 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27872 instead of $(srcdir)/genkernsyms.sh.
27873
27874 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
27875 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27876 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27877 instead of $(srcdir)/genkernsyms.sh.
27878
27879 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
27880 genkernsyms.sh.
27881
27882 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
27883 genkernsyms.sh.
27884 (gensymlist.sh): New target.
27885 (genkernsyms.sh): Likewise.
27886
27887 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
27888 genkernsyms.sh.in and gensymlist.sh.in.
27889
27890 * genkernsyms.sh: Removed.
27891 * gensymlist.sh: Likewise.
f19dbdb7 27892
7b455f4d 27893 * genkernsyms.sh.in: New file.
27894 * gensymlist.sh.in: Likewise.
27895
1885bb27 278962006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27897
27898 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
27899 clobber "prefix", since we may have already set it manually.
27900
71538dff 279012006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27902
27903 * kern/misc.c (abort): New alias for grub_abort.
27904
2965c7cc 279052006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
27906
27907 A new machine-specific function "grub_machine_set_prefix" is
27908 defined. This is called after loading modules, so that a prefix
27909 initialization can use modules. Also, this change adds an
27910 intensive debugging feature for the memory manager via the
27911 configure option "--enable-mm-debug".
f19dbdb7 27912
2965c7cc 27913 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
27914 PART.LEN.
27915
27916 * kern/sparc64/ieee1275/init.c (abort): Removed.
27917 (grub_stop): Likewise.
27918 (grub_exit): New function.
27919 (grub_set_prefix): Renamed to ...
27920 (grub_machine_set_prefix): ... this.
27921 (grub_machine_init): Do not call grub_set_prefix.
27922
27923 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
27924 (grub_machine_set_prefix): ... this.
27925 (grub_machine_init): Do not call grub_set_prefix.
27926
27927 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
27928 (grub_machine_init): Do not set the prefix here.
27929
27930 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
27931
27932 * kern/efi/init.c: Include grub/mm.h.
27933 (grub_efi_set_prefix): New function.
27934
27935 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
27936 (grub_efi_get_filename): New function.
27937 (grub_print_device_path): Renamed to ...
27938 (grub_efi_print_device_path): ... this.
27939
27940 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
27941 [MM_DEBUG] (grub_realloc): Likewise.
27942 [MM_DEBUG] (grub_free): Likewise.
27943 [MM_DEBUG] (grub_memalign): Likewise.
27944 [MM_DEBUG] (grub_mm_debug): New variable.
27945 [MM_DEBUG] (grub_debug_malloc): New function.
27946 [MM_DEBUG] (grub_debug_free): New function.
27947 [MM_DEBUG] (grub_debug_realloc): New function.
27948 [MM_DEBUG] (grub_debug_memalign): New function.
27949
27950 * kern/misc.c (grub_abort): Print a newline to distinguish
27951 the message.
27952
27953 * kern/main.c (grub_main): Call grub_machine_set_prefix and
27954 grub_set_root_dev after loading modules. This is necessary when
27955 setting a prefix depends on modules.
27956
27957 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
27958 (grub_efi_print_device_path): ... this.
27959 (grub_efi_get_filename): New prototype.
27960 (grub_efi_set_prefix): Likewise.
27961
27962 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
27963 and grub/disk.h.
27964 (grub_efidisk_get_device_handle): New prototype.
27965 (grub_efidisk_get_device_name): Likewise.
27966
27967 * include/grub/mm.h: Include config.h.
27968 (MM_DEBUG): Removed.
27969 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
27970 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
27971 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
27972 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
27973 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
27974 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
27975 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
27976 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
27977 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
27978
27979 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
27980
27981 * disk/efi/efidisk.c: Include grub/partition.h.
27982 (iterate_child_devices): New function.
27983 (add_device): First, compare only last device path nodes, so that
27984 devices are sorted by the types.
27985 (grub_efidisk_get_device_handle): New function.
27986 (grub_efidisk_get_device_name): Likewise.
27987
27988 * configure.ac (--enable-mm-debug): New option to enable the
27989 memory manager debugging feature. This makes the binary much
27990 bigger, so is disabled by default.
27991
9cacaa17 279922006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
27993
27994 Use grub_abort instead of grub_stop, and grub_exit must be
27995 define in each architecture now. Also, this change adds support
27996 for EFI disks.
f19dbdb7 27997
9cacaa17 27998 * util/i386/pc/grub-probefs.c: Include grub/term.h.
27999 (grub_getkey): New function.
28000 (grub_term_get_current): Likewise.
28001
28002 * util/i386/pc/grub-setup.c: Include grub/term.h.
28003 (grub_getkey): New function.
28004 (grub_term_get_current): Likewise.
28005
28006 * util/misc.c (grub_stop): Renamed to ...
28007 (grub_exit): ... this.
28008
28009 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
28010 (grub_exit): ... this.
28011 (grub_machine_init): Use grub_abort instead of abort.
28012 (grub_stop): Removed.
28013
28014 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
28015 abort.
28016
28017 * kern/i386/pc/startup.S (grub_exit): New function.
28018 (cold_reboot): New label.
28019
28020 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
28021 (grub_efi_init): Call grub_efidisk_init.
28022 (grub_efi_fini): Call grub_efidisk_fini.
28023
28024 * kern/efi/efi.c: Include grub/mm.h.
28025 (grub_efi_console_control_guid): Renamed to ...
28026 (console_control_guid): ... this.
28027 (grub_efi_loaded_image_guid): Renamed to ...
28028 (loaded_image_guid): ... this.
28029 (grub_efi_locate_handle): New function.
28030 (grub_efi_open_protocol): Likewise.
28031 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
28032 GRUB_EFI_CONSOLE_CONTROL_GUID.
28033 (grub_efi_exit): Removed.
28034 (grub_stop): Likewise.
28035 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
28036 (grub_exit): New function.
28037 (grub_print_device_path): Likewise.
28038
28039 * kern/rescue.c (grub_rescue_cmd_exit): New function.
28040 (grub_enter_rescue_mode): Register "exit".
28041
28042 * kern/misc.c (grub_real_dprintf): A cosmetic change.
28043 (grub_abort): New function.
28044
28045 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
28046
28047 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
28048
28049 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
28050
28051 * include/grub/efi/efi.h (grub_efi_exit): Removed.
28052 (grub_print_device_path): New prototype.
28053 (grub_efi_locate_handle): Likewise.
28054 (grub_efi_open_protocol): Likewise.
28055
28056 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
28057 * disk/efi/efidisk.c: Likewise.
28058
28059 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
28060
28061 * include/grub/efi/console_control.h
28062 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
28063
28064 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
28065 last 8 bytes as an array.
28066 (GRUB_EFI_DISK_IO_GUID): New macro.
28067 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
28068 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
28069 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
28070 grub_uint8_t.
28071 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
28072 (struct grub_efi_device_path): Rename the member "sub_type" to
28073 "subtype".
28074 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
28075 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
28076 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
28077 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
28078 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
28079 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
28080 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
28081 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
28082 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
28083 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
28084 (struct grub_efi_pci_device_path): New structure.
28085 (grub_efi_pci_device_path_t): New type.
28086 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
28087 (struct grub_efi_pccard_device_path): New structure.
28088 (grub_efi_pccard_device_path_t): New type.
28089 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
28090 (struct grub_efi_memory_mapped_device_path): New structure.
28091 (grub_efi_memory_mapped_device_path_t): New type.
28092 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
28093 (struct grub_efi_vendor_device_path): New structure.
28094 (grub_efi_vendor_device_path_t): New type.
28095 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
28096 (struct grub_efi_controller_device_path): New structure.
28097 (grub_efi_controller_device_path_t): New type.
28098 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
28099 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
28100 (struct grub_efi_acpi_device_path): New structure.
28101 (grub_efi_acpi_device_path_t): New type.
28102 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
28103 (struct grub_efi_expanded_acpi_device_path): New structure.
28104 (grub_efi_expanded_acpi_device_path_t): New type.
28105 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
28106 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
28107 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
28108 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
28109 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
28110 (struct grub_efi_atapi_device_path): New structure.
28111 (grub_efi_atapi_device_path_t): New type.
28112 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
28113 (struct grub_efi_fibre_channel_device_path): New structure.
28114 (grub_efi_fibre_channel_device_path_t): New type.
28115 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
28116 (struct grub_efi_1394_device_path): New structure.
28117 (grub_efi_1394_device_path_t): New type.
28118 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
28119 (struct grub_efi_usb_device_path): New structure.
28120 (grub_efi_usb_device_path_t): New type.
28121 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
28122 (struct grub_efi_usb_class_device_path): New structure.
28123 (grub_efi_usb_class_device_path_t): New type.
28124 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
28125 (struct grub_efi_i2o_device_path): New structure.
28126 (grub_efi_i2o_device_path_t): New type.
28127 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
28128 (struct grub_efi_mac_address_device_path): New structure.
28129 (grub_efi_mac_address_device_path_t): New type.
28130 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
28131 (struct grub_efi_ipv4_device_path): New structure.
28132 (grub_efi_ipv4_device_path_t): New type.
28133 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
28134 (struct grub_efi_ipv6_device_path): New structure.
28135 (grub_efi_ipv6_device_path_t): New type.
28136 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
28137 (struct grub_efi_infiniband_device_path): New structure.
28138 (grub_efi_infiniband_device_path_t): New type.
28139 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
28140 (struct grub_efi_uart_device_path): New structure.
28141 (grub_efi_uart_device_path_t): New type.
28142 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
28143 (struct grub_efi_vendor_messaging_device_path): New structure.
28144 (grub_efi_vendor_messaging_device_path_t): New type.
28145 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
28146 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
28147 (struct grub_efi_hard_drive_device_path): New structure.
28148 (grub_efi_hard_drive_device_path_t): New type.
28149 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
28150 (struct grub_efi_cdrom_device_path): New structure.
28151 (grub_efi_cdrom_device_path_t): New type.
28152 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
28153 (struct grub_efi_vendor_media_device_path): New structure.
28154 (grub_efi_vendor_media_device_path_t): New type.
28155 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
28156 (struct grub_efi_file_path_device_path): New structure.
28157 (grub_efi_file_path_device_path_t): New type.
28158 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
28159 (struct grub_efi_protocol_device_path): New structure.
28160 (grub_efi_protocol_device_path_t): New type.
28161 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
28162 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
28163 (struct grub_efi_bios_device_path): New structure.
28164 (grub_efi_bios_device_path_t): New type.
28165 (struct grub_efi_disk_io): New structure.
28166 (grub_efi_disk_io_t): New type.
28167 (struct grub_efi_block_io_media): New structure.
28168 (grub_efi_block_io_media_t): New type.
28169 (struct grub_efi_block_io): New structure.
28170 (grub_efi_block_io_t): New type.
28171
28172 * include/grub/misc.h (grub_stop): Removed.
28173 (grub_exit): New prototype.
28174 (grub_abort): Likewise.
28175
28176 * include/grub/disk.h (enum grub_disk_dev_id): Added
28177 GRUB_DISK_DEVICE_EFIDISK_ID.
28178
28179 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
28180 disk/efi/efidisk.c.
28181 (kernel_syms.lst): Remove the target if an error occurs.
28182
49986a9f 281832006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
28184
28185 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
28186 as it was simply too buggy.
28187
970d3b8a 281882006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
28189
28190 * kern/misc.c (grub_lltoa): New function.
28191 (grub_vsprintf): Added support for the long long suffix,
28192 i.e. "ll".
28193
ff04ec24 281942006-04-20 Hollis Blanchard <hollis@penguinppc.org>
28195
28196 * Makefile.in (LDFLAGS): Add variable.
28197 (LD): Remove variable.
28198 * configure.ac: Add -m32 to LDFLAGS.
28199 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
28200 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
28201 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
28202 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
28203 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
28204 variables.
28205 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
28206 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
28207 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
28208
37e5e1a4 282092006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
28210
28211 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
28212 length for unknown glyph.
28213
c352d8dd 282142006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
28215
2eab1c0d 28216 Add support for pre-loaded modules into the EFI port.
f19dbdb7 28217
2eab1c0d 28218 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
28219 completely. Accept one more argument DIR. The caller has changed.
28220
28221 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
28222
28223 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
28224 (grub_efi_loaded_image_guid): New variable.
28225 (grub_efi_get_loaded_image): New function.
28226 (grub_arch_modules_addr): Likewise.
28227
28228 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
28229 prototype.
28230
28231 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
28232 (struct grub_efi_loaded_image): New structure.
28233 (grub_efi_loaded_image_t): New type.
28234
282352006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28236
c352d8dd 28237 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
28238 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
28239 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
28240
6d01d6b4 282412006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
28242
28243 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
28244
976a4ea0 282452006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
28246
28247 * DISTLIST: Added include/grub/efi/console.h,
28248 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
28249 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28250
28251 * include/grub/efi/console.h: New file.
28252 * include/grub/efi/time.h: Likewise.
28253 * include/grub/i386/efi/kernel.h: Likewise.
28254 * kern/efi/init.c: Likewise.
28255 * kern/efi/mm.c: Likewise.
28256 * term/efi/console.c: Likewise.
f19dbdb7 28257
976a4ea0 28258 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
28259 (grub_stop): Removed.
28260 (grub_get_rtc): Likewise.
28261 (grub_machine_init): Simply call grub_efi_init.
28262 (grub_machine_fini): Call grub_efi_fini.
28263
28264 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
28265 (grub_efi_output_string): Removed.
28266 (grub_efi_stall): New function.
28267 (grub_stop): Likewise.
28268 (grub_get_rtc): Likewise.
28269
28270 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
28271 (grub_efi_stall): New prototype.
28272 (grub_efi_allocate_pages): Likewise.
28273 (grub_efi_free_pages): Likewise.
28274 (grub_efi_get_memory_map): Likewise.
28275 (grub_efi_mm_init): Likewise.
28276 (grub_efi_mm_fini): Likewise.
28277 (grub_efi_init): Likewise.
28278 (grub_efi_fini): Likewise.
28279
28280 * include/grub/i386/efi/time.h: Do not include
28281 grub/symbol.h. Include grub/efi/time.h.
28282 (GRUB_TICKS_PER_SECOND): Removed.
28283 (grub_get_rtc): Likewise.
28284
28285 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
28286 Added padding. The EFI spec is buggy.
28287 (GRUB_EFI_BLACK): New macro.
28288 (GRUB_EFI_BLUE): Likewise.
28289 (GRUB_EFI_GREEN): Likewise.
28290 (GRUB_EFI_CYAN): Likewise.
28291 (GRUB_EFI_RED): Likewise.
28292 (GRUB_EFI_MAGENTA): Likewise.
28293 (GRUB_EFI_BROWN): Likewise.
28294 (GRUB_EFI_LIGHTGRAY): Likewise.
28295 (GRUB_EFI_BRIGHT): Likewise.
28296 (GRUB_EFI_DARKGRAY): Likewise.
28297 (GRUB_EFI_LIGHTBLUE): Likewise.
28298 (GRUB_EFI_LIGHTGREEN): Likewise.
28299 (GRUB_EFI_LIGHTCYAN): Likewise.
28300 (GRUB_EFI_LIGHTRED): Likewise.
28301 (GRUB_EFI_LIGHTMAGENTA): Likewise.
28302 (GRUB_EFI_YELLOW): Likewise.
28303 (GRUB_EFI_WHITE): Likewise.
28304 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
28305 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
28306 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
28307 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
28308 (GRUB_EFI_BACKGROUND_RED): Likewise.
28309 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
28310 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
28311 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
28312 (GRUB_EFI_TEXT_ATTR): Likewise.
28313
28314 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
28315 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28316 (kernel_mod_HEADERS): Added efi/time.h.
28317
83709125 283182006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
28319
28320 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
28321 include/grub/efi/api.h, include/grub/efi/console_control.h,
28322 include/grub/efi/efi.h, include/grub/efi/pe32.h,
28323 include/grub/i386/efi/time.h, kern/efi/efi.c,
28324 kern/i386/efi/init.c, kern/i386/efi/startup.S,
28325 and util/i386/efi/grub-mkimage.c.
28326
28327 * Makefile.in (RMKFILES): Added i386-efi.rmk.
28328
28329 * genmk.rb (PModule#rule): Do not export symbols if
28330 #{prefix}_EXPORTS is set to "no".
28331
28332 * conf/i386-efi.mk: New file.
28333 * conf/i386-efi.rmk: Likewise.
28334 * include/grub/efi/api.h: Likewise.
28335 * include/grub/efi/console_control.h: Likewise.
28336 * include/grub/efi/efi.h: Likewise.
28337 * include/grub/efi/pe32.h: Likewise.
28338 * include/grub/i386/efi/time.h: Likewise.
28339 * kern/efi/efi.c: Likewise.
28340 * kern/i386/efi/init.c: Likewise.
28341 * kern/i386/efi/startup.S: Likewise.
28342 * util/i386/efi/grub-mkimage.c: Likewise.
28343
283442006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 28345
28346 * include/grub/script.h: Include <grub/parser.h> and
28347 "grub_script.tab.h".
28348 (struct grub_lexer_param): New struct.
28349 (struct grub_parser_param): Likewise.
28350 (grub_script_create_arglist): Pass the state in an argument.
28351 (grub_script_add_arglist): Likewise.
28352 (grub_script_create_cmdline): Likewise.
28353 (grub_script_create_cmdblock): Likewise.
28354 (grub_script_create_cmdif): Likewise.
28355 (grub_script_create_cmdmenu): Likewise.
28356 (grub_script_add_cmd): Likewise.
28357 (grub_script_arg_add): Likewise.
28358 (grub_script_lexer_ref): Likewise.
28359 (grub_script_lexer_deref): Likewise.
28360 (grub_script_lexer_record_start): Likewise.
28361 (grub_script_lexer_record_stop): Likewise.
28362 (grub_script_mem_record): Likewise.
28363 (grub_script_mem_record_stop): Likewise.
28364 (grub_script_malloc): Likewise.
28365 (grub_script_yylex): Likewise.
28366 (grub_script_yyparse): Likewise.
28367 (grub_script_yyerror): Likewise.
28368 (grub_script_yylex): Likewise.
28369 (grub_script_lexer_init): Return the state.
28370
28371 * normal/lexer.c (grub_script_lexer_state): Removed variable.
28372 (grub_script_lexer_done): Likewise.
28373 (grub_script_lexer_getline): Likewise.
28374 (grub_script_lexer_refs): Likewise.
28375 (script): Likewise.
28376 (newscript): Likewise.
28377 (record): Likewise.
28378 (recording): Likewise.
28379 (recordpos): Likewise.
28380 (recordlen): Likewise.
28381 (grub_script_lexer_init): Return the state instead of setting
28382 global variables.
28383 (grub_script_lexer_ref): Use the newly added argument for state
28384 instead of globals.
28385 (grub_script_lexer_deref): Likewise.
28386 (grub_script_lexer_record_start): Likewise.
28387 (grub_script_lexer_record_stop): Likewise.
28388 (recordchar): Likewise.
28389 (nextchar): Likewise.
28390 (grub_script_yylex2): Likewise.
28391 (grub_script_yylex): Likewise.
28392 (grub_script_yyerror): Likewise.
28393
28394 * normal/parser.y (func_mem): Removed variable.
28395 (menu_entry): Likewise.
28396 (err): Likewise.
28397 (%lex-param): New parser option.
28398 (%parse-param): Likewise.
28399 (script): Always return the AST.
28400 (argument): Pass the state around.
28401 (arguments): Likewise.
28402 (grubcmd): Likewise.
28403 (commands): Likewise.
28404 (function): Likewise.
28405 (menuentry): Likewise.
28406 (if_statement): Likewise.
28407 (if): Likewise.
28408
28409 * normal/script.c (grub_script_memused): Removed variable.
28410 (grub_script_parsed): Likewise.
28411 (grub_script_malloc): Added a state argument. Use that instead of
28412 global variables.
28413 (grub_script_mem_record): Likewise.
28414 (grub_script_mem_record_stop): Likewise.
28415 (grub_script_arg_add): Likewise.
28416 (grub_script_add_arglist): Likewise.
28417 (grub_script_create_cmdline): Likewise.
28418 (grub_script_create_cmdif): Likewise.
28419 (grub_script_create_cmdmenu): Likewise.
28420 (grub_script_add_cmd): Likewise.
28421 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 28422
e2a8c904 284232006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 28424
28425 * normal/command.c (grub_command_init): Remove the title command.
28426
28427 * normal/lexer.c (grub_script_yylex): Renamed from this...
28428 (grub_script_yylex2): ... to this.
28429 (grub_script_yylex): New function. Temporary
28430 introduced to filter some tokens.
28431 (grub_script_yyerror): Print a newline.
28432
28433 * normal/main.c (read_config_file): Output information about the
28434 lines that contain errors. Wait for a key after all lines have
28435 been processed. Don't return an empty menu.
28436
28437 * normal/parser.y (func_mem): Don't initialize.
28438 (menu_entry): Likewise.
28439 (err): New variable.
28440 (script): Don't return anything when an error was encountered.
28441 (ws, returns): Removed rules.
28442 (argument): Disabled concatenated variable support.
28443 (arguments): Remove explicit separators.
28444 (grubcmd): Likewise.
28445 (function): Likewise.
28446 (menuentry): Likewise.
28447 (if): Likewise.
28448 (commands): Likewise. Add error handling.
28449
28450 * normal/script.c (grub_script_create_cmdline): If
28451 `grub_script_parsed' is 0, assume the parser encountered an error.
28452
c9a86192 284532006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
28454
28455 * configure.ac: Add support for EFI. Fix the typo
28456 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
28457
70f3b243 284582006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28459
28460 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
28461 foreign multibyte characters should be shown correctly.
28462
65f201ad 284632006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28464
28465 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
28466 calculation.
28467 (read_config_file): Made it to close file before returning.
28468
b4b93674 284692006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
28470
28471 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
28472 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
28473 video/i386/pc/vbefill.c.
28474
28475 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
28476 video/i386/pc/vbefill.c.
28477
28478 * include/grub/video.h (grub_video_blit_format): New enum.
28479 (grub_video_mode_info): Added new member blit_format.
28480 (grub_video_get_blit_format): New function prototype.
28481
28482 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
28483 function prototype.
28484 (grub_video_vbe_map_rgb): Likewise.
28485 (grub_video_vbe_unmap_color): Likewise.
28486
28487 * include/grub/i386/pc/vbeblit.h: New file.
28488
28489 * include/grub/i386/pc/vbefill.h: New file.
28490
28491 * video/video.c (grub_video_get_blit_format): New function.
28492 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
28493 (grub_video_vbe_map_rgb): Likewise.
28494 (grub_video_vbe_unmap_color): Likewise.
28495
28496 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
28497 optimized fills.
28498 (grub_video_vbe_blit_render_target): Changed to use more optimized
28499 blits.
28500 (grub_video_vbe_setup): Added detection for optimized settings.
28501 (grub_video_vbe_create_render_target): Likewise.
28502
28503 * video/i386/pc/vbeblit.c: New file.
28504
28505 * video/i386/pc/vbefill.c: New file.
28506
c2379b9c 285072006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
28508
28509 * font/manager.c (grub_font_get_glyph): Removed font fixup from
28510 here...
28511
28512 * util/unifont2pff.rb: ... and moved it to here. Improved argument
28513 parsing to support both hex and dec ranges. If filename was missing
28514 show usage information.
28515
bd0d7896 285162006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
28517
28518 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
28519 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
28520
28521 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
28522 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
28523 (video_mod_SOURCES): Added.
28524 (video_mod_CFLAGS): Likewise.
28525 (video_mod_LDFLAGS): Likewise.
28526 (gfxterm_mod_SOURCES): Likewise.
28527 (gfxterm_mod_CFLAGS): Likewise.
28528 (gfxterm_mod_LDFLAGS): Likewise.
28529 (videotest_mod_SOURCES): Likewise.
28530 (videotest_mod_CFLAGS): Likewise.
28531 (videotest_mod_LDFLAGS): Likewise.
28532 (vesafb_mod_SOURCES): Removed.
28533 (vesafb_mod_CFLAGS): Likewise.
28534 (vesafb_mod_LDFLAGS): Likewise.
28535 (vga_mod_SOURCES): Likewise.
28536 (vga_mod_CFLAGS): Likewise.
28537 (vga_mod_LDFLAGS): Likewise.
28538
28539 * commands/videotest.c: New file.
28540
28541 * font/manager.c (fill_with_default_glyph): Modified to use
28542 grub_font_glyph.
28543 (grub_font_get_glyph): Likewise.
28544 (fontmanager): Renamed from this...
28545 (font_manager): ... to this.
28546
28547 * include/grub/font.h (grub_font_glyph): Added new structure.
28548 (grub_font_get_glyph): Modified to use grub_font_glyph.
28549
28550 * include/grub/misc.h (grub_abs): Added as inline function.
28551
28552 * include/grub/video.h: New file.
28553
28554 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
28555 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
28556 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
28557 (grub_vbe_get_controller_info): Renamed from this...
28558 (grub_vbe_bios_get_controller_info): ... to this.
28559 (grub_vbe_get_mode_info): Renamed from this...
28560 (grub_vbe_bios_get_mode_info): ... to this.
28561 (grub_vbe_set_mode): Renamed from this...
28562 (grub_vbe_bios_set_mode): ... to this.
28563 (grub_vbe_get_mode): Renamed from this...
28564 (grub_vbe_bios_get_mode): ... to this.
28565 (grub_vbe_set_memory_window): Renamed from this...
28566 (grub_vbe_bios_set_memory_window): ... to this.
28567 (grub_vbe_get_memory_window): Renamed from this...
28568 (grub_vbe_bios_get_memory_window): ... to this.
28569 (grub_vbe_set_scanline_length): Renamed from this...
28570 (grub_vbe_set_scanline_length): ... to this.
28571 (grub_vbe_get_scanline_length): Renamed from this...
28572 (grub_vbe_bios_get_scanline_length): ... to this.
28573 (grub_vbe_set_display_start): Renamed from this...
28574 (grub_vbe_bios_set_display_start): ... to this.
28575 (grub_vbe_get_display_start): Renamed from this...
28576 (grub_vbe_bios_get_display_start): ... to this.
28577 (grub_vbe_set_palette_data): Renamed from this...
28578 (grub_vbe_bios_set_palette_data): ... to this.
28579 (grub_vbe_set_pixel_rgb): Removed.
28580 (grub_vbe_set_pixel_index): Likewise.
28581
28582 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
28583 from this...
28584 (grub_vbe_bios_get_controller_info): ... to this.
28585 (grub_vbe_get_mode_info): Renamed from this...
28586 (grub_vbe_bios_get_mode_info): ... to this.
28587 (grub_vbe_set_mode): Renamed from this...
28588 (grub_vbe_bios_set_mode): ... to this.
28589 (grub_vbe_get_mode): Renamed from this...
28590 (grub_vbe_bios_get_mode): ... to this.
28591 (grub_vbe_set_memory_window): Renamed from this...
28592 (grub_vbe_bios_set_memory_window): ... to this.
28593 (grub_vbe_get_memory_window): Renamed from this...
28594 (grub_vbe_bios_get_memory_window): ... to this.
28595 (grub_vbe_set_scanline_length): Renamed from this...
28596 (grub_vbe_set_scanline_length): ... to this.
28597 (grub_vbe_get_scanline_length): Renamed from this...
28598 (grub_vbe_bios_get_scanline_length): ... to this.
28599 (grub_vbe_set_display_start): Renamed from this...
28600 (grub_vbe_bios_set_display_start): ... to this.
28601 (grub_vbe_get_display_start): Renamed from this...
28602 (grub_vbe_bios_get_display_start): ... to this.
28603 (grub_vbe_set_palette_data): Renamed from this...
28604 (grub_vbe_bios_set_palette_data): ... to this.
28605 (grub_vbe_bios_get_controller_info): Fixed problem with registers
28606 getting corrupted after calling it. Added more pushes and pops.
28607 (grub_vbe_bios_set_mode): Likewise.
28608 (grub_vbe_bios_get_mode): Likewise.
28609 (grub_vbe_bios_get_memory_window): Likewise.
28610 (grub_vbe_bios_set_scanline_length): Likewise.
28611 (grub_vbe_bios_get_scanline_length): Likewise.
28612 (grub_vbe_bios_get_display_start): Likewise.
28613 (grub_vbe_bios_set_palette_data): Likewise.
28614
28615 * normal/cmdline.c (cl_set_pos): Refresh the screen.
28616 (cl_insert): Likewise.
28617 (cl_delete): Likewise.
28618
28619 * term/gfxterm.c: New file.
28620
28621 * term/i386/pc/vesafb.c: Removed file.
28622
28623 * video/video.c: New file.
28624
28625 * video/i386/pc/vbe.c (real2pm): Added new function.
28626 (grub_video_vbe_draw_pixel): Likewise.
28627 (grub_video_vbe_get_video_ptr): Likewise.
28628 (grub_video_vbe_get_pixel): Likewise
28629 (grub_video_vbe_init): Likewise.
28630 (grub_video_vbe_fini): Likewise.
28631 (grub_video_vbe_setup): Likewise.
28632 (grub_video_vbe_get_info): Likewise.
28633 (grub_video_vbe_set_palette): Likewise.
28634 (grub_video_vbe_get_palette): Likewise.
28635 (grub_video_vbe_set_viewport): Likewise.
28636 (grub_video_vbe_get_viewport): Likewise.
28637 (grub_video_vbe_map_color): Likewise.
28638 (grub_video_vbe_map_rgb): Likewise.
28639 (grub_video_vbe_map_rgba): Likewise.
28640 (grub_video_vbe_unmap_color): Likewise.
28641 (grub_video_vbe_fill_rect): Likewise.
28642 (grub_video_vbe_blit_glyph): Likewise.
28643 (grub_video_vbe_blit_bitmap): Likewise.
28644 (grub_video_vbe_blit_render_target): Likewise.
28645 (grub_video_vbe_scroll): Likewise.
28646 (grub_video_vbe_swap_buffers): Likewise.
28647 (grub_video_vbe_create_render_target): Likewise.
28648 (grub_video_vbe_delete_render_target): Likewise.
28649 (grub_video_vbe_set_active_render_target): Likewise.
28650 (grub_vbe_set_pixel_rgb): Remove function.
28651 (grub_vbe_set_pixel_index): Likewise.
28652 (index_color_mode): Remove static variable.
28653 (active_mode): Likewise.
28654 (framebuffer): Likewise.
28655 (bytes_per_scan_line): Likewise.
28656 (grub_video_vbe_adapter): Added new static variable.
28657 (framebuffer): Likewise.
28658 (render_target): Likewise.
28659 (initial_mode): Likewise.
28660 (mode_in_use): Likewise.
28661 (mode_list): Likewise.
28662
5f97350b 286632006-03-10 Marco Gerards <marco@gnu.org>
28664
28665 * configure.ac (AC_INIT): Bumped to 1.93.
28666
28667 * DISTLIST: Added `include/grub/hfs.h'.
28668
a3c5c6f8 286692006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
28670
28671 * boot/i386/pc/boot.S (general_error): Before looping, try INT
28672 18H, which might help the BIOS falling back to next boot media.
28673
6de53d26 286742006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
28675
28676 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
28677 Poe Chen <poe.poechen@gmail.com>.
28678
77c4a393 286792006-01-17 Marco Gerards <marco@gnu.org>
28680
28681 * include/grub/normal.h: Include <grub/script.h>.
28682 (grub_command_list): Removed struct.
28683 (grub_command_list_t): Removed type.
28684 (grub_menu_entry): Remove members `num' and `command_list'. Add
28685 members `commands' and `sourcecode'.
28686 * include/grub/script.h: Add inclusion guards.
28687 (grub_script_cmd_menuentry): New struct.
28688 (grub_script_execute_menuentry): New prototype.
28689 (grub_script_lexer_record_start): Likewise.
28690 (grub_script_lexer_record_stop): Likewise.
28691 * normal/execute.c (grub_script_execute_menuentry): New function.
28692 * normal/lexer.c (record, recording, recordpos, recordlen): New
28693 variables.
28694 (grub_script_lexer_record_start): New function.
28695 (grub_script_lexer_record_stop): Likewise.
28696 (recordchar): Likewise.
28697 (nextchar): Likewise.
28698 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
28699 2048 as the buffer size. Add the tokens `menuentry' and `@'.
28700 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
28701 (current_menu): New variable.
28702 (free_menu): Mainly rewritten.
28703 (grub_normal_menu_addentry): New function.
28704 (read_config_file): Rewritten.
28705 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 28706 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 28707 the menu entry.
28708 (run): Mainly rewritten.
28709 * normal/parser.y (menu_entry): New variable.
28710 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
28711 (menuentry): New rule.
28712 (command): Add `menuentry'.
28713 (if_statement): Allow additional returns before `fi'.
28714 * normal/script.c (grub_script_create_cmdmenu): New function.
28715
144f1f98 287162006-01-03 Marco Gerards <marco@gnu.org>
28717
28718 * INSTALL: GNU Bison is required.
28719 * configure.ac: Rewritten the test to detect Bison.
28720 * Makefile.in (YACC): New variable. Reported by Xun Sun
28721 <xun.sun.cn@gmail.com>.
28722
af4b2d89 287232006-01-03 Marco Gerards <marco@gnu.org>
28724
28725 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
28726 the HFS+ filesystem to filesystem blocks.
28727 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
28728 GCC warning is silenced.
28729
15643b71 287302006-01-03 Marco Gerards <marco@gnu.org>
28731
28732 * partmap/apple.c (apple_partition_map_iterate): Convert the data
28733 read from disk from big endian to host byte order.
28734
00905879 287352006-01-03 Hollis Blanchard <hollis@penguinppc.org>
28736
28737 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
28738 documentation.
28739 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
28740 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
28741 embedded HFS+ filesystem.
28742 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
28743 (grub_hfs_sblock): Move from here...
28744 * include/grub/hfs.h: To here... New file.
28745 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
28746 documentation.
28747 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
28748 New macros.
28749 (grub_hfsplus_volheader): Change type of member `magic' to
28750 `grub_uint16_t'.
28751 (grub_hfsplus_data): Add new member `embedded_offset'.
28752 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
28753 returned block.
28754 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
28755 Calculate the offset.
28756
8899bc3e 287572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28758
28759 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
28760 Removed.
28761 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
28762
ae8c0277 287632005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28764
28765 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
28766 ENV->NAME is NULL after allocating ENV->VALUE.
28767
07084456 287682005-12-25 Marco Gerards <marco@gnu.org>
28769
28770 * kern/env.c (grub_env_set): Rewritten the error handling code.
28771
4750f5f1 287722005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28773
28774 * geninit.sh: Made more robust, and more portable.
28775
50214199 287762005-12-25 Marco Gerards <marco@gnu.org>
28777
28778 Add support for Apple HFS+ filesystems.
f19dbdb7 28779
50214199 28780 * fs/hfsplus.c: New file.
28781
28782 * DISTLIST: Added `fs/hfsplus.c'.
28783
28784 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
28785 (hfsplus_mod_SOURCES): New variable.
28786 (hfsplus_mod_CFLAGS): Likewise.
28787 (hfsplus_mod_LDFLAGS): Likewise.
28788 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
28789 (grub_setup_SOURCES): Likewise.
28790 (grub_mkdevicemap_SOURCES): Likewise.
28791 (grub_emu_SOURCES): Likewise.
28792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28793
28794 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
28795
28796 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
28797
befaed6c 287982005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28799
28800 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
28801 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
28802 include/grub/parser.h, include/grub/script.h, kern/parser.c,
28803 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
28804 normal/lexer.c, normal/parser.y, normal/script.c, and
28805 partmap/gpt.c.
28806 Removed kern/sparc64/cache.c.
28807
28808 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
28809 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
28810 grub_emu_init.c.
28811
28812 * configure.ac (AC_INIT): Bumped to 1.92.
28813
6a124103 288142005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
28815
28816 * kern/err.c (grub_error_push): Added new function to support error
28817 stacks.
28818 (grub_error_pop): Likewise.
28819 (grub_error_stack_items): New local variable to support error stacks.
28820 (grub_error_stack_pos): Likewise.
28821 (grub_error_stack_assert): Likewise.
28822 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
28823 stack depth.
28824 (grub_print_error): Added support to print errors from error stack.
28825
28826 * include/grub/err.h (grub_error_push): Added function prototype.
28827 (grub_error_pop): Likewise.
28828
be973c1b 288292005-12-09 Hollis Blanchard <hollis@penguinppc.org>
28830
28831 * configure.ac: Accept `powerpc64' as host_cpu.
28832 (amd64): Rename to `biarch32'.
28833
28834 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
28835 non-cacheline-aligned addresses.
28836
28837 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
28838 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
28839 if `size' is non-zero.
28840
b04216ab 288412005-12-03 Marco Gerards <mgerards@xs4all.nl>
28842
28843 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
28844 and `cd' to make sure the filename is not prefixed with a
28845 directory name.
28846 (pkgdata_MODULES): Add `gpt.mod'.
28847 (gpt_mod_SOURCES): New variable.
28848 (gpt_mod_CFLAGS): Likewise.
28849 (gpt_mod_LDFLAGS): Likewise.
28850
28851 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
28852
28853 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
28854 New macro.
28855
28856 * partmap/gpt.c: New file.
28857
28858 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
28859 GPT partition map is detected.
28860
41730ed9 288612005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
28862
28863 * commands/i386/pc/play.c: New file.
28864 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
28865 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
28866 macros.
f19dbdb7 28867
95dc3643 288682005-11-27 Marco Gerards <mgerards@xs4all.nl>
28869
28870 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
28871 ((unused))' to silence gcc warning.
28872
1569ec51 288732005-11-26 Hollis Blanchard <hollis@penguinppc.org>
28874
28875 * configure.ac: Correct `AC_PROG_YACC' test.
28876
9abde152 288772005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28878
28879 * util/powerpc/ieee1275/grub-install.in: Run the mount point
28880 check before installing files.
28881
44b83271 288822005-11-22 Mike Small <smallm@panix.com>
28883
28884 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
28885 number regex so multidigit numbers are recognized correctly.
28886
288872005-11-22 Mike Small <smallm@panix.com>
28888
28889 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
28890 debugging message before attempting to claim memory.
28891 (grub_rescue_cmd_initrd): Add a claim debugging message and try
28892 multiple addresses in case of failure.
28893
9c12956b 288942005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28895
28896 * term/tparm.c (get_space): Remove empty `if' statement.
28897
28898 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
28899
28900 * kern/parser.c (check_varstate): Rename `state' to 's'.
28901
aeaf81d9 289022005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28903
28904 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
28905 variable definitions to the beginning of each function. Sort stack
28906 variables by size.
28907 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
28908 `buf' argument to `char *'.
28909
79bbb63f 289102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28911
28912 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
28913 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28914 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 28915 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28916 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28917 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28918 configfile.mod, search.mod, gzio.mod and test.mod.
28919 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28920 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28921 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28922 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28923 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28924 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28925 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28926 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28927 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28928 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28929 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28930 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28931 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28932 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28933 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28934 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28935 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28936 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28937 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28938 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28939 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28940 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28941 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
28942
28943 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
28944 `grep --include'.
28945 (pkgdata_MODULES): Add test.mod.
28946
233b1628 289472005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28948
28949 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
28950 appending to variables with "+=".
28951 (PModule): Use full pathname to generate *.lst filenames.
28952
28953 * Makefile.in: Fixed list rules moved from genmk.rb.
28954 (.DELETE_ON_ERROR): New special target.
28955 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
28956
28957 * conf/i386-pc.rmk: Include conf/common.mk.
28958 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28959 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 28960 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28961 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28962 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28963 configfile.mod, search.mod, gzio.mod and test.mod.
28964 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28965 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28966 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28967 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28968 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28969 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28970 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28971 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28972 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28973 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28974 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28975 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28976 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28977 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28978 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28979 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28980 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28981 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28982 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28983 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28984 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28985 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28986 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
28987 here...
28988 * conf/common.rmk: ... to here. New file.
28989
28990 * conf/common.mk: New file.
28991
16f820c8 289922005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
28993
28994 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
28995 (grub_script.tab.c): ... here.
28996
28997 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
28998 (grub_script.tab.c): ... here.
28999
29000 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
29001 (grub_script.tab.c): ... here.
29002
29003 * normal/command.c (grub_command_find): Fixed a memory leak of
29004 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
29005
63ba1554 290062005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29007
29008 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
29009 "@" which marks the start of a comment on ARM.
29010 (VARIABLE): Likewise.
29011
7f67dc13 290122005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29013
79bbb63f 29014 Add support for Linux/ADFS partition tables.
7f67dc13 29015
29016 * partmap/acorn.c: New file.
29017
29018 * include/grub/acorn_filecore.h: Likewise.
29019
29020 * DISTLIST: Added `partmap/acorn.c' and
29021 `include/grub/acorn_filecore.h'.
f19dbdb7 29022
7f67dc13 29023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29024 `partmap/acorn.c'.
29025 (pkgdata_MODULES): Add `acorn.mod'.
29026 (acorn_mod_SOURCES): New variable.
29027 (acorn_mod_CFLAGS): Likewise.
29028
29029 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29030 `partmap/acorn.c'.
29031 (pkgdata_MODULES): Add `acorn.mod'.
29032 (acorn_mod_SOURCES): New variable.
29033 (acorn_mod_CFLAGS): Likewise.
29034
29035 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
29036 (pkgdata_MODULES): Add `acorn.mod'.
29037 (acorn_mod_SOURCES): New variable.
29038 (acorn_mod_CFLAGS): Likewise.
29039 (acorn_mod_LDFLAGS): Likewise.
29040
29041 * include/types.h (grub_disk_addr_t): New typedef.
29042
6d099807 290432005-11-13 Marco Gerards <mgerards@xs4all.nl>
29044
29045 * geninit.sh: New file.
29046
29047 * geninitheader.sh: Likewise.
29048
29049 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
29050 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
29051 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
29052 * commands/configfile.c (grub_configfile_init)
29053 (grub_configfile_fini): Likewise.
29054 * commands/default.c (grub_default_init, grub_default_fini):
29055 Likewise.
29056 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
29057 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
29058 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
29059 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
29060 Likewise.
29061 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
29062 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
29063 Likewise.
29064 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 29065 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 29066 Likewise.
29067 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
29068 Likewise.
fe6b695a 29069 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 29070 Likewise.
29071 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
29072 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
29073 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
29074 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
29075 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
29076 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
29077 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
29078 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
29079 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
29080 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
29081 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
29082 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
29083 * partmap/amiga.c (grub_amiga_partition_map_init)
29084 (grub_amiga_partition_map_fini): Likewise.
29085 * partmap/apple.c (grub_apple_partition_map_init)
29086 (grub_apple_partition_map_fini): Likewise.
29087 * partmap/pc.c (grub_pc_partition_map_init)
29088 (grub_pc_partition_map_fini): Likewise.
29089 * partmap/sun.c (grub_sun_partition_map_init,
29090 grub_sun_partition_map_fini): Likewise.
29091 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
29092 Likewise.
29093
29094 * util/grub-emu.c: Include <grub_modules_init.h>.
29095 (main): Don't initialize and de-initialize any modules directly,
29096 use `grub_init_all' and `grub_fini_all' instead.
29097
29098 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
29099 `grub_vesafb_mod_init'.
29100 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
29101 all users.
29102 * term/i386/pc/vga.c (grub_vga_init): Renamed to
29103 `grub_vga_mod_init'. Updated all users.
29104 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 29105
6d099807 29106 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
29107 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
29108 rules.
29109
29110 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
29111 Generate a function to initialize the module in utilities.
29112 Updated all callers.
29113 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
29114 initialize the module in utilities. Updated all callers.
29115
9046bcf0 291162005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29117
29118 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
29119 escape sequence and a literal ^L to clear the screen.
29120
29121 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
29122 when returning from Open Firmware.
29123
d13ea639 291242005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29125
29126 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
29127 (grub_ofconsole_height): Likewise.
29128 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
29129 manually insert a '\n'.
29130 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
29131 `grub_ofconsole_height'. Return early if these are already set.
29132
a8fcf206 291332005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
29134
29135 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29136 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
29137 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
29138 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
29139 and `normal/script.c'.
29140 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29141 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29142 (test_mod_SOURCES): New variable.
29143 (test_mod_CFLAGS): Likewise.
29144 (test_mod_LDFLAGS): Likewise.
29145 (pkgdata_MODULES): Add `test.mod'.
29146 (grub_script.tab.c): New rule.
29147 (grub_script.tab.h): Likewise.
29148
b6b32745 291492005-11-07 Marco Gerards <mgerards@xs4all.nl>
29150
29151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29152 `commands/test.c', `normal/execute.c', `normal/lexer.c',
29153 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29154 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29155 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29156 (test_mod_SOURCES): New variable.
29157 (test_mod_CFLAGS): Likewise.
29158 (pkgdata_MODULES): Add `test.mod'.
29159 (grub_script.tab.c): New rule.
29160 (grub_script.tab.h): Likewise.
29161
daac212a 291622005-11-06 Marco Gerards <mgerards@xs4all.nl>
29163
29164 Add initial scripting support.
29165
29166 * commands/test.c: New file.
29167 * include/grub/script.h: Likewise.
29168 * normal/execute.c: Likewise.
29169 * normal/function.c: Likewise.
29170 * normal/lexer.c: Likewise.
29171 * normal/parser.y: Likewise.
29172 * normal/script.c: Likewise.
29173
29174 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 29175
daac212a 29176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
29177 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
29178 `normal/function.c' and `normal/script.c'.
29179 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29180 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 29181 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
29182 variables.
daac212a 29183 (pkgdata_MODULES): Add `test.mod'.
29184 (grub_script.tab.c): New rule.
29185 (grub_script.tab.h): Likewise.
29186
29187 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
29188
29189 * include/grub/normal.h (grub_test_init): New prototype.
29190 (grub_test_fini): Likewise.
f19dbdb7 29191
daac212a 29192 * normal/command.c: Include <grub/script.h>.
29193 (grub_command_execute): Rewritten.
f19dbdb7 29194
daac212a 29195 * util/grub-emu.c (main): Call `grub_test_init' and
29196 `grub_test_fini'.
29197
77500b2b 291982005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29199
29200 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
29201 to 0.
29202 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
29203 there are no pending characters.
29204
e45deb9e 292052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29206
29207 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
29208 `grub_strndup' to drop device arguments. Replace unnecessary
29209 `grub_strndup' with `grub_strdup'.
29210
4ce32619 292112005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29212
29213 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
29214 `debug' environment variable has been set.
29215
292162005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 29217
4ce32619 29218 * Makefile.in (install-local): Use $(DATA).
29219 (uninstall): Likewise.
29220 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
29221 (sbin_UTILITIES): ... to here.
29222 (sbin_SCRIPTS): New variable.
29223 (grub_install_SOURCES): New variable.
29224 * util/powerpc/ieee1275/grub-install.in: New file.
29225 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
29226 variable.
29227 (add_segments): Call `grub_util_get_path'.
29228
25fe6f03 292292005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29230
29231 From Timothy Baldwin:
29232 * commands/ls.c (grub_ls_list_files): Close FILE with
29233 grub_file_close.
29234 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
29235
04ccf3ec 292362005-10-24 Marco Gerards <mgerards@xs4all.nl>
29237
29238 * include/grub/parser.h: New file.
29239
29240 * kern/parser.c: Likewise.
29241
29242 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
29243 (grub_setup_SOURCES): Likewise.
29244 (grub_probefs_SOURCES): Likewise.
29245 (grub_emu_SOURCES): Likewise.
29246 (kernel_img_HEADERS): Add `parser.h'.
29247
29248 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29249 (grub_emu_SOURCES): Add `kern/parser.c'.
29250 (grubof_SOURCES): Likewise.
29251
29252 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29253 (grubof_SOURCES): Add `kern/parser.c'.
29254
29255 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
29256
29257 * kern/misc.c (grub_split_cmdline): Removed function.
29258
29259 * kern/rescue.c: Include <grub/parser.h>.
29260 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
29261 of `grub_split_cmdline'.
29262
29263 * normal/command.c: Include <grub/parser.h>.
29264 (grub_command_execute): Use `grub_parser_split_cmdline' instead
29265 of `grub_split_cmdline'.
29266
29267 * normal/completion.c: Include <grub/parser.h>.
29268 (cmdline_state): New variable.
29269 (iterate_dir): End the filename with a quote depending on the
29270 command line state.
29271 (get_state): new function.
29272 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
29273 split the arguments and determine the current argument. When the
29274 argument string is not quoted, escape all spaces.
29275
6d8f4b0e 292762005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29277
29278 * normal/sparc64/setjmp.S: New file.
29279
15cf03ed 292802005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29281
29282 * include/grub/sparc64/libgcc.h: New file.
29283 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
29284 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
29285 normal/sparc64/setjmp.c.
29286
03e8661a 292872005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29288
29289 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
29290 * kern/sparc64/cache.S: New file.
29291 * kern/sparc64/cache.c: Removed.
29292 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
29293 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
29294 -mtune=ultrasparc.
29295 (COMMON_LDFLAGS): Add -melf64_sparc.
29296 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
29297 (grubof_SOURCES): Use cache.S instead of cache.c.
29298 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
29299 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
29300 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
29301 commented though.
29302 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
29303 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
29304 (linux_mod_CFLAGS): Commented out.
29305 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
29306 out because module isn't built.
29307 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
29308 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
29309 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
29310 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
29311 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
29312 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29313 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29314 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
29315 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
29316 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
29317 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29318 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29319 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
29320 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
29321
34eeec8a 293222005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
29323
29324 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
29325 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
29326 longer, because HFS should not be used on PC.
29327
708367a3 293282005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29329
29330 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
29331 consistently within the loop.
29332
6fa1251a 293332005-10-15 Marco Gerards <mgerards@xs4all.nl>
29334
29335 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
29336 directory can not be read.
29337
4801580b 293382005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29339
29340 * configure.ac (AC_INIT): Increase the version number to 1.91.
29341
29342 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
29343 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
29344 term/i386/pc/serial.c.
29345
219ad426 293462005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29347
29348 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
29349 file size must be permitted.
29350
29351 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
29352 between %ah and %al.
29353
688e5699 293542005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29355
29356 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
29357 grub_uint64_t.
29358 Call the hook with a NUL-terminated filename.
29359 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
29360 grub_cpu_to_be32.
29361
29362 * kern/term.c (cursor_state): New variable.
29363 (grub_term_set_current): Reset the cursor state on a new
29364 terminal.
29365 (grub_setcursor): Rewritten to use CURSOR_STATE.
29366 (grub_getcursor): New function.
29367
29368 * include/grub/term.h (grub_getcursor): New prototype.
29369
29370 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
29371 integers on ARM. Reported by Timothy Baldwin
29372 <T.E.Baldwin99@members.leeds.ac.uk>.
29373
bb34586c 293742005-10-11 Marco Gerards <mgerards@xs4all.nl>
29375
29376 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
29377 allocated.
29378 (grub_sfs_dir): Likewise.
29379
9a909877 293802005-10-09 Marco Gerards <mgerards@xs4all.nl>
29381
29382 Add support for the SFS filesystem.
29383
29384 * fs/sfs.c: New file.
29385
29386 * DISTLIST: Added `fs/sfs.c'.
29387
29388 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
29389 (grub_probefs_SOURCES): Likewise.
29390 (grub_emu_SOURCES): Likewise.
29391 (pkgdata_MODULES): Add `sfs.mod'.
29392 (sfs_mod_SOURCES): New variable.
29393 (sfs_mod_CFLAGS): Likewise.
29394 (sfs_mod_LDFLAGS): Likewise.
29395
29396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
29397 (pkgdata_MODULES): Add `sfs.mod'.
29398 (sfs_mod_SOURCES): New variable.
29399 (sfs_mod_CFLAGS): Likewise.
29400
29401 * util/grub-emu.c (main): Call `grub_sfs_init' and
29402 `grub_sfs_fini'.
29403
29404 * include/grub/fs.h (grub_sfs_init): New prototype.
29405 (grub_sfs_fini): Likewise.
29406
57bdbde3 294072005-10-07 Marco Gerards <mgerards@xs4all.nl>
29408
29409 Add support for the AFFS filesystem.
29410
29411 * fs/affs.c: New file.
29412
29413 * DISTLIST: Added `fs/affs.c'.
29414
29415 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
29416 (grub_probefs_SOURCES): Likewise.
29417 (grub_emu_SOURCES): Likewise.
29418 (pkgdata_MODULES): Add `affs.mod'.
29419 (affs_mod_SOURCES): New variable.
29420 (affs_mod_CFLAGS): Likewise.
29421 (affs_mod_LDFLAGS): Likewise.
29422
29423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
29424 (pkgdata_MODULES): Add `affs.mod'.
29425 (affs_mod_SOURCES): New variable.
29426 (affs_mod_CFLAGS): Likewise.
29427
29428 * util/grub-emu.c (main): Call `grub_affs_init' and
29429 `grub_affs_fini'.
29430
29431 * include/grub/fs.h (grub_affs_init): New prototype.
29432 (grub_affs_fini): Likewise.
29433
047b67e0 294342005-10-01 Marco Gerards <mgerards@xs4all.nl>
29435
29436 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
29437
59b8208a 294382005-10-01 Marco Gerards <mgerards@xs4all.nl>
29439
29440 * configure.ac: Accept `x86_64' as host_cpu. In that case add
29441 `-m32' to CFLAGS.
29442
29443 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
29444 linking.
f19dbdb7 29445
59b8208a 29446 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
29447 (COMMON_LDFLAGS): New variable.
29448 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
29449 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
29450 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
29451 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
29452 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
29453 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
29454 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
29455 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
29456 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
29457 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
29458 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29459 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29460 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
29461 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
29462 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
29463 variables.
29464 (normal_mod_ASFLAGS): Add `-m32'.
29465
29466 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
29467 (grub_host_size_t, grub_host_ssize_t): New types.
29468 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 29469 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 29470 `GRUB_HOST_SIZEOF_VOID_P'.
29471
29472 * include/grub/kernel.h (struct grub_module_header): Type of
29473 member offset changed to `grub_host_off_t'. Type of member size
29474 changed to `grub_host_size_t'.
29475 (struct grub_module_info): Type of member offset changed to
29476 `grub_host_off_t'. Type of member size changed to
29477 `grub_host_size_t'.
29478
b4093103 294792005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
29480
29481 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 29482
b4093103 29483 * kern/i386/pc/startup.S (multiboot_header): New label.
29484 (multiboot_entry): Likewise.
29485 (multiboot_trampoline): Likewise.
29486
29487 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29488 Increased to 0x4A0.
29489
29490 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
29491 put parentheses after a question mark.
29492 [!GRUB_UTIL] (my_mod): New variable.
29493
29494 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
29495
b2499b29 294962005-09-28 Marco Gerards <mgerards@xs4all.nl>
29497
29498 Adds support for the XFS filesystem. Btrees are not supported
29499 yet.
29500
29501 * fs/xfs.c: New file.
29502
29503 * DISTLIST: Added `fs/xfs.c'.
29504
29505 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
29506 (grub_probefs_SOURCES): Likewise.
29507 (grub_emu_SOURCES): Likewise.
29508 (pkgdata_MODULES): Add `xfs.mod'.
29509 (xfs_mod_SOURCES): New variable.
29510 (xfs_mod_CFLAGS): Likewise.
29511
29512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
29513 (pkgdata_MODULES): Add `xfs.mod'.
29514 (xfs_mod_SOURCES): New variable.
29515 (xfs_mod_CFLAGS): Likewise.
29516
29517 * util/grub-emu.c (main): Call `grub_xfs_init' and
29518 `grub_xfs_fini'.
29519
29520 * include/grub/fs.h (grub_xfs_init): New prototype.
29521 (grub_xfs_fini): Likewise.
29522
f19dbdb7 29523
83d37a62 295242005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
29525
29526 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
29527 color modes, allow greater than 16 colors to be configured as
29528 a default palette.
29529
47d2d65e 295302005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29531
29532 * normal/completion.c (complete_arguments): Add the qualifier
29533 const into OPTIONS.
29534
29535 From Omniflux <omniflux+lists@omniflux.com>:
29536 * include/grub/terminfo.h: New file.
29537 * include/grub/tparm.h: Likewise.
29538 * include/grub/i386/pc/serial.h: Likewise.
29539 * term/terminfo.c: Likewise.
29540 * term/tparm.c: Likewise.
29541 * term/i386/pc/serial.c: Likewise.
29542 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
29543 serial.mod.
29544 (terminfo_mod_SOURCES): New variable.
29545 (terminfo_mod_CFLAGS): Likewise.
29546 (serial_mod_SOURCES): Likewise.
29547 (serial_mod_CFLAGS): Likewise.
29548
48b671ff 295492005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
29550
29551 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
29552 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
29553 and kern/powerpc/ieee1275/cmain.c, respectively.
29554
29555 * boot/powerpc/ieee1275/crt0.S: Moved to ...
29556 * kern/powerpc/ieee1275/crt0.S: ... here.
29557
29558 * boot/powerpc/ieee1275/cmain.c: Moved to ...
29559 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 29560
48b671ff 29561 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
29562 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
29563 instead of boot/powerpc/ieee1275/crt0.S and
29564 boot/powerpc/ieee1275/cmain.c, respectively.
29565
29566 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
29567 sectors. It was not used anyway.
29568
09fc77a7 295692005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29570
29571 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
29572 `unused parameter' warning.
29573
003789c7 295742005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29575
29576 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
29577 function.
29578 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
29579 getcharwidth.
29580
67f44c86 295812005-08-28 Marco Gerards <metgerards@student.han.nl>
29582
29583 * include/grub/normal.h (enum grub_completion_type): Added
29584 `GRUB_COMPLETION_TYPE_ARGUMENT'.
29585
29586 * normal/cmdline.c (print_completion): Handle
29587 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
29588 * normal/menu_entry.c (store_completion): Likewise.
29589
29590 * normal/completion.c (complete_arguments): New function.
29591 (grub_normal_do_completion): Call `complete_arguments' when the
29592 current words start with a dash.
29593
0b5abe02 295942005-08-27 Marco Gerards <metgerards@student.han.nl>
29595
29596 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
29597 `gzio.mod' instead of `io.mod').
29598
d9864ee1 295992005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
29600
29601 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
29602 (DISTDIRS): Added io and video.
29603 Rewrite the search routine to make an output consistently.
29604
29605 * DISTLIST: Added conf/sparc64-ieee1275.mk,
29606 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
29607 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
29608 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
29609 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
29610 util/powerpc/ieee1275/misc.c.
f19dbdb7 29611
d9864ee1 29612 * include/grub/gzio.h: New file.
29613 * io/gzio.c: Likewise.
f19dbdb7 29614
d9864ee1 29615 * kern/file.c (grub_file_close): Call grub_device_close only if
29616 FILE->DEVICE is not NULL.
29617
29618 * include/grub/mm.h [!NULL] (NULL): New macro.
29619
29620 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
29621
29622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
29623 (pkgdata_MODULES): Added gzio.mod.
29624 (gzio_mod_SOURCES): New variable.
29625 (gzio_mod_CFLAGS): Likewise.
29626
29627 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
29628 (pkgdata_MODULES): Added gzio.mod.
29629 (gzio_mod_SOURCES): New variable.
29630 (gzio_mod_CFLAGS): Likewise.
29631
29632 * commands/cat.c: Include grub/gzio.h.
29633 (grub_cmd_cat): Use grub_gzfile_open instead of
29634 grub_file_open.
f19dbdb7 29635
d9864ee1 29636 * commands/cmp.c: Include grub/gzio.h.
29637 (grub_cmd_cmp): Use grub_gzfile_open instead of
29638 grub_file_open.
29639
29640 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
29641 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
29642 grub_file_open.
29643 (grub_rescue_cmd_module): Likewise.
29644
fa46f4b5 296452005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29646
29647 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
29648 kern/sparc64/ieee1275/init.c because it contains _start.
29649 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
29650
e9211b5d 296512005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29652
29653 * configure.ac: Add support for sparc64 host with ieee1275
29654 firmware.
29655 * configure: Generated from configure.ac.
29656 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
29657 instead of int.
29658 (grub_ofdisk_read): Likewise.
29659 (grub_ofdisk_open): Use %p to print pointer values, and cast the
29660 pointers as (void *) to remove a warning.
29661 (grub_ofdisk_close): Likewise.
29662 (grub_ofdisk_read): Likewise.
29663 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
29664 returns, so make it return void to remove a warning.
29665 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
29666 Corresponding prototype change.
29667 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
29668 values, and cast the pointers as (void *) to remove a warning.
29669 (grub_mm_dump): Likewise.
29670 * conf/sparc64-ieee1275.mk: New file.
29671 * conf/sparc64-ieee1275.rmk: Likewise.
29672 * include/grub/sparc64/setjmp.h: Likewise.
29673 * include/grub/sparc64/types.h: Likewise.
29674 * include/grub/sparc64/ieee1275/console.h: Likewise.
29675 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29676 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29677 * include/grub/sparc64/ieee1275/time.h: Likewise.
29678 * kern/sparc64/cache.c: Likewise.
29679 * kern/sparc64/dl.c: Likewise.
29680 * kern/sparc64/ieee1275/init.c: Likewise.
29681 * kern/sparc64/ieee1275/openfw.c: Likewise.
29682
385c6a92 296832005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29684
29685 * util/console.c (grub_ncurses_putchar): If C is greater than
29686 0x7f, set C to a question mark.
29687 (grub_ncurses_getcharwidth): New function.
29688 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
29689 getcharwidth.
29690
29691 * normal/menu.c (print_entry): Made aware of Unicode. First,
29692 convert TITLE to UCS-4, and predict the cursor position by
29693 grub_getcharwidth.
29694
29695 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
29696 const to SRC.
29697 * kern/misc.c (grub_utf16_to_utf8): Likewise.
29698
16ccb8b1 296992005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29700
29701 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
29702 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29703 grub_strcat.
29704
29705 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
29706 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29707 grub_strcpy and grub_strlen. Take it into account that a space
29708 character is inserted as a delimiter.
29709
6a85ce79 297102005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29711
29712 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 29713 invalid magic in the error.
6a85ce79 29714
29715 * commands/search.c: New file.
f19dbdb7 29716
6a85ce79 29717 * util/grub-emu.c (main): Call grub_search_init and
29718 grub_search_fini.
29719
29720 * kern/rescue.c (grub_rescue_print_disks): Removed.
29721 (grub_rescue_print_devices): New function.
29722 (grub_rescue_cmd_ls): Use grub_device_iterate with
29723 grub_rescue_print_devices instead of grub_disk_dev_iterate with
29724 grub_rescue_print_disks.
29725
29726 * kern/partition.c (grub_partition_iterate): Return the result of
29727 PARTMAP->ITERATE instead of GRUB_ERRNO.
29728
29729 * kern/device.c: Include grub/partition.h.
29730 (grub_device_iterate): New function.
29731
29732 * include/grub/partition.h (grub_partition_iterate): Return int
29733 instead of grub_err_t.
29734
29735 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
29736 prototype.
29737 [GRUB_UTIL] (grub_search_fini): Likewise.
29738
29739 * include/grub/device.h (grub_device_iterate): New prototype.
29740
29741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29742 commands/search.c.
29743 (pkgdata_MODULES): Added search.mod.
29744 (search_mod_SOURCES): New variable.
29745 (search_mod_CFLAGS): Likewise.
29746
29747 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
29748 (pkgdata_MODULES): Added search.mod.
29749 (search_mod_SOURCES): New variable.
29750 (search_mod_CFLAGS): Likewise.
29751
29752 * commands/ls.c (grub_ls_list_disks): Renamed to ...
29753 (grub_ls_list_devices): ... this, and use grub_device_iterate.
29754 All callers changed.
29755
29756 * DISTLIST: Added commands/search.c.
29757
ef095434 297582005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29759
29760 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
29761 conversion.
29762 (grub_getcharwidth): New function.
29763
29764 * kern/misc.c (grub_utf8_to_ucs4): New function.
29765
29766 * include/grub/term.h (struct grub_term): Added a new member
29767 "getcharwidth".
29768 (grub_getcharwidth): New prototype.
29769
29770 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
29771
29772 * term/i386/pc/console.c (map_char): New function. Segregated from
29773 grub_console_putchar.
29774 (grub_console_putchar): Use map_char.
29775 (grub_console_getcharwidth): New function.
29776 (grub_console_term): Specified grub_console_getcharwidth as
29777 getcharwidth.
29778
29779 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
29780 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
29781
29782 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
29783 GRUB_ERRNO.
29784 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
29785 on grub_strtoul completely.
29786 (write_char): Declare local variables in the beginning of the
29787 function.
29788 (grub_vesafb_getcharwidth): New function.
29789 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
29790 getcharwidth.
29791
1f0a95e4 297922005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
29793
29794 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
29795 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
29796 commands/i386/pc/vbetest.c.
29797
29798 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
29799 call grub_vbe_get_controller_info again, because the returned
29800 information is volatile.
29801 (grub_vbe_set_video_mode): Mostly rewritten.
29802 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
29803 grub_vbe_status_t correctly.
29804 (grub_vbe_get_video_mode_info): Likewise.
29805 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
29806 several if statements.
29807
29808 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
29809 * commands/i386/pc/vbeinfo.c: ... this.
29810
29811 * commands/i386/pc/vbe_test.c: Renamed to ...
29812 * commands/i386/pc/vbetest.c: ... this.
29813
29814 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
29815 ...
29816 (grub_cmd_vbeinfo): ... this. Save video modes before
29817 iterating. Skip a video mode, if it is not available, not enough
29818 information is given or it is monochrome. Show the memory
29819 model. Leave the interpretation of MODEVAR to grub_strtoul
29820 completely.
29821 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
29822 (GRUB_MOD_FINI): Likewise.
29823
29824 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
29825 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
29826 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
29827 duplicated grub_env_get. Leave the interpretation of MODEVAR to
29828 grub_strtoul completely.
29829 (real2pm): Removed.
29830 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
29831 (GRUB_MOD_FINI): Likewise.
29832
29833 * normal/misc.c: Include grub/mm.h.
29834
29835 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
29836 vbe_list_modes with vbetest.mod and vbeinfo.mod.
29837 (vbe_list_modes_mod_SOURCES): Removed.
29838 (vbe_list_modes_mod_CFLAGS): Likewise.
29839 (vbe_test_mod_SOURCES): Likewise.
29840 (vbe_test_mod_CFLAGS): Likewise.
29841 (vbeinfo_mod_SOURCES): New variable.
29842 (vbeinfo_mod_CFLAGS): Likewise.
29843 (vbetest_mod_SOURCES): Likewise.
29844 (vbetest_mod_CFLAGS): Likewise.
29845
992ffbbe 298462005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
29847
29848 * normal/misc.c: New file.
29849
29850 * DISTLIST: Added normal/misc.c.
f19dbdb7 29851
992ffbbe 29852 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
29853 DISK to HOOK. Call HOOK with DISK.
29854 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29855 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29856 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29857
29858 * normal/menu_entry.c (struct screen): Added a new member
29859 "completion_shown".
29860 (completion_buffer): New global variable.
29861 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
29862 (store_completion): New function.
29863 (complete): Likewise.
29864 (clear_completions): Likewise.
29865 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
29866 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
29867 a tab, call complete.
29868
29869 * normal/completion.c (disk_dev): Removed.
29870 (print_simple_completion): Likewise.
29871 (print_partition_completion): Likewise.
29872 (print_func): New global variable.
29873 (add_completion): Do not take the arguments WHAT or PRINT any
29874 longer. Added a new argument TYPE. Instead of printing directly,
29875 call PRINT_FUNC if not NULL.
29876 All callers changed.
29877 (complete_device): Use a local variable DEV instead of
29878 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
29879 (grub_normal_do_completion): Take a new argument HOOK. Do not
29880 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
29881 empty string, return NULL instead.
29882 All callers changed.
29883
29884 * normal/cmdline.c (print_completion): New function.
29885
29886 * kern/partition.c (grub_partition_iterate): Add an argument DISK
29887 to HOOK.
29888 All callers changed.
29889
29890 * kern/disk.c (grub_print_partinfo): Removed.
29891
29892 * include/grub/partition.h (struct grub_partition_map): Add a new
29893 argument DISK into HOOK of ITERATE.
29894 (grub_partition_iterate): Add a new argument DISK to HOOK.
29895
29896 * include/grub/normal.h (enum grub_completion_type): New enum.
29897 (grub_completion_type_t): New type.
29898 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
29899 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
29900 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
29901 (GRUB_COMPLETION_TYPE_FILE): Likewise.
29902 (grub_normal_do_completion): Added a new argument HOOK.
29903 (grub_normal_print_device_info): New prototype.
29904
29905 * include/grub/disk.h (grub_print_partinfo): Removed.
29906
29907 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
29908 (normal_mod_SOURCES): Likewise.
29909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29910 (normal_mod_SOURCES): Likewise.
29911
29912 * commands/ls.c (grub_ls_list_disks): Use
29913 grub_normal_print_device_info instead of grub_print_partinfo. Free
29914 PNAME.
29915 (grub_ls_list_files): Use grub_normal_print_device_info instead of
29916 duplicating the code.
29917
0bd41162 299182005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29919
29920 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 29921 follow GCS more precisely.
29922 * commands/i386/pc/vbe_test.c: Likewise.
29923 * include/grub/i386/pc/vbe.h: Likewise.
29924 * term/i386/pc/vesafb.c: Likewise.
29925 * video/i386/pc/vbe.c: Likewise.
0bd41162 29926
6323696a 299272005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29928
29929 * DISTLIST: Added term/i386/pc/vesafb.c
29930 DISTLIST: Added video/i386/pc/vbe.c
29931 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
29932 DISTLIST: Added commands/i386/pc/vbe_test.c.
29933 * commands/i386/pc/vbe_list_modes.c: New file.
29934 * commands/i386/pc/vbe_test.c: Likewise.
29935 * term/i386/pc/vesafb.c: Likewise.
29936 * video/i386/pc/vbe.c: Likewise.
29937 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
29938 (grub_vbe_probe) Added prototype.
29939 (grub_vbe_set_video_mode) Likewise.
29940 (grub_vbe_get_video_mode) Likewise.
29941 (grub_vbe_get_video_mode_info) Likewise.
29942 (grub_vbe_set_pixel_rgb) Likewise.
29943 (grub_vbe_set_pixel_index) Likewise.
29944 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
29945 (pkgdata_MODULES): Added vesafb.mod.
29946 (pkgdata_MODULES): Added vbe_list_modes.mod.
29947 (pkgdata_MODULES): Added vbe_test.mod.
29948 (vbe_mod_SOURCES): Added.
29949 (vbe_mod_CFLAGS): Likewise.
29950 (vesafb_mod_SOURCES): Likewise.
29951 (vesafb_mod_CFLAGS): Likewise.
29952 (vbe_list_modes_mod_SOURCES): Likewise.
29953 (vbe_list_modes_mod_CFLAGS): Likewise.
29954 (vbe_test_mod_SOURCES): Likewise.
29955 (vbe_test_mod_CFLAGS): Likewise.
29956
0a74e62f 299572005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
29958
0a74e62f 29959 * normal/command.c (grub_command_execute): If INTERACTIVE is
29960 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
29961 CMDLINE. Disable the pager if INTERACTIVE is true.
29962 All callers are changed.
29963
29964 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
29965 before reading a config file.
29966 * normal/main.c (read_config_file): Even if a command is not
29967 found, register it if it is within an entry.
29968
29969 * util/grub-emu.c: Include sys/types.h and unistd.h.
29970 (options): Added --hold.
29971 (struct arguments): Added a new member "hold".
29972 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
29973 missing.
29974 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
29975 cleared by a debugger, if it is not zero.
29976
29977 * include/grub/normal.h (grub_command_execute): Add an argument
29978 INTERACTIVE.
29979
e51f85ae 299802005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
29981
29982 * DISTLIST: Added include/grub/i386/pc/vbe.h.
29983
e9c6f39b 299842005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
29985
29986 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
29987 program with another one, because the old one didn't detect a bug
29988 in gcc-3.4. Always use regparm 2, because the new test is still
29989 not enough for gcc-4.0. Someone must investigate a simple test
29990 case which detects a bug in gcc-4.0.
29991
8de3495c 299922005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
29993
29994 * DISTLIST: Added normal/completion.c.
29995
29996 * normal/completion.c: New file.
f19dbdb7 29997
8de3495c 29998 * term/i386/pc/console.c (grub_console_getwh): New function.
29999 (grub_console_term): Assign grub_console_getwh to getwh.
30000
30001 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
30002 function is defined in normal/completion.c as
30003 grub_normal_do_completion.
30004 (grub_cmdline_get): Use grub_normal_do_completion instead of
30005 grub_tab_complete.
30006
30007 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
30008 returns non-zero, otherwise return 0.
30009 (grub_partition_iterate): First, probe the partition map. Then,
30010 call ITERATE only for this partition map.
30011
30012 * kern/misc.c (grub_strncmp): Rewritten.
30013
30014 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
30015 returns non-zero. Otherwise return 0.
30016
30017 * include/grub/partition.h (grub_partition_map_iterate): Return
30018 int instead of void.
30019
30020 * include/grub/normal.h (grub_normal_do_completion): New prototype.
30021
30022 * include/grub/misc.h (grub_strncmp): Change the type of N to
30023 grub_size_t.
30024
30025 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
30026 of void.
30027
30028 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 30029 unsigned explicitly before comparing it with I.
8de3495c 30030
30031 * kern/main.c (grub_env_write_root): Add the attribute unused into
30032 VAR.
30033
30034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30035 normal/completion.c.
30036 (normal_mod_SOURCES): Likewise.
30037 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30038 (normal_mod_SOURCES): Likewise.
30039
30040 * normal/command.c (grub_iterate_commands): If ITERATE returns
30041 non-zero, return one immediately.
30042
e85e144b 300432005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
30044
30045 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
30046 * kern/i386/pc/startup.S: Updated Global Descriptor table's
30047 descriptions.
30048 (grub_vbe_get_controller_info): New function.
30049 (grub_vbe_get_mode_info): Likewise.
30050 (grub_vbe_set_mode): Likewise.
30051 (grub_vbe_get_mode): Likewise.
30052 (grub_vbe_set_memory_window): Likewise.
30053 (grub_vbe_get_memory_window): Likewise.
30054 (grub_vbe_set_scanline_length): Likewise.
30055 (grub_vbe_get_scanline_length): Likewise.
30056 (grub_vbe_set_display_start): Likewise.
30057 (grub_vbe_get_display_start): Likewise.
30058 (grub_vbe_set_palette_data): Likewise.
30059 * include/grub/i386/pc/vbe.h: New file.
30060
c46153d2 300612005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30062
30063 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30064 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
30065 * DISTLIST: Likewise.
30066 * kern/ieee1275/of.c: Moved to ...
30067 * kern/ieee1275/ieee1275.c: ... here.
30068
0cb90c45 300692005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30070
30071 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
30072 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
30073 Pass 0 as `end' parameter to grub_strtoul().
30074
a19fb360 300752005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30076
30077 * include/grub/powerpc/ieee1275/console.h: Do not include
30078 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
30079 ifdef.
30080 (grub_console_cur_color): Remove i386-specific prototype.
30081 (grub_console_real_putchar): Likewise.
30082 (grub_console_checkkey): Likewise.
30083 (grub_console_getkey): Likewise.
30084 (grub_console_getxy): Likewise.
30085 (grub_console_gotoxy): Likewise.
30086 (grub_console_cls): Likewise.
30087 (grub_console_setcursor): Likewise.
30088 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
30089 Include <grub/machine/console.h>.
30090 * term/ieee1275/ofconsole.c: Likewise.
30091
4ac9bd04 300922005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
30093
30094 * Makefile.in (LIBLZO): New variable.
30095
30096 * configure.ac: Check for LZO version 2.
30097
30098 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
30099 lzo/lzo1x.h instead of lzo1x.h.
30100
30101 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
30102 of -llzo.
30103
30104 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
30105 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
30106
30107 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
30108 copying the data from PARTITION to P.
30109
f4917dfd 301102005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30111
30112 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
30113 negative, unload the module.
30114
30115 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
30116 map is "pc_partition_map" but not "pc".
30117 (usage): Fix the description. The options are --boot-image and
30118 --core-image but not --boot-file or --core-file.
30119 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
30120 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
30121 DEFAULT_DIRECTORY.
30122
30123 * util/i386/pc/grub-install.in: Do not specify --boot-file or
30124 --core-file. Specify INSTALL_DEVICE as an argument.
30125
30126 * util/console.c: Include config.h.
30127 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
30128 [HAVE_NCURSES_H]: Include ncurses.h.
30129 [HAVE_CURSES_H]: Include curses.h.
30130 [!A_NORMAL] (A_NORMAL): Defined as zero.
30131 [!A_STANDOUT] (A_STANDOUT): Likewise.
30132
30133 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
30134 -lncurses.
30135 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
30136
30137 * configure.ac: Check for curses libraries and headers.
30138
30139 * Makefile.in (LIBCURSES): New variable.
30140
30141 * genmk.rb (Script::rule): Set the executable bits.
30142
30143 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
30144 name of the PC partition map is "pc_partition_map" but not "pc".
30145
0e143073 301462005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30147
30148 * util/i386/pc/grub-install.in (grub_probefs): New variable.
30149 (modules): Likewise.
30150 (usage): Added descriptions for --modules and --grub-probefs.
30151 Handle --modules and --grub-probefs. Save the arguments in MODULES
30152 and GRUB_PROBEFS, respectively.
30153 Auto-detect a filesystem module against GRUBDIR. If the result is
30154 empty and modules are not specified explicitly, abort the
30155 installation. Add the result to MODULES.
30156
30157 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
30158 disk/powerpc/ieee1275/ofdisk.c,
30159 include/grub/powerpc/ieee1275/init.h and
30160 term/powerpc/ieee1275/ofconsole.c.
30161 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
30162 term/ieee1275/ofconsole.c.
30163
30164 * include/grub/powerpc/ieee1275/console.h: Resurrected.
30165
30166 * COPYING: Upgraded to the latest version. Only the address of the
30167 FSF office has changed.
f19dbdb7 30168
efd6e6d5 301692005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30170
30171 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30172 kern/ieee1275.c with kern/ieee1275/of.c.
30173
30174 * kern/ieee1275.c: Moved to ...
30175 * kern/ieee1275/of.c: ... here.
30176
8ceafda2 301772005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
30178
30179 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 30180 readability.
8ceafda2 30181
30182 * config.guess: Updated to the latest version from gnulib.
30183 * config.sub: Likewise.
30184 * install.sh: Likewise.
30185 * mkinstalldirs: Likewise.
30186
30187 * include/grub/console.h: Removed. This file is arch-specific. Do
30188 not put this in include/grub.
30189
30190 * include/grub/i386/pc/console.h: Resurrected.
30191
30192 * util/console.c: Include grub/machine/console.h instead of
30193 grub/console.h.
30194 * util/grub-emu.c: Likewise.
30195
267f6cd9 301962005-08-04 Marco Gerards <metgerards@student.han.nl>
30197
30198 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
30199 hardcoded value.
f19dbdb7 30200
267f6cd9 30201 From Vincent Pelletier <subdino2004@yahoo.fr>
30202 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
30203 Redefined to use grub_getwh.
30204 (grub_term): New member named getwh.
30205 (grub_getwh): New prototype.
30206 * kern/term.c (grub_getwh): New function.
30207 * term/i386/pc/console.c (grub_console_getwh): New function.
30208 (grub_console_term): New member `getwh'.
30209 * term/i386/pc/vga.c (grub_vga_getwh): New function.
30210 (grub_vga_term): New member `getwh'.
0b5abe02 30211 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 30212 grub_ssize_t.
30213 (grub_ofconsole_getw): New function.
30214 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
30215 (grub_ofconsole_term): New field named getwh and new initial
30216 value.
30217
3be7266d 302182005-08-03 Hollis Blanchard <hollis@penguinppc.org>
30219
30220 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
30221 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
30222 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
30223 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
30224 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
30225 of <grub/machine/ieee1275.h>.
30226 * commands/ieee1275/reboot.c: Likewise.
30227 * boot/powerpc/ieee1275/ieee1275.c: Move ...
30228 * kern/ieee1275.c: ... to here. All users updated. Change all
30229 parameter structs to use new type `grub_ieee1275_cell_t'.
30230 * term/powerpc/ieee1275/ofconsole.c: Move ...
30231 * term/ieee1275/ofconsole.c: ... to here. All users updated.
30232 * disk/powerpc/ieee1275/ofdisk.c: Move ...
30233 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
30234 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
30235 to return int.
30236 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
30237 Remove unused prototypes. All users updated.
30238 * include/grub/powerpc/ieee1275/console.h: Removed.
30239 * include/grub/powerpc/ieee1275/ieee1275.h: Define
30240 `grub_ieee1275_cell_t'.
30241 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
30242 Cast comparisons with -1 to the correct type.
30243 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
30244 type to match `grub_ieee1275_entry_fn'.
30245
8b5f3938 302462005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
30247
30248 * DISTLIST: Added util/i386/pc/grub-probefs.c.
30249
30250 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
30251 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
30252 partmap/sun.c.
30253 (grub_probefs_SOURCES): New variable.
30254
30255 * util/i386/pc/grub-probefs.c: New file.
30256
30257 * util/i386/pc/grub-setup.c (main): Call
30258 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
30259 grub_hfs_init and grub_jfs_init to initialize the system. Call
30260 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
30261 grub_pc_partition_map_fini to finish the system.
30262
ea409713 302632005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
30264
30265 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
30266 function.
30267 (grub_multiboot_load_elf32): Likewise.
30268 (grub_multiboot_is_elf64): Likewise.
30269 (grub_multiboot_load_elf64): Likewise.
30270 (grub_multiboot_load_elf): Likewise.
30271 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
30272 an ELF32 or ELF64 file.
30273 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
30274
30275 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
30276 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
30277 NULL before calling FS->LABEL.
30278 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
30279 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
30280 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
30281 before calling FS->LABEL.
30282
141a288b 302832005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
30284
30285 * util/i386/pc/grub-install.in (datadir): New variable.
30286 (libdir): Removed.
30287 (pkgdatadir): New variable.
30288 (pkglibdir): Removed.
30289
0d5f8a54 302902005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
30291
30292 * DISTLIST: Added util/i386/pc/grub-install.in.
30293
30294 * util/i386/pc/grub-install.in: New file.
30295
30296 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
30297 (grub_install_SOURCES): Likewise.
30298
30299 * genmk.rb: Added support for scripts.
30300 (Script): New class.
30301 (scripts): New variable.
30302
30303 * Makefile.in (install-local): Install sbin_SCRIPTS by
30304 INSTALL_SCRIPT.
30305 (uninstall): Remove sbin_SCRIPTS.
30306
30307 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
30308 device, try to get a GRUB device by
30309 grub_util_biosdisk_get_grub_dev.
30310 Free DEST_DEV.
30311
30312 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
30313 description for --device-map.
30314
5f968e1e 303152005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30316
30317 Change the semantics of variable hooks. They now return strings
30318 instead of error values.
f19dbdb7 30319
5f968e1e 30320 * util/i386/pc/grub-setup.c: Include grub/env.h.
30321 (setup): Use grub_device_set_root instead of grub_env_set.
30322
30323 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
30324 grub_env_get instead of grub_device_set_root and
30325 grub_device_get_root, respectively.
30326
30327 * kern/main.c (grub_env_write_root): New function.
30328 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
30329 grub_env_set instead of grub_device_set_root.
30330
30331 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
30332 many variables.
30333 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
30334 rather than calling ENV->WRITE_HOOK afterwards.
30335 (grub_env_get): Return the result of ENV->READ_HOOK rather than
30336 passing a pointer of a pointer.
30337 (grub_register_variable_hook): Change the types of "read_hook" and
30338 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
30339 respectively.
30340 Allocate the default empty string on the heap, because this string
30341 may be freed later.
30342
30343 * kern/device.c: Include grub/env.h.
30344 (grub_device_set_root): Removed.
30345 (grub_device_get_root): Likewise.
30346 (grub_device_open): Use grub_env_get instead of
30347 grub_device_get_root.
30348
30349 * include/grub/env.h (grub_env_read_hook_t): New type.
30350 (grub_env_write_hook_t): Likewise.
30351 (grub_env_var): Change the types of "read_hook" and "write_hook"
30352 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
30353 (grub_register_variable_hook): Likewise.
30354
30355 * include/grub/device.h (grub_device_set_root): Removed.
30356 (grub_device_set_root): Likewise.
30357
30358 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
30359 make sure that DIRNAME terminates with '/', so that
30360 grub_fat_find_dir will fail if PATH is not a directory.
30361
30362 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
30363 from DIRNAME.
30364 Use the qualifier auto for print_files and print_files_long.
30365 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
30366 as a regular file.
30367 Put a newline only if there is no error.
30368 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
30369 used.
30370
896f0afd 303712005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30372
30373 * kern/partition.c (grub_partition_probe): Initialize PART to
30374 NULL. Otherwise, when no partition map is registered, this returns
30375 a garbage.
30376
b28b81b2 303772005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
30378
30379 * partmap/apple.c (apple_partition_map_iterate): Check if POS
30380 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
30381 valid.
30382
5f3607e0 303832005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
30384
30385 * commands/ls.c (grub_ls_list_disks): Print the filesystem
30386 information on each device, if it does not have partitions. Print
30387 "Device" instead of "Disk", because this function is not specific
30388 to disk devices.
30389
30390 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
30391 static to ensure that it is put on the memory rather than a
30392 register.
30393
502c87e8 303942005-07-17 Yoshinori Okuji <okuji@enbug.org>
30395
30396 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
30397 (grub_cat_init): Likewise.
30398 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
30399 (options): Likewise.
30400 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30401 (grub_configfile_init): Likewise.
30402 * font/manager.c (GRUB_MOD_INIT): Likewise.
30403 * commands/help.c (GRUB_MOD_INIT): Likewise.
30404 (grub_help_init): Likewise.
30405 * normal/command.c (grub_command_init): Likewise.
30406 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
30407 * disk/loopback.c (grub_loop_init): Likewise.
30408 (GRUB_MOD_INIT): Likewise.
30409 * commands/ls.c (grub_ls_init): Likewise.
30410 (GRUB_MOD_INIT): Likewise.
30411 (options): Likewise.
30412 * commands/boot.c (grub_boot_init): Likewise.
30413 (GRUB_MOD_INIT): Likewise.
30414 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
30415 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
30416 (GRUB_MOD_INIT): Likewise.
30417 * commands/cmp.c (grub_cmp_init): Likewise.
30418 (GRUB_MOD_INIT): Likewise.
30419
30420 * normal/arg.c: Use <> instead of "" to include header files.
30421 (SHORT_ARG_HELP): New macro.
30422 (SHORT_ARG_USAGE): Likewise.
30423 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
30424 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
30425 descriptions.
30426 (find_short): Check if C is 'h' or 'u' explicitly.
30427 (grub_arg_show_help): Use space characters instead of tabs. Treat
30428 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
30429 are shown with --help and --usage only if they are not used for
30430 the command itself.
30431 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
30432 'h' and 'u'.
30433
30434 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
30435 const into "longarg". Change the type of "shortarg" to int.
30436
f806d18e 304372005-07-17 Yoshinori Okuji <okuji@enbug.org>
30438
30439 * boot/i386/pc/boot.S (boot_drive_check): New label.
30440
30441 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
30442 macro.
30443
30444 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
30445 which do not pass a boot drive correctly. Copied from GRUB Legacy.
30446
e293232b 304472005-07-17 Yoshinori Okuji <okuji@enbug.org>
30448
30449 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
30450 When turning off Gate A20, skip the check and return immediately,
30451 because this is not fatal usually.
30452
ebedfd00 304532005-07-17 Yoshinori Okuji <okuji@enbug.org>
30454
30455 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
30456 be 0x7C00 instead of 0x8000.
30457
30458 * boot/i386/pc/pxeboot.S: Rewritten.
30459
30460 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
30461 EXT_C.
30462 (gate_a20_check_state): Read a byte from 0x108000. Invert the
30463 result.
30464
654fc59f 304652005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
30466
30467 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
30468 robustness. This routine now supports a BIOS call and System
30469 Control Port A to modify the gate A20.
30470
30471 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30472 Increased to 0x440.
30473
09f9923f 304742005-07-12 Hollis Blanchard <hollis@penguinppc.org>
30475
30476 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
30477 device path and resulting ihandle.
30478 (grub_ofdisk_close): dprintf the ihandle being closed.
30479 (grub_ofdisk_read): dprintf function parameters.
30480 * kern/mm.c (grub_mm_init_region): Likewise.
30481 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
30482 (grub_linux_boot): dprintf the Linux entry point, initrd address and
30483 size, and boot arguments.
30484 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
30485 before loading into memory.
30486 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
30487 before loading into memory.
30488
7ef504d8 304892005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
30490
30491 * kern/mm.c: Added much documentation.
30492 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
30493 8, set to 5 instead of 8.
30494
e0f050c2 304952005-07-10 Yoshinori Okuji <okuji@enbug.org>
30496
30497 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
30498
30499 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
30500 (grub_mkdevicemap_SOURCES): New variable.
30501
30502 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
30503 lib/device.c of GRUB Legacy.
30504
7224189a 305052005-07-10 Yoshinori Okuji <okuji@enbug.org>
30506
30507 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
30508 instead of PATH is NULL.
30509
68c864eb 305102005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
30511
30512 * commands/cmp.c (BUFFER_SIZE): New macro.
30513 (grub_cmd_cmp): Close the right file at the right time. Compare
30514 only data just read. Don't report files of different size as
30515 identical. Dynamically allocate buffers. Move variable
30516 declarations at the beginning of function.
30517
e6f3e614 305182005-07-09 Yoshinori Okuji <okuji@enbug.org>
30519
30520 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
30521 reverse.
30522
f8f1559a 305232004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
30524
30525 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
30526 when backspace is pressed at beginning of line.
30527
39c9d41d 305282005-07-03 Yoshinori Okuji <okuji@enbug.org>
30529
30530 * DISTLIST: Added genfslist.sh.
30531
30532 * normal/main.c (fs_module_list): New variable.
30533 (autoload_fs_module): New function.
30534 (read_fs_list): Likewise.
30535 (grub_normal_execute): Call read_fs_list.
30536
30537 * kern/fs.c (grub_fs_autoload_hook): New variable.
30538 (grub_fs_probe): Added support for auto-loading.
30539
30540 * include/grub/normal.h (struct grub_fs_module_list): New struct.
30541 (grub_fs_module_list_t): New type.
30542
30543 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
30544 (grub_fs_autoload_hook): New prototype.
30545
30546 * genfslist.sh: New file.
f19dbdb7 30547
39c9d41d 30548 * genmk.rb: Added a rule to generate a filesystem list.
30549
121c1d83 305502005-06-30 Marco Gerards <metgerards@student.han.nl>
30551
30552 * configure.ac: Fix the test for cross-compiling.
30553
30554 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
30555 define GRUB_UTIL anymore.
30556
30557 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
30558 so this function works on other systems than just big endian.
30559 (load_modules): Likewise.
30560 (add_segments): Likewise.
30561
e75d76e1 305622005-06-23 Hollis Blanchard <hollis@penguinppc.org>
30563
30564 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
30565 contains `l' modifier, get a long from va_arg().
30566
50b5a0a7 305672005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
30568
30569 * kern/mm.c (grub_free): If the next free block which is being
30570 merged is the first free block, set the first block to the block
30571 being freed.
30572 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
30573
89371b20 305742005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30575
30576 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
30577 `grub_ieee1275_chosen'.
30578
168d6e58 305792005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30580
30581 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
30582 (grub_ieee1275_chosen): New variable.
30583 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
30584 `chosen'.
30585 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
30586 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30587 Rename first argument to `phandle' for consistency.
30588 (grub_ieee1275_get_property_length): Likewise.
30589 (grub_ieee1275_next_property): Likewise. Change type of first argument
30590 to grub_ieee1275_phandle_t.
30591 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
30592 Move export next to declaration.
30593 (grub_ieee1275_chosen): New variable.
30594 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
30595 Correct cosmetic typo.
30596 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
30597 `grub_ieee1275_chosen'.
30598 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
30599 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
30600 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
30601 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
30602 `grub_ieee1275_chosen'.
30603
ca5baa3f 306042005-05-10 Hollis Blanchard <hollis@penguinppc.org>
30605
30606 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
30607 /chosen/bootargs.
30608 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
30609 /chosen/bootargs as "variable=value" pairs.
30610
708b345f 306112005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
30612
30613 * include/grub/misc.h (grub_dprintf): New macro.
30614 (grub_real_dprintf): New prototype.
30615 (grub_strword): Likewise.
30616 (grub_iswordseparator): Likewise.
30617 * kern/misc.c (grub_real_dprintf): New function.
30618 (grub_strword): Likewise.
30619 (grub_iswordseparator): Likewise.
30620
f4c5e67c 306212005-04-30 Hollis Blanchard <hollis@penguinppc.org>
30622
30623 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
30624 (roundup): Remove macro.
30625 (grub_ieee1275_flags): Make static.
30626 (grub_ieee1275_realmode): Remove.
30627 (grub_ieee1275_test_flag): New function.
30628 (grub_ieee1275_set_flag): Likewise.
30629 (find_options): Rename to `grub_ieee1275_find_options'; update
30630 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
30631 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
30632 (cmain): New prototype.
30633 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
30634 `grub_ieee1275_flags' directly.
30635 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
30636 machine/biosdisk.h.
30637 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
30638 Don't include grub/machine/init.h.
30639 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
30640 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
30641 Remove prototype.
30642 (grub_ieee1275_realmode): Likewise.
30643 (grub_ieee1275_flag): New enum.
30644 (grub_ieee1275_test_flag): New prototype.
30645 (grub_ieee1275_set_flag): New prototype.
30646 * include/grub/powerpc/ieee1275/init.h: Remove file.
30647 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
30648 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
30649 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
30650 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
30651 comment.
30652 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
30653 `grub_ieee1275_test_flag'.
30654 (grub_ieee1275_encode_devname): Likewise.
30655
ed16607e 306562005-04-21 Hollis Blanchard <hollis@penguinppc.org>
30657
30658 * include/grub/powerpc/ieee1275/ieee1275.h
30659 (grub_ieee1275_encode_devname): New prototype.
30660 (grub_ieee1275_get_filename): Likewise.
30661 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
30662 function.
30663 (grub_set_prefix): Likewise.
30664 (grub_machine_init): Call grub_set_prefix.
30665 * kern/powerpc/ieee1275/openfw.c: Fix typos.
30666 (grub_parse_type): New enum.
30667 (grub_ieee1275_get_devargs): New function.
30668 (grub_ieee1275_get_devname): Likewise.
30669 (grub_ieee1275_parse_args): Likewise.
30670 (grub_ieee1275_get_filename): Likewise.
30671 (grub_ieee1275_encode_devname): Likewise.
30672
be369920 306732005-03-30 Marco Gerards <metgerards@student.han.nl>
30674
30675 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
30676 `grub_loader_unset'.
30677
a5ce3a4a 306782005-03-26 Hollis Blanchard <hollis@penguinppc.org>
30679
30680 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
30681 instead of grub_ieee1275_interpret.
30682 (grub_halt_init): New function.
30683 (grub_halt_fini): Likewise.
30684 (GRUB_MOD_INIT): Correct message grammar.
30685 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
30686 instead of grub_ieee1275_interpret.
30687 (grub_reboot_init): New function.
30688 (grub_reboot_fini): Likewise.
30689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
30690 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
30691 util/i386/pc/misc.c with commands/ieee1275/halt.c,
30692 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
30693 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
30694 function.
30695 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
30696 Add prototype.
30697 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
30698 prototype.
30699 (grub_halt): Likewise.
30700 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
30701 (cmain): Remove __attribute__((unused)).
30702 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
30703 (grub_heap_len): Likewise.
30704 (grub_machine_fini): New function.
30705 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
30706 (grub_halt): Likewise.
30707 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
30708 function.
30709 * util/powerpc/ieee1275/misc.c: New file.
30710
0058f771 307112005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30712
30713 * DISTLIST: New file.
30714 * gendistlist.sh: Likewise.
f19dbdb7 30715
0058f771 30716 * Makefile.in (COMMON_DISTFILES): Removed.
30717 (BOOT_DISTFILES): Likewise.
30718 (CONF_DISTFILES): Likewise.
30719 (DISK_DISTFILES): Likewise.
30720 (FS_DISTFILES): Likewise.
30721 (INCLUDE_DISTFILES): Likewise.
30722 (KERN_DISTFILES): Likewise.
30723 (LOADER_DISTFILES): Likewise.
30724 (TERM_DISTFILES): Likewise.
30725 (UTIL_DISTFILES): Likewise.
30726 (DISTFILES): Likewise.
30727 (uninstall): Uninstall files in $(pkgdata_DATA).
30728 (DISTLIST): New target.
30729 (distdir): Use the contents of the file DISTLIST to get a list of
30730 distributed files.
30731
46b3b8a5 307322005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30733
30734 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
30735 descriptor. This is ported from GRUB Legacy.
30736
30737 * gencmdlist.sh: Added an extra semicolon to make it work with
30738 old sed versions. Reported by Robert Bihlmeyer
30739 <robbe@orcus.priv.at>.
30740
5822ff87 307412005-03-08 Yoshinori Okuji <okuji@enbug.org>
30742
30743 Automatic loading of commands is supported.
f19dbdb7 30744
5822ff87 30745 * normal/main.c (read_command_list): New function.
30746 (grub_normal_execute): Call read_command_list.
30747
30748 * normal/command.c (grub_register_command): Return zero or CMD.
30749 Allocate CMD->NAME from the heap.
30750 Initialize CMD->MODULE_NAME to zero.
30751 Find the same name as well. If the same command is found and it is
30752 a dummy command, overwrite members. If it is not a dummy command,
30753 return zero.
30754 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
30755 (grub_command_find): If a dummy command is found, load a module
30756 and retry to find a command only once.
30757
30758 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
30759 make sure that each command is loaded.
30760
30761 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
30762 macro.
30763 (struct grub_command): Remove const from the member `name'.
30764 Add a new member `module_name'.
30765 (grub_register_command): Return grub_command_t.
30766
30767 * commands/help.c (grub_cmd_help): Call grub_command_find to make
30768 sure that each command is loaded.
30769
30770 * genmk.rb (PModule::rule): Specify a module name without the
30771 suffix ".mod" to gencmdlist.sh.
30772
7b1f4b57 307732005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30774
30775 * gencmdlist.sh: New file.
f19dbdb7 30776
7b1f4b57 30777 * genmk.rb (PModule::rule): Generate a rule for a command list.
30778 Clean command.lst.
30779 Generate command.lst from $(COMMANDFILES).
30780
30781 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
30782 (DATA): Added $(pkgdata_DATA).
30783 (install-local): Install files in $(pkgdata_DATA).
30784
062aaf39 307852005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30786
30787 * term/i386/pc/vga.c (debug_command): Removed.
30788 (GRUB_MOD_INIT): Do not register the command "debug".
30789
30790 From Hollis Blanchard:
30791 * commands/configfile.c: New file.
30792 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30793 commands/configfile.c.
30794 (pkgdata_MODULES): Added configfile.mod.
30795 (configfile_mod_SOURCES): New variable.
30796 (configfile_mod_CFLAGS): Likewise.
30797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30798 commands/configfile.c.
30799 (pkgdata_MODULES): Added configfile.mod.
30800 (configfile_mod_SOURCES): New variable.
30801 (configfile_mod_CFLAGS): Likewise.
30802 * util/grub-emu.c (main): Call grub_configfile_init and
30803 grub_configfile_fini.
30804 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
30805 prototype.
30806 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 30807
cee01aa6 308082005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30809
30810 * normal/arg.c (grub_arg_show_help): Do not show the bug report
30811 address.
30812
30813 * commands/help.c (grub_cmd_help): Do not print newlines after
30814 the last command in print_command_help.
30815
93f3a1d8 308162005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30817
30818 * commands/default.h: New file.
30819 * commands/timeout.h: Likewise.
30820 * normal/context.c: Likewise.
f19dbdb7 30821
93f3a1d8 30822 * util/misc.c: Do not include sys/times.h.
30823 Include sys/time.h and grub/machine/time.h.
30824 (grub_get_rtc): Rewritten with gettimeofday.
30825
30826 * util/grub-emu.c (main): Call grub_default_init and
30827 grub_timeout_init before grub_normal_init, and call
30828 grub_timeout_fini and grub_default_fini after grub_main.
30829
30830 * util/console.c (grub_ncurses_checkkey): Return the read
30831 character or -1.
30832
30833 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
30834 timeouts.
30835
30836 * normal/main.c (read_config_file): Push MENU. If this fails,
30837 print an error and wait for a user input.
30838 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
30839 If a menu is empty or an error occurs, pop MENU.
30840 (grub_normal_execute): Pop and free MENU after grub_menu_run
30841 returns.
30842
30843 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
30844
30845 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
30846 include time.h.
30847 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30848 without GRUB_UTIL.
30849 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
30850 time.h.
30851 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30852 without GRUB_UTIL.
30853
30854 * include/grub/normal.h (struct grub_menu_list): New struct.
30855 (grub_menu_list_t): New type.
30856 (struct grub_context): New struct.
30857 (grub_context_t): New type.
30858 (grub_register_command): Got rid of EXPORT_FUNC.
30859 (grub_unregister_command): Likewise.
30860 (grub_context_get): New prototype.
30861 (grub_context_get_current_menu): Likewise.
30862 (grub_context_push_menu): Likewise.
30863 (grub_context_pop_menu): Likewise.
30864 [GRUB_UTIL] (grub_default_init): Likewise.
30865 [GRUB_UTIL] (grub_default_fini): Likewise.
30866 [GRUB_UTIL] (grub_timeout_init): Likewise.
30867 [GRUB_UTIL] (grub_timeout_fini): Likewise.
30868
30869 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
30870 commands/timeout.c and normal/context.c.
30871 (pkgdata_MODULES): Added default.mod and timeout.mod.
30872 (normal_mod_SOURCES): Added normal/context.c.
30873 (default_mod_SOURCES): New variable.
30874 (default_mod_CFLAGS): Likewise.
30875 (timeout_mod_SOURCES): Likewise.
30876 (timeout_mod_CFLAGS): Likewise.
30877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
30878 conf/i386-pc.rmk.
30879 (pkgdata_MODULES): Added default.mod and timeout.mod.
30880 (normal_mod_SOURCES): Added normal/context.c.
30881 (default_mod_SOURCES): New variable.
30882 (default_mod_CFLAGS): Likewise.
30883 (timeout_mod_SOURCES): Likewise.
30884 (timeout_mod_CFLAGS): Likewise.
30885
30886 * Makefile.in (all-local): Added $(MKFILES).
30887
4ed2e1dd 308882005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
30889
30890 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
30891 (grub_emu_SOURCES): Likewise.
30892 (pkgdata_MODULES): Add `sun.mod'.
30893 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30895 `partmap/sun.c'.
30896 (pkgdata_MODULES): Add `sun.mod'.
30897 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30898 * include/grub/partition.h (grub_sun_partition_map_init): New
30899 prototype.
30900 (grub_sun_partition_map_fini): Likewise.
30901 * partmap/sun.c: New file.
30902 * util/grub-emu.c (main): Initialize and de-initialize the sun
30903 partitionmap support.
30904
4d4e372e 309052005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
30906
30907 This implements an Emacs-like menu entry editor.
f19dbdb7 30908
4d4e372e 30909 * normal/menu_entry.c: New file.
f19dbdb7 30910
4d4e372e 30911 * util/console.c (grub_ncurses_putchar): Translate some Unicode
30912 characters to ASCII.
30913 (saved_char): New variable.
30914 (grub_ncurses_checkkey): Rewritten completely.
30915 (grub_ncurses_getkey): Likewise.
30916 (grub_ncurses_init): Call raw instead of cbreak.
30917
30918 * normal/menu.c (print_entry): Do not put a space.
30919 (init_page): Renamed to ...
30920 (grub_menu_init_page): ... this. All callers changed.
30921 (edit_menu_entry): Removed.
30922 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
30923
30924 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
30925
30926 * kern/misc.c (grub_vprintf): Call grub_refresh.
30927
30928 * normal/menu.c (DISP_LEFT): Renamed to ...
30929 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
30930 * normal/menu.c (DISP_UP): Renamed to ...
30931 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
30932 * normal/menu.c (DISP_RIGHT): Renamed to ...
30933 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
30934 * normal/menu.c (DISP_DOWN): Renamed to ...
30935 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
30936 * normal/menu.c (DISP_HLINE): Renamed to ...
30937 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
30938 * normal/menu.c (DISP_VLINE): Renamed to ...
30939 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
30940 * normal/menu.c (DISP_UL): Renamed to ...
30941 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
30942 * normal/menu.c (DISP_UR): Renamed to ...
30943 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
30944 * normal/menu.c (DISP_LL): Renamed to ...
30945 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
30946 * normal/menu.c (DISP_LR): Renamed to ...
30947 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
30948 * normal/menu.c (TERM_WIDTH): Renamed to ...
30949 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
30950 * normal/menu.c (TERM_HEIGHT): Renamed to ...
30951 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
30952 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
30953 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
30954 * normal/menu.c (TERM_MARGIN): Renamed to ...
30955 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
30956 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
30957 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
30958 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
30959 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
30960 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
30961 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
30962 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
30963 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
30964 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
30965 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
30966 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
30967 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
30968 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
30969 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
30970 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
30971 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
30972 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
30973 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
30974 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
30975 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
30976 All callers changed.
30977
30978 * include/grub/normal.h: New prototype.
30979
30980 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30981 normal/menu_entry.c.
30982 (normal_mod_SOURCES): Likewise.
30983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30984 (normal_mod_SOURCES): Likewise.
30985
e6b92c8a 309862005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
30987
30988 * include/grub/normal.h (grub_halt_init): New prototype.
30989 (grub_halt_fini): Likewise.
30990 (grub_reboot_init): Likewise.
30991 (grub_reboot_fini): Likewise.
30992
30993 * util/grub-emu.c: Include signal.h.
30994 (main_env): New global variable.
30995 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
30996 catch C-c.
30997 (grub_machine_fini): New function.
30998 (main): Call grub_halt_init and grub_reboot_init before
30999 grub_main, and grub_reboot_fini and grub_halt_fini after it.
31000 Call setjmp with MAIN_ENV to go back afterwards.
31001 Call grub_machine_fini right before return.
31002
31003 * include/grub/util/misc.h: Include setjmp.h.
31004 (main_env): New prototype.
31005
31006 * include/grub/kernel.h (grub_machine_fini): New prototype.
31007 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
31008 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
31009
31010 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
31011 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
31012 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 31013
e6b92c8a 31014 * util/i386/pc/misc.c: New file.
f19dbdb7 31015
e6b92c8a 31016 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31017 util/i386/pc/misc.c, commands/i386/pc/halt.c and
31018 commands/i386/pc/reboot.c.
31019
c642636f 310202005-02-14 Guillem Jover <guillem@hadrons.org>
31021
31022 * include/grub/dl.h (grub_dl_check_header): New prototype.
31023 (grub_arch_dl_check_header): Change return type to grub_err_t,
31024 remove size parameter and export function. Update all callers.
31025 * kern/dl.c (grub_dl_check_header): New function.
31026 (grub_dl_load_core): Use `grub_dl_check_header' instead of
31027 `grub_arch_dl_check_header'. Check ELF type. Check if sections
31028 are inside the core.
31029 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
31030 independent ELF header checks.
31031 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31032 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
31033 `grub_dl_check_header' instead of explicit checks. Check for the
31034 ELF type.
31035 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
31036 `grub_dl_check_header' instead of explicit checks. Remove arch
31037 specific ELF header checks.
31038
e6b92c8a 31039 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
31040 argument SIZE.
31041
5eabe94b 310422005-02-13 Hollis Blanchard <hollis@penguinppc.org>
31043
31044 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
31045 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
31046
1b14a681 310472005-02-12 Hollis Blanchard <hollis@penguinppc.org>
31048
31049 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 31050 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 31051 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 31052 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 31053 * partmap/amiga.c (amiga_partition_map_iterate): Return
31054 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
31055 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31056
aca108aa 310572005-02-01 Guillem Jover <guillem@hadrons.org>
31058
31059 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
31060 help info.
31061
c9f9c556 310622005-01-31 Marco Gerards <metgerards@student.han.nl>
31063
31064 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
31065 Removed prototype.
31066 (grub_rescue_cmd_linux): New prototype.
31067 (grub_rescue_cmd_initrd): Likewise.
31068 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
31069 `bi_rec'.
31070 (grub_linux_release_mem): Release the memory for the initrd.
31071 (grub_load_linux): Renamed from this...
31072 (grub_rescue_cmd_linux): ...To this. Changed all callers.
31073 Changed `entry' not to be static. Loop over memory regions to
31074 find another one when the default fails.
31075 (grub_rescue_cmd_initrd): New function.
31076 (grub_linux_init): Remove function.
31077 (grub_linux_fini): Likewise.
31078 (GRUB_MOD_INIT): Register `initrd'.
31079 (GRUB_MOD_FINI): Unregister `initrd'.
31080 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
31081 Function removed.
31082 (grub_linux_normal_fini): Likewise.
31083 (GRUB_MOD_INIT): Register `initrd'.
31084 (GRUB_MOD_FINI): Unregister `initrd'.
31085
990cf3aa 310862005-01-31 Marco Gerards <metgerards@student.han.nl>
31087
31088 * commands/help.c: New file.
31089 * normal/arg.c (show_help): Renamed to...
31090 (grub_arg_show_help): ... this.
31091 * commands/i386/pc/halt.c: New file.
31092 * commands/i386/pc/reboot.c: Likewise.
31093 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
31094 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
31095 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
31096 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
31097 variables.
31098 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31099 `commands/help.c'.
31100 (pkgdata_MODULES): Add `help.mod'.
31101 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
31102 * grub/i386/pc/init.h (grub_reboot): New prototype.
31103 (grub_halt): Likewise.
31104 * include/grub/normal.h (grub_arg_show_help): New prototype.
31105 (grub_help_init): Likewise.
31106 (grub_help_fini): Likewise.
31107 * util/grub-emu.c (main): Initialize and deinitialize the help
31108 command.
31109
31110 * normal/cmdline.c (grub_cmdline_get): Doc fix.
31111
31112 * normal/command.c (grub_command_init): Fixed the description of
31113 the `set' and `unset' commands.
31114
311152005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 31116
31117 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
31118 function.
31119 * commands/ieee1275/halt.c: New file.
31120 * commands/ieee1275/reboot.c: Likewise.
31121 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
31122 `__attribute__ ((unused))'. Some GCS related fixed.
31123 (grub_suspend_init) [GRUB_UTIL]: Function removed.
31124 (grub_suspend_fini): Likewise.
31125 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
31126 and `halt.mod'.
31127 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
31128 (halt_mod_CFLAGS): New variables.
31129 * include/grub/powerpc/ieee1275/ieee1275.h
31130 (grub_ieee1275_interpret): New prototype.
31131
1ab09cc7 311322005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
31133
31134 * include/grub/misc.h (memmove): New prototype.
31135 (memcpy): Likewise.
31136
8b8cbdb2 311372005-01-22 Hollis Blanchard <hollis@penguinppc.org>
31138
31139 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
31140 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
31141
e3741a27 311422005-01-22 Marco Gerards <metgerards@student.han.nl>
31143
31144 * kern/misc.c (grub_strndup): Function rewritten.
31145
776bd780 311462005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
31147
31148 * normal/menu.c (TERM_WIDTH): Macro redefined.
31149 (TERM_TOP_BORDER_Y): Likewise.
31150 (draw_border): Replaced while-loop by a for-loop. Make the number
31151 of lines consistent with the number of lines displayed in
31152 print_entries. Added a margin below the rectangle.
31153 (print_entry): Make the entry fit in the rectangle.
31154 (print_entries): Display the scroll arrows next to the right
31155 border.
31156
78026bce 311572005-01-21 Marco Gerards <metgerards@student.han.nl>
31158
31159 * fs/minix.c (grub_minix_find_file): Reserve more space for
31160 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
31161 `grub_strncpy' to copy `path' into it.
31162
67bbaf0f 311632005-01-21 Marco Gerards <metgerards@student.han.nl>
31164
31165 Add the loopback device, a device via which files can be accessed
31166 as devices.
f19dbdb7 31167
67bbaf0f 31168 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
31169 (pkgdata_MODULES): Add loopback.mod.
31170 (loopback_mod_SOURCES): New variable.
31171 (loopback_mod_CFLAGS): Likewise.
31172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31173 `disk/loopback.c'.
31174 (pkgdata_MODULES): Add loopback.mod.
31175 (loopback_mod_SOURCES): New variable.
31176 (loopback_mod_CFLAGS): Likewise.
31177 * disk/loopback.c: new file.
31178 * include/grub/normal.h (grub_loop_init): New prototype.
31179 (grub_loop_fini): New prototype.
31180 * util/grub-emu.c (main): Initialize and de-initialize loopback
31181 support.
31182 * include/grub/disk.h (grub_disk_dev_id): Add
31183 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
31184
6f1c18bd 311852005-01-20 Hollis Blanchard <hollis@penguinppc.org>
31186
31187 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
31188 function.
31189 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
31190 (suspend_mod_SOURCES): New variable.
31191 (suspend_mod_CFLAGS): Likewise.
31192 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
31193 New prototype.
31194 * commands/ieee1275/suspend.c: New file.
31195
b38551da 311962005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31197
31198 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 31199 ((unused))' to `__attribute__ ((used))'.
b38551da 31200 (GRUB_MOD_FINI): Likewise.
31201 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
31202 * genmk.rb (PModule): Assign space to common symbols when linking
31203 modules.
31204
777aff39 312052005-01-20 Marco Gerards <metgerards@student.han.nl>
31206
31207 * include/grub/mm.h (grub_mm_init_region): Change the type of the
31208 `unsigned' arguments to `grub_size_t'.
31209 (grub_malloc): Likewise.
31210 (grub_realloc): Likewise.
31211 (grub_memalign): Likewise.
31212 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
31213 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31214 * util/misc.c (grub_malloc): Likewise.
31215 (grub_realloc): Likewise.
31216 * kern/mm.c (get_header_from_pointer): Change the casts to
31217 `unsigned' into a cast to `grub_size_t'.
31218
31219 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
31220 point to `currnode' when `currnode' is changed.
31221
31222 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
31223 Schottelius <nico-linux@schottelius.org>.
31224
d0ff18e1 312252005-01-09 Hollis Blanchard <hollis@penguinppc.org>
31226
31227 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
31228 (note_path): Remove variable.
31229 (GRUB_IEEE1275_NOTE_NAME): New macro.
31230 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
31231 (grub_ieee1275_note_hdr): New structure.
31232 (grub_ieee1275_note_desc): Likewise.
31233 (grub_ieee1275_note): Likewise.
31234 (load_note): Remove `dir' argument. All callers updated. Remove
31235 `note_img' and `path'. Do not load a file from `note_path'.
31236 Initialize a struct grub_ieee1275_note and write that to `out'.
31237 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
31238
4ca7004c 312392005-01-05 Marco Gerards <metgerards@student.han.nl>
31240
31241 * util/misc.c (grub_util_read_image): Revert last change. It
31242 called `grub_util_read_at', which seeks from the beginning of the
31243 file.
31244
0b412211 312452005-01-04 Hollis Blanchard <hollis@penguinppc.org>
31246
31247 * TODO: Add note about endianness in grub-mkimage.
31248 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
31249 section.
31250 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
31251 (grub_mkimage_SOURCES): New target.
31252 * include/grub/kernel.h (grub_start_addr): Remove variable.
31253 (grub_end_addr): Likewise.
31254 (grub_total_module_size): Likewise.
31255 (grub_kernel_image_size): Likewise.
31256 (GRUB_MODULE_MAGIC): New constant.
31257 (grub_module_info): New structure.
31258 (grub_arch_modules_addr): New prototype.
31259 (grub_get_end_addr): Remove prototype.
31260 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
31261 * include/grub/powerpc/ieee1275/kernel.h: New file.
31262 * include/grub/util/misc.h (grub_util_get_fp_size): New
31263 prototype.
31264 (grub_util_read_at): Likewise.
31265 (grub_util_write_image_at): Likewise.
31266 * kern/main.c (grub_get_end_addr): Remove function.
31267 (grub_load_modules): Call grub_arch_modules_addr instead of using
31268 grub_end_addr. Look for a grub_module_info struct in memory. Use
31269 the grub_module_info fields instead of calling grub_get_end_addr
31270 as loop conditions. Move grub_add_unused_region code here.
31271 (grub_add_unused_region): Remove function.
31272 * kern/i386/pc/init.c: Include grub/cache.h.
31273 (grub_machine_init): Remove call to grub_get_end_addr. Remove
31274 one call to add_mem_region.
31275 (grub_arch_modules_addr): New function.
31276 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
31277 (grub_total_module_size): Likewise.
31278 Include grub/machine/kernel.h.
31279 (grub_arch_modules_addr): New function.
31280 * util/grub-emu.c (grub_end_addr): Remove variable.
31281 (grub_total_module_size): Likewise.
31282 (grub_arch_modules_addr): New function.
31283 * util/misc.c: Include unistd.h.
31284 (grub_util_get_fp_size): New function.
31285 (grub_util_read_at): Likewise.
31286 (grub_util_write_image_at): Likewise.
31287 (grub_util_read_image): Call grub_util_read_at.
31288 (grub_util_write_image): Call grub_util_write_image_at.
31289 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
31290 additional memory in kernel_img for a struct grub_module_info.
31291 Fill in that grub_module_info.
31292 * util/powerpc/ieee1275/grub-mkimage.c: New file.
31293
458786f8 312942005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31295
31296 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
31297 New function.
31298 * include/grub/powerpc/ieee1275/ieee1275.h
31299 (grub_ieee1275_milliseconds): New prototype.
31300 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
31301 Change to 1000.
31302 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
31303 grub_ieee1275_milliseconds.
31304
ac507d1b 313052005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31306
31307 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
31308 variable.
31309 (find_options): New function.
31310 (cmain): Call find_options.
31311 * include/grub/powerpc/ieee1275/ieee1275.h
31312 (grub_ieee1275_realmode): New extern variable.
31313 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
31314 grub_map if grub_ieee1275_realmode is false.
31315
6b8fd1c4 313162004-12-29 Marco Gerards <metgerards@student.han.nl>
31317
31318 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
31319 lines are inserted and make it work like readline. Reported by
31320 Vincent Pelletier <subdino2004@yahoo.fr>.
31321
8514a1e0 313222004-12-28 Marco Gerards <metgerards@student.han.nl>
31323
31324 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
31325
31326 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
31327 `kern/powerpc/cache.S'.
31328
924b6140 313292004-12-27 Marco Gerards <metgerards@student.han.nl>
31330
31331 * genmk.rb: Handle the `Program' class in the main loop. Written
31332 by Johan Rydberg <jrydberg@gnu.org>.
31333 (Program): New class.
31334 (programs): New variable.
31335 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
31336 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
31337 instead of "grub/kernel.h". Include <grub/machine/init.h>.
31338 (help_arch): Function removed.
31339 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
31340 `powerpc/libgcc.h' and `loader.h'.
31341 (pkgdata_PROGRAMS): New variable.
31342 (sbin_UTILITIES): Variable removed.
31343 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
31344 (grubof_SOURCES): Variable re-defined so it only includes the
31345 core functionality.
31346 (grubof_CFLAGS): Remove `-DGRUBOF'.
31347 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
31348 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
31349 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
31350 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
31351 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
31352 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
31353 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
31354 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
31355 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
31356 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
31357 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31358 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
31359 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
31360 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
31361 (pc_mod_CFLAGS): New variables.
31362 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
31363 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
31364 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
31365 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
31366 Moved from here...
31367 * include/grub/i386/pc/init.h (grub_os_area_addr)
31368 (rub_os_area_size): ... to here.
31369 * include/grub/powerpc/ieee1275/ieee1275.h
31370 (grub_ieee1275_entry_fn): Export symbol.
31371 * include/grub/powerpc/ieee1275/init.h: New file.
31372 * include/grub/powerpc/libgcc.h: Likewise.
31373 * include/grub/cache.h: Likewise.
31374 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
31375 <hollis@penguinppc.org>.
31376 * kern/dl.c: Include <grub/cache.h>.
31377 (grub_dl_flush_cache): New function.
31378 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
31379 for this module.
31380 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
31381 (grub_console_init): Removed prototypes.
31382 (grub_machine_init): Don't initialize the modules anymore.
31383 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
31384 static.
31385 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
31386 Macro undef removed.
31387 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
31388 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
31389 relocation `R_PPC_REL32'. Return an error when the relocation is
31390 unknown.
31391 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
31392 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
31393 * util/misc.c (grub_arch_sync_caches): Likewise.
31394
e4b47e0c 313952004-12-19 Marco Gerards <metgerards@student.han.nl>
31396
31397 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
31398 `symlist.c', add `grubof_symlist.c'.
31399 (symlist.c): Variable removed.
31400 (grubof_HEADERS): Variable added.
31401 (grubof_symlist.c): New target.
31402 (kernel_syms.lst): Use `grubof_HEADERS' instead of
31403 `kernel_img_HEADERS'.
31404 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
31405 * kern/powerpc/dl.c: New file.
31406 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
31407 Function removed.
31408 (grub_arch_dl_relocate_symbols): Likewise.
31409 (grub_register_exported_symbols): Likewise.
31410
4ceb3636 314112004-12-13 Marco Gerards <metgerards@student.han.nl>
31412
31413 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
31414 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
31415 to fail instead. Reported by Vincent Pelletier
31416 <subdino2004@yahoo.fr>.
31417
31418 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
31419 it is not allocated. Reported by Vincent Pelletier
31420 <subdino2004@yahoo.fr>.
31421
31422 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
31423 output so the output looks better.
f19dbdb7 31424
3f1578fe 314252004-12-04 Marco Gerards <metgerards@student.han.nl>
31426
31427 Modulize the partition map support and add support for the amiga
31428 partition map.
f19dbdb7 31429
3f1578fe 31430 * commands/ls.c: Include <grub/partition.h> instead of
31431 <grub/machine/partition.h>.
31432 * kern/disk.c: Likewise.
31433 * kern/rescue.c: Likewise.
31434 * loader/i386/pc/chainloader.c: Likewise.
31435 * normal/cmdline.c: Likewise.
31436 * kern/powerpc/ieee1275/init.c: Likewise.
31437 (grub_machine_init): Call `grub_pc_partition_map_init',
31438 `grub_amiga_partition_map_init' and
31439 `grub_apple_partition_map_init'.
31440 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
31441 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
31442 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
31443 `partition.h' and `pc_partition.h'.
31444 (grub_setup_SOURCES): Remove
31445 `disk/i386/pc/partition.c'. Add `kern/partition.c',
31446 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31447 (grub_emu_SOURCES): Likewise.
31448 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
31449 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
31450 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
31451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31452 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
31453 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31454 (grubof_SOURCES): Likewise.
31455 * disk/i386/pc/partition.c: File removed.
31456 * disk/powerpc/ieee1275/partition.c: Likewise.
31457 * include/grub/powerpc/ieee1275/partition.h: Likewise.
31458 * include/grub/i386/pc/partition.h: Likewise.
31459 * kern/partition.c: New file.
31460 * partmap/amiga.c: Likewise.
31461 * partmap/apple.c: Likewise.
31462 * partmap/pc.c: Likewise.
31463 * include/grub/partition.h: Likewise..
31464 * include/grub/pc_partition.h: Likewise.
31465 * util/grub-emu.c: Include <grub/partition.h> instead of
31466 <grub/machine/partition.h>.
31467 (main): Call `grub_pc_partition_map_init',
31468 `grub_amiga_partition_map_init' and
31469 `grub_apple_partition_map_init' and deinitialize afterwards.
31470 * util/i386/pc/biosdisk.c: Include `#include
31471 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31472 `<grub/machine/partition.h>'.
31473 * util/i386/pc/grub-setup.c: Likewise.
31474 * util/i386/pc/biosdisk.c: Likewise.
31475 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
31476 partition information in case of a PC partition.
31477 * util/i386/pc/grub-setup.c: Include `#include
31478 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31479 `<grub/machine/partition.h>'.
31480 (setup): Only access the PC specific partition information in case
31481 of a PC partition.
31482
0ef4ced9 314832004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31484
0ef4ced9 31485 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
31486 (grub_longjmp): Likewise.
31487 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
31488 20.
31489 * normal/powerpc/setjmp.S: New file.
31490 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31491 `normal/powerpc/setjmp.S'.
31492 (grubof_CFLAGS): Add `-DGRUBOF'.
31493 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
31494 [GRUB_UTIL && !GRUBOF].
f19dbdb7 31495
19950e29 314962004-11-16 Marco Gerards <metgerards@student.han.nl>
31497
31498 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
31499 property named `name'. Correctly handle the error returned by
31500 `grub_ieee1275_finddevice' if a device can not be opened.
31501
a2fea427 315022004-11-02 Hollis Blanchard <hollis@penguinppc.org>
31503
31504 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
31505 `actual' for negativity.
31506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31507 kern/fshelp.c.
31508
41ea0ea3 315092004-11-01 Marco Gerards <metgerards@student.han.nl>
31510
31511 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
31512 (PAGE_OFFSET): New macro.
31513 (CRTC_ADDR_PORT): Likewise.
31514 (CRTC_DATA_PORT): Likewise.
31515 (START_ADDR_HIGH_REGISTER): Likewise.
31516 (START_ADDR_LOW_REGISTER): Likewise.
31517 (GRAPHICS_ADDR_PORT): Likewise.
31518 (GRAPHICS_DATA_PORT): Likewise.
31519 (READ_MAP_REGISTER): Likewise.
31520 (INPUT_STATUS1_REGISTER): Likewise.
31521 (INPUT_STATUS1_VERTR_BIT): Likewise.
31522 (page): New variable.
31523 (wait_vretrace): New function.
31524 (set_read_map): Likewise.
31525 (set_start_address): Likewise.
31526 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
31527 the right page.
31528 (check_vga_mem): Take the page into account.
31529 (write_char): Likewise.
31530 (write_cursor): Likewise.
31531 (scroll_up): Likewise. Copy the page to the page that is not
31532 shown and switch between both pages.
31533 (grub_vga_putchar): Fix off by one error.
31534 (grub_vga_cls): Wait for the vertical retrace. Take the page into
31535 account.
31536
ad0bd20b 315372004-11-01 Marco Gerards <metgerards@student.han.nl>
31538
31539 Add support for iso9660 (including rockridge).
f19dbdb7 31540
ad0bd20b 31541 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31542 (iso9660_mod_SOURCES): New variable.
31543 (iso9660_mod_CFLAGS): Likewise.
31544 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31545 * include/grub/fs.h (grub_iso9660_init): New prototype.
31546 * util/grub-emu.c (main): Call `grub_iso9660_init'.
31547 * fs/iso9660.c: New file.
31548
31549 * include/grub/misc.h (grub_strncat): New prototype.
31550 * kern/misc.c (grub_strncat): New function.
f19dbdb7 31551
ad0bd20b 31552 * fs/hfs.c (grub_hfs_mount): Translate the error
31553 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
31554 * fs/jfs.c (grub_jfs_mount): Likewise.
31555 * fs/ufs.c (grub_ufs_mount): Likewise.
31556
a5477a59 315572004-10-28 Hollis Blanchard <hollis@penguinppc.org>
31558
31559 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
31560 which initialized BAT registers.
31561 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
31562 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31563 Move from here...
31564 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
31565 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31566 ... to here.
31567 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
31568 (grub_mapclaim): Likewise.
31569 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
31570 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
31571 hand.
31572
9304c1f8 315732004-10-19 Hollis Blanchard <hollis@penguinppc.org>
31574
31575 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
31576 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
31577 -ffreestanding and -msoft-float.
31578
86f4ae25 315792004-10-15 Hollis Blanchard <hollis@penguinppc.org>
31580
31581 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
31582 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
31583 set in grub_ieee1275_flags.
31584
38912228 315852004-10-14 Hollis Blanchard <hollis@penguinppc.org>
31586
31587 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
31588 prototype.
31589 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
31590 grub_console_init first.
31591 Change the memory range used for grub_ieee1275_claim and
31592 grub_mm_init_region.
31593 Print an error message if the claim fails.
31594 Include <grub/misc.h>.
31595
d1923dc8 315962004-10-13 Hollis Blanchard <hollis@penguinppc.org>
31597
31598 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
31599 Call grub_children_iterate for device nodes of type `scsi',
31600 `ide', or `ata'.
31601 (grub_ofdisk_open): Remove manual device alias resolution.
31602 Fix memory leak when device cannot be opened.
f19dbdb7 31603 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 31604 (grub_children_iterate): New prototype.
31605 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
31606 New function.
31607 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31608 Return -1 if args.size was -1.
31609
4512e4f3 316102004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31611
31612 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
31613 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
31614 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
31615 Open Firmware's memory for it; claim memory from _start to _end.
31616 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
31617 (_end): New extern.
31618 (_start): Zero BSS from __bss_start to _end.
31619 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31620 New extern.
31621 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
31622
4d61feb0 316232004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31624
ad0bd20b 31625 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
31626 -1 if args.base was -1.
4d61feb0 31627
026fa2f9 316282004-10-08 Hollis Blanchard <hollis@penguinppc.org>
31629
31630 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
31631 escape sequence instead of a literal ^L. Also call
31632 grub_ofconsole_gotoxy.
31633
9f2220ef 316342004-10-03 Hollis Blanchard <hollis@penguinppc.org>
31635
31636 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
31637 void * arguments to grub_addr_t. All callers updated. Also make
31638 the `result' argument optional.
31639 (grub_ieee1275_release): change void * arguments to grub_addr_t.
31640 All callers updated.
31641
8a572cd7 316422004-09-22 Hollis Blanchard <hollis@penguinppc.org>
31643
31644 * commands/ls.c (grub_ls_list_files): Use the string following the
31645 initial ')', if present, as the filesystem path.
31646 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
31647
31648 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
31649
18aa81f2 316502004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
31651
31652 Make the source code of the menu interface more readable.
f19dbdb7 31653
18aa81f2 31654 * normal/menu.c: Include grub/mm.h.
31655 (TERM_WIDTH): New macro.
31656 (TERM_HEIGHT): Likewise.
31657 (TERM_INFO_HEIGHT): Likewise.
31658 (TERM_MARGIN): Likewise.
31659 (TERM_SCROLL_WIDTH): Likewise.
31660 (TERM_TOP_BORDER_Y): Likewise.
31661 (TERM_LEFT_BORDER_X): Likewise.
31662 (TERM_BORDER_WIDTH): Likewise.
31663 (TERM_MESSAGE_HEIGHT): Likewise.
31664 (TERM_BORDER_HEIGHT): Likewise.
31665 (TERM_NUM_ENTRIES): Likewise.
31666 (TERM_FIRST_ENTRY_Y): Likewise.
31667 (TERM_ENTRY_WIDTH): Likewise.
31668 (TERM_CURSOR_X): Likewise.
31669 (draw_border): Use macros instead of magic numbers.
31670 (print_entry): Likewise.
31671 (print_entries): Likewise.
31672 (run_menu): Likewise. Also, handle the key 'e'.
31673 (run_menu_entry): Ignore empty command lines.
31674 (print_message): Added a new argument EDIT. If EDIT is true,
31675 print a different message.
31676 (init_page): Likewise.
31677 (edit_menu_entry): New function. Not implemented yet.
31678
b47efe30 316792004-09-17 Marco Gerards <metgerards@student.han.nl>
31680
31681 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
31682 can be loaded from normal mode.
f19dbdb7 31683
b47efe30 31684 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
31685 `multiboot.mod'.
31686 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
31687 (multiboot_mod_CFLAGS): New variables.
31688 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 31689 * loader/i386/pc/multiboot_normal.c: Likewise.
31690
b47efe30 31691 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
31692 attribute `unused'.
f19dbdb7 31693
b47efe30 31694 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
31695 `fdiro' to read the mode information from instead of `diro'.
31696
31697 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
31698 looking up a symlink.
31699
31700 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
31701 macro.
31702 * normal/command.c (grub_command_execute): Don't parse the
31703 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
31704 flags of the command.
31705
31706 * normal/menu.c (grub_menu_run): Fix typo.
31707
da75ac71 317082004-09-14 Hollis Blanchard <hollis@penguinppc.org>
31709
31710 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
31711
31712 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
31713 `y + 1' instead of `y - 1'.
31714
31715 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 31716
062b24c2 317172004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
31718
31719 From Hollis Blanchard <hollis@penguinppc.org>:
31720 * kern/misc.c (memmove): New alias for grub_memmove.
31721 (memcmp): New alias for grub_memcmp.
31722 (memset): New alias for grub_memset.
f19dbdb7 31723 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 31724 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 31725 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 31726 (grub_ieee1275_get_property): Likewise.
f19dbdb7 31727
8ddad845 317282004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
31729
31730 Added normal mode command `chainloader' as module chain.mod, which
31731 depends on normal.mod and _chain.mod.
f19dbdb7 31732
8ddad845 31733 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
31734 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
31735 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
31736 Deleted prototype.
31737 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
31738 but arguments parsing moved to ...
31739 (grub_chainloader_cmd): ... here. New function.
31740 * include/grub/i386/pc/chainloader.h: New file.
31741 * loader/i386/pc/chainloader_normal.c: Likewise.
31742
2c1f4ce3 317432004-09-11 Marco Gerards <metgerards@student.han.nl>
31744
31745 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
31746 (grub_mkimage_LDFLAGS): Likewise.
31747 (grub_emu_SOURCES): Likewise.
31748 (kernel_img_HEADERS): Added fshelp.h.
31749 * fs/ext2.c: Include <grub/fshelp.h>.
31750 (FILETYPE_REG): New macro.
31751 (FILETYPE_INO_REG): Likewise.
31752 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
31753 Changed all users.
31754 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
31755 all users.
31756 (grub_fshelp_node): New struct.
31757 (grub_ext2_data): Added member `diropen'. Changed member `inode'
31758 to a pointer.
31759 (grub_ext2_get_file_block): Removed function.
31760 (grub_ext2_read_block): New function.
31761 (grub_ext2_read_file): Replaced parameter `data' by `node'.
31762 This function was written.
31763 (grub_ext2_mount): Read the root inode. Create a diropen struct.
31764 (grub_ext2_find_file): Removed function.
31765 (grub_ext2_read_symlink): New function.
31766 (grub_ext2_iterate_dir): Likewise.
31767 (grub_ext2_open): Rewritten.
31768 (grub_ext2_dir): Rewritten.
31769 * include/grub/fshelp.h: New file.
31770 * fs/fshelp.c: Likewise.
31771
3c52136a 317722004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
31773
31774 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
31775 (print_message): Add a missing newline.
31776 (run_menu): Added timeout support.
31777 (run_menu_entry): New local function.
31778 (grub_menu_run): Added support for booting.
31779
31780 * kern/loader.c (grub_loader_is_loaded): New function.
31781
31782 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
31783 (grub_get_rtc): Exported.
31784
31785 * include/grub/i386/pc/time.h: Include grub/symbol.h.
31786 (grub_get_rtc): Exported.
31787
31788 * include/grub/normal.h (struct grub_command_list): Remove
31789 constant from the member `command'.
31790
31791 * include/grub/loader.h (grub_loader_is_loaded): Declared.
31792
31793 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
31794
31795 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
31796
aa033560 317972004-08-28 Marco Gerards <metgerards@student.han.nl>
31798
31799 Add support for the JFS filesystem.
31800
31801 * fs/jfs.c: New file.
31802 * include/grub/fs.h (grub_jfs_init): New prototype.
31803 (grub_jfs_fini): New prototype.
31804 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
31805 (grub_emu_SOURCES): Likewise.
31806 (pkgdata_MODULES): Add jfs.mod.
31807 (jfs_mod_SOURCES): New variable.
31808 (jfs_mod_CFLAGS): Likewise.
31809 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
31810 (grubof_SOURCES): Likewise.
31811 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
31812
31813 * fs/fat.c (grub_fat_find_dir): Convert the filename little
31814 endian to the host endian.
31815 (grub_fat_utf16_to_utf8): Move function from there...
31816 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 31817 the endianness of the source string anymore.
aa033560 31818 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
31819
94bc45af 318202004-08-24 Marco Gerards <metgerards@student.han.nl>
31821
31822 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
31823 (grub_boot_fini) [GRUB_UTIL]: Likewise.
31824 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
31825 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 31826
94bc45af 31827 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
31828 (grub_hfs_iterate_dir): Make the function static. Add prototypes
31829 for `node_found' and `it_dir'.
31830 (grub_hfs_dir): Add prototype for `dir_hook'.
31831
31832 * fs/minix.c (grub_minix_get_file_block): Add prototype for
31833 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
31834 and `indir32' to silence a gcc warning.
31835
31836 * include/grub/fs.h (grub_hfs_init): New prototype.
31837 (grub_hfs_fini): Likewise.
f19dbdb7 31838
31839
97543f08 318402004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31841
31842 Each disk device has its own id now. This is useful to make use
31843 of multiple disk devices.
f19dbdb7 31844
97543f08 31845 * include/grub/disk.h (grub_disk_dev_id): New enum.
31846 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
31847 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
31848
31849 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
31850 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31851
31852 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
31853 GRUB_DISK_DEVICE_OFDISK_ID as an id.
31854
31855 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
31856 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31857
31858 * include/grub/disk.h (struct grub_disk_dev): Added a new member
31859 "id" which is used by the cache manager.
31860
31861 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
31862 of just "GRUB".
31863
64372eb4 318642004-08-18 Marco Gerards <metgerards@student.han.nl>
31865
31866 * fs/hfs.c: New file.
31867 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
31868 (grub_emu_SOURCES): Likewise.
31869 (pkgdata_MODULES): Add hfs.mod.
31870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
31871 (grubof_SOURCES): Likewise.
31872 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
31873
31874 * include/grub/misc.h (grub_strncasecmp): Add prototype.
31875 * kern/misc.c (grub_strncasecmp): Add function.
31876
cc61b58f 318772004-08-14 Marco Gerards <metgerards@student.han.nl>
31878
31879 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
31880 with parentheses.
31881
31882 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
31883 (grub_ext2_dir): In case the directory entry type is unknown, read
31884 it from the inode.
31885
0ef123f6 318862004-08-02 Peter Bruin <pjbruin@dds.nl>
31887
31888 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
31889 grub_load_linux instead of grub_rescue_cmd_linux as second
31890 argument of grub_rescue_register_command.
31891
31892 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
31893
a447c5df 318942004-07-27 Marco Gerards <metgerards@student.han.nl>
31895
31896 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
31897 function.
31898 * commands/boot.c: Remove the check for `GRUB_UTIL'.
31899 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31900 `loader/powerpc/ieee1275/linux.c',
31901 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
31902 * include/grub/powerpc/ieee1275/ieee1275.h
31903 (grub_ieee1275_release): New prototype.
31904 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
31905 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
31906 normal, boot, linux and linux_normal.
31907 * loader/powerpc/ieee1275/linux.c: New file.
31908 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31909
5a9e3546 319102004-07-12 Marco Gerards <metgerards@student.han.nl>
31911
31912 * normal/arg.c (grub_arg_parse): Correct error handling after
31913 reallocating the argumentlist (check if `argl' is not null instead
31914 of checking if `args' is not null).
31915 * kern/mm.c (grub_realloc): Return the same pointer when using the
31916 same region, instead of returning the header address.
31917
e15199cb 319182004-07-11 Marco Gerards <metgerards@student.han.nl>
31919
31920 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
31921 one block instead of two when looking for the initial partition.
31922 (grub_partition_probe): Initialize the local variable `p' with 0.
31923 Use base 10 for the grub_strtoul call.
31924 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
31925 need for one local variable.
31926 (grub_strtoul): Don't add the new value to `num', instead of that
31927 just assign it.
31928
020616c2 319292004-07-11 Marco Gerards <metgerards@student.han.nl>
31930
31931 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
31932 (pxeboot_img_SOURCES): New variable.
31933 (pxeboot_img_ASFLAGS): Likewise.
31934 (pxeboot_img_LDFLAGS): Likewise.
31935 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
31936 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
31937 <lode_leroy@hotmail.com>.
31938
6c51eb64 319392004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31940
31941 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
31942 there was no input.
31943
cfb12aff 319442004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31945
31946 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
31947 the history buffer logic.
31948
6eabba74 319492004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31950
31951 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
31952 (FILETYPE_INO_SYMLINK): New macros.
31953 (grub_ext2_find_file): Check if the node is a directory using the
31954 inode stat information instead of using the filetype in the
31955 dirent. Exclude the first character of an absolute symlink.
31956 (grub_ext2_dir): Mask out the filetype part of the mode member of
31957 the inode.
31958
66e19ef8 319592004-05-24 Marco Gerards <metgerards@student.han.nl>
31960
31961 Add support for UFS version 1 and 2. Add support for the minix
31962 filesystem version 1 and 2, both the variants with 14 and 30 long
31963 filenames.
f19dbdb7 31964
66e19ef8 31965 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
31966 fs/minix.c.
31967 (grub_emu_SOURCES): Likewise.
31968 (pkgdata_MODULES): Add ufs.mod and minix.mod.
31969 (ufs_mod_SOURCES): New variable.
31970 (ufs_mod_CFLAGS): Likewise.
31971 (minix_mod_SOURCES): Likewise.
31972 (minix_mod_CFLAGS): Likewise.
31973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
31974 fs/minix.c.
31975 (grubof_SOURCES): Likewise.
31976 * fs/ufs.c: New file.
31977 * fs/minix.c: New file.
31978 * include/grub/fs.h (grub_ufs_init): New prototype.
31979 (grub_ufs_fini): Likewise.
31980 (grub_minix_init): Likewise.
31981 (grub_minix_fini): Likewise.
31982 * util/grub-emu.c (main): Initialize and deinitialize UFS and
31983 minix fs.
31984
cc2e748a 319852004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
31986
31987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
31988 commands/ls.c, commands/terminal.c, commands/boot.c,
31989 commands/cmp.c and commands/cat.c.
31990 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
31991
31992 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
31993 "env.h"
31994
4b13b216 319952004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31996
31997 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
31998 and grub_, respectively. Because the conversion is trivial and
31999 mechanical, I omit the details here. Please refer to the CVS
32000 if you need more information.
32001
6a142551 320022004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32003
32004 * include/pupa: Renamed to ...
32005 * include/grub: ... this.
32006 * util/i386/pc/pupa-mkimage.c: Renamed to ...
32007 * util/i386/pc/grub-mkimage.c: ... this.
32008 * util/i386/pc/pupa-setup.c: Renamed to ...
32009 * util/i386/pc/grub-setup.c: ... this.
32010 * util/pupa-emu.c: Renamed to ...
32011 * util/grub-emu.c: ... this.
32012
e56cdf21 320132004-03-29 Marco Gerards <metgerards@student.han.nl>
32014
32015 Add support for the newworld apple macintosh (PPC). This has been
32016 tested on the powerbook 2000 only. It only adds support for
32017 generic ieee1275 functions, console and disk support. This should
32018 be easy to port to other architectures with support for Open
32019 Firmware.
f19dbdb7 32020
e56cdf21 32021 * configure.ac: Accept the powerpc as host_cpu. In the case of
32022 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
32023 specific tests are only executed while building for the i386.
32024 Inverse test for crosscompile.
32025 * genmk.rb (Utility): Allow assembler files.
32026 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
32027 * conf/powerpc-ieee1275.rmk: New file.
32028 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
32029 * disk/powerpc/ieee1275/partition.c: Likewise.
32030 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
32031 * include/pupa/powerpc/ieee1275/console.h: Likewise.
32032 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
32033 * include/pupa/powerpc/ieee1275/time.h: Likewise.
32034 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
32035 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
32036 * include/pupa/powerpc/ieee1275/loader.h
32037 * include/pupa/powerpc/setjmp.h: Likewise.
32038 * include/pupa/powerpc/types.h: Likewise.
32039 * kern/powerpc/ieee1275/init.c: Likewise.
32040 * kern/powerpc/ieee1275/openfw.c: Likewise.
32041 * term/powerpc/ieee1275/ofconsole.c: Likewise.
32042
32043 These files were written by Johan Rydberg
32044 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 32045
e56cdf21 32046 * boot/powerpc/ieee1275/cmain.c: New file.
32047 * boot/powerpc/ieee1275/crt0.S: Likewise.
32048 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
32049 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
32050
8c8cc205 320512004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
32052
32053 * Makefile.in: Update copyright.
32054 * genmodsrc.sh: Likewise.
32055 * gensymlist.sh: Likewise.
32056 * term/i386/pc/vga.c: Indent correctly.
32057
32058 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
32059 bugreporting address.
32060 * util/i386/pc/pupa-setup.c (usage): Likewise,
32061 (main): Call pupa_ext2_init and pupa_ext2_fini.
32062
f19dbdb7 32063 * fs/fat.c (log2): Renamed to ...
8c8cc205 32064 (fat_log2): ... this.
32065 All callers changed.
32066 * kern/misc.c (memcpy): Alias to pupa_memmove.
32067 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
32068 lvalue cast.
32069 * util/console.c (pupa_ncurses_fini): Return 0.
32070
32071 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
32072 Move fail label here.
32073 [__GNU__]: Don't warn when using stat.
32074 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
32075 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
32076 long int. Use strtol instead of strtoul.
f19dbdb7 32077
db1771cf 320782004-03-14 Marco Gerards <metgerards@student.han.nl>
32079
32080 * commands/boot.c: New file.
32081 * commands/cat.c: Likewise.
32082 * commands/cmp.c: Likewise.
32083 * commands/ls.c: Likewise.
32084 * commands/terminal.c: Likewise.
32085 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
32086 (pupa_register_command): Changed interface to match the new
32087 argument parser.
32088 (pupa_command_execute): Changed (almost rewritten) so it uses
32089 pupa_split_command. Added support for setting variables using the
32090 syntax `foo=bar'.
32091 (rescue_command): Changed to work with the new argument parser.
32092 (terminal_command): Moved from here to commands/terminal.c.
32093 (set_command): New function.
32094 (unset_command): New function.
32095 (insmod_command): New function.
32096 (rmmod_command): New function.
32097 (lsmod_command): New function.
32098 (pupa_command_init): Don't initialize the command terminal
32099 anymore. Initialize the commands set, unset, insmod, rmmod and
32100 lsmod.
32101 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
32102 (kernel_img_HEADERS): Add arg.h and env.h.
32103 (pupa_mkimage_LDFLAGS): Add kern/env.c.
32104 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
32105 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
32106 normal/arg.c.
32107 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
32108 terminal.mod.
32109 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
32110 (boot_mod_SOURCES): New variable.
32111 (terminal_mod_SOURCES): Likewise.
32112 (ls_mod_SOURCES): Likewise.
32113 (cmp_mod_SOURCES): Likewise.
32114 (cat_mod_SOURCES): Likewise.
32115
32116 * normal/arg.c: New file.
32117 * kern/env.c: Likewise.
32118 * include/pupa/arg.h: Likewise.
32119 * include/pupa/env.h: Likewise.
32120 * font/manager.c (font_command): Changed to match argument parsing
32121 interface changes.
32122 (PUPA_MOD_INIT): Likewise.
32123 * hello/hello.c (pupa_cmd_hello): Likewise.
32124 (PUPA_MOD_INIT): Likewise.
32125 * include/pupa/disk.h: Include <pupa/device.h>.
32126 (pupa_print_partinfo): New prototype.
32127 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
32128 (pupa_dl_get_prefix): Likewise.
32129 * include/pupa/misc.h: Include <pupa/err.h>.
32130 (pupa_isgraph): New prototype.
32131 (pupa_isdigit): Likewise.
32132 (pupa_split_cmdline): Likewise.
32133 * include/pupa/normal.h: Include <pupa/arg.h>.
32134 (pupa_command): Changed the prototype of the member `func' to
32135 match the argument parsing interface. Added member `options'.
32136 (pupa_register_command): Updated to match function.
32137 (pupa_arg_parse): New prototype.
32138 (pupa_hello_init) [PUPA_UTIL]: New prototype.
32139 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
32140 (pupa_ls_init) [PUPA_UTIL]: Likewise.
32141 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
32142 (pupa_cat_init) [PUPA_UTIL]: Likewise.
32143 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
32144 (pupa_boot_init) [PUPA_UTIL]: Likewise.
32145 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
32146 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
32147 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
32148 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
32149 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
32150 * kern/disk.c: Include <pupa/file.h>.
32151 (pupa_print_partinfo): New function.
32152 * kern/dl.c: Include <pupa/env.h>.
32153 (pupa_dl_dir): Variable removed.
32154 (pupa_dl_load): Use the environment variable `prefix' instead of
32155 the variable pupa_dl_dir.
32156 (pupa_dl_set_prefix): Function removed.
32157 (pupa_dl_get_prefix): Likewise.
32158 * kern/i386/pc/init.c: Include <pupa/env.h>.
32159 (pupa_machine_init): Use the environment variable `prefix' instead of
32160 using pupa_dl_set_prefix to set the prefix.
32161 * kern/main.c: Include <pupa/env.h>.
32162 (pupa_set_root_dev): Use the environment variable `prefix' instead of
32163 using pupa_dl_get_prefix to get the prefix.
32164 * kern/misc.c: Include <pupa/env.h>.
32165 (pupa_isdigit): New function.
32166 (pupa_isgraph): Likewise.
32167 (pupa_ftoa): Likewise.
32168 (pupa_vsprintf): Added support for printing values of the type
32169 `double'. Make it possible to format variable output when using
32170 formatting like `%1.2%f'.
32171 (pupa_split_cmdline): New function.
32172 * kern/rescue.c: Include <pupa/env.h>.
32173 (next_word): Removed function.
32174 (pupa_rescue_cmd_prefix): Likewise.
32175 (pupa_rescue_cmd_set): New function.
32176 (pupa_rescue_cmd_unset): New function.
32177 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
32178 split the command line instead of splitting it here. Added
32179 support for setting variables using the syntax `foo=bar'. Don't
32180 initialize the prefix command anymore. Initialized the set and
32181 unset commands.
32182 * normal/cmdline.c: Include <pupa/env.h>.
32183 (pupa_tab_complete): Added prototypes for print_simple_completion,
32184 print_partition_completion, add_completion, iterate_commands,
32185 iterate_dev, iterate_part and iterate_dir. Moved code to print
32186 partition information from here to kern/disk.c.
fe6b695a 32187 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 32188 * normal/main.c: Include <pupa/env.h>.
32189 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
32190 instead of using pupa_dl_get_prefix to get the prefix.
32191 * term/i386/pc/vga.c: Include <pupa/arg.h>.
32192 (check_vga_mem): Cast pointers to `void *' to silence a gcc
32193 warning.
32194 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
32195 (pupa_vga_setcolor): Declare unused variables with `__attribute__
32196 ((unused))' to silence a gcc warning.
32197 (pupa_vga_setcolor): Likewise.
32198 (debug_command): Changed to match argument parsing
32199 interface changes.
32200 * util/pupa-emu.c: Include <pupa/env.h>.
32201 (options): Added 0's for unused fields to silence a gcc warning.
32202 (argp): Likewise.
32203 (main): Use the environment variable `prefix' instead of using
32204 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
32205 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
32206 and terminal.
32207
32208 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
32209 * util/misc.c: Include <malloc.h>.
32210 (pupa_malloc): Rewritten so errors are correctly reported.
32211 (pupa_realloc): Likewise.
32212 (pupa_memalign): Likewise.
32213 (pupa_mm_init_region): Declare unused variables with
32214 `__attribute__ ((unused))' to silence a gcc warning.
32215 * normal/i386/setjmp.S: Remove tab at the end of the file to
32216 silence a gcc warning.
32217 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
32218 variables with `__attribute__ ((unused))' to silence a gcc
32219 warning.
32220 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
32221 local variable i unsigned to silence a gcc warning.
32222
32223 * kern/term.c: Include <pupa/misc.h>.
32224 (pupa_more_lines): New variable.
32225 (pupa_more): Likewise.
32226 (pupa_putcode): When the pager is active pause at the end of every
32227 screen.
32228 (pupa_set_more): New function.
32229 * include/pupa/term.h (pupa_set_more): New prototype.
32230
32231
3b1139cb 322322004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
32233
32234 Now this project is GRUB 2 rather than PUPA. The location of
32235 the CVS repository was moved to GRUB's.
f19dbdb7 32236
3b1139cb 32237 * configure.ac: Use bug-grub as the reporting address.
32238 Use GRUB instead of PUPA.
32239 Change the version number to 1.90.
32240
8367695c 322412004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
32242
32243 * genkernsyms.sh: Updated copyright information.
32244 * genmk.rb: Likewise.
32245 * genmodsrc.sh: Likewise.
32246 * gensymlist.sh: Likewise.
32247 * boot/i386/pc/boot.S: Likewise.
32248 * boot/i386/pc/diskboot.S: Likewise.
32249 * disk/i386/pc/biosdisk.c: Likewise.
32250 * disk/i386/pc/partition.c: Likewise.
32251 * font/manager.c: Likewise.
32252 * fs/ext2.c: Likewise.
32253 * fs/fat.c: Likewise.
32254 * include/pupa/boot.h: Likewise.
32255 * include/pupa/device.h: Likewise.
32256 * include/pupa/disk.h: Likewise.
32257 * include/pupa/dl.h: Likewise.
32258 * include/pupa/elf.h: Likewise.
32259 * include/pupa/err.h: Likewise.
32260 * include/pupa/file.h: Likewise.
32261 * include/pupa/font.h: Likewise.
32262 * include/pupa/fs.h: Likewise.
32263 * include/pupa/kernel.h: Likewise.
32264 * include/pupa/loader.h: Likewise.
32265 * include/pupa/misc.h: Likewise.
32266 * include/pupa/mm.h: Likewise.
32267 * include/pupa/net.h: Likewise.
32268 * include/pupa/normal.h: Likewise.
32269 * include/pupa/rescue.h: Likewise.
32270 * include/pupa/setjmp.h: Likewise.
32271 * include/pupa/symbol.h: Likewise.
32272 * include/pupa/term.h: Likewise.
32273 * include/pupa/types.h: Likewise.
32274 * include/pupa/i386/setjmp.h: Likewise.
32275 * include/pupa/i386/types.h: Likewise.
32276 * include/pupa/i386/pc/biosdisk.h: Likewise.
32277 * include/pupa/i386/pc/boot.h: Likewise.
32278 * include/pupa/i386/pc/console.h: Likewise.
32279 * include/pupa/i386/pc/init.h: Likewise.
32280 * include/pupa/i386/pc/kernel.h: Likewise.
32281 * include/pupa/i386/pc/linux.h: Likewise.
32282 * include/pupa/i386/pc/loader.h: Likewise.
32283 * include/pupa/i386/pc/memory.h: Likewise.
32284 * include/pupa/i386/pc/multiboot.h: Likewise.
32285 * include/pupa/i386/pc/partition.h: Likewise.
32286 * include/pupa/i386/pc/time.h: Likewise.
32287 * include/pupa/i386/pc/vga.h: Likewise.
32288 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
32289 * include/pupa/util/getroot.h: Likewise.
32290 * include/pupa/util/misc.h: Likewise.
32291 * include/pupa/util/resolve.h: Likewise.
32292 * kern/device.c: Likewise.
32293 * kern/disk.c: Likewise.
32294 * kern/dl.c: Likewise.
32295 * kern/err.c: Likewise.
32296 * kern/file.c: Likewise.
32297 * kern/fs.c: Likewise.
32298 * kern/loader.c: Likewise.
32299 * kern/main.c: Likewise.
32300 * kern/misc.c: Likewise.
32301 * kern/mm.c: Likewise.
32302 * kern/rescue.c: Likewise.
32303 * kern/term.c: Likewise.
32304 * kern/i386/dl.c: Likewise.
32305 * kern/i386/pc/init.c: Likewise.
32306 * kern/i386/pc/lzo1x.S: Likewise.
32307 * kern/i386/pc/startup.S: Likewise.
32308 * loader/i386/pc/chainloader.c: Likewise.
32309 * loader/i386/pc/linux.c: Likewise.
32310 * loader/i386/pc/multiboot.c: Likewise.
32311 * normal/cmdline.c: Likewise.
32312 * normal/command.c: Likewise.
32313 * normal/main.c: Likewise.
32314 * normal/menu.c: Likewise.
32315 * normal/i386/setjmp.S: Likewise.
32316 * term/i386/pc/console.c: Likewise.
32317 * term/i386/pc/vga.c: Likewise.
32318 * util/console.c: Likewise.
32319 * util/genmoddep.c: Likewise.
32320 * util/misc.c: Likewise.
32321 * util/pupa-emu.c: Likewise.
32322 * util/resolve.c: Likewise.
32323 * util/unifont2pff.rb: Likewise.
32324 * util/i386/pc/biosdisk.c: Likewise.
32325 * util/i386/pc/getroot.c: Likewise.
32326 * util/i386/pc/pupa-mkimage.c: Likewise.
32327 * util/i386/pc/pupa-setup.c: Likewise.
32328
e6eced71 323292004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
32330
32331 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
32332 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
32333 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
32334 reading and reset it after reading.
32335 (pupa_ext2_close): Return PUPA_ERR_NONE.
32336
32337 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
32338 Correct value.
32339 (struct linux_kernel_header): Add kernel_version and
32340 initrd_addr_max.
32341 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
32342 pupa_file_read succeeds.
32343 (pupa_rescue_cmd_initrd): Implement.
32344
5aded270 323452003-12-03 Marco Gerards <metgerards@student.han.nl>
32346
32347 * fs/ext2.c (pupa_ext2_label): New function.
32348 (pupa_ext2_fs): Added label.
32349 * fs/fat.c (pupa_fat_label): New function.
32350 (pupa_fat_fs): Added label.
32351 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
32352
32353 * kern/misc.c (pupa_strndup): New function.
32354 * include/pupa/misc.h (pupa_strndup): New prototype.
32355
32356 * include/pupa/normal.h: Include <pupa/err.h>.
32357 (pupa_set_history): New prototype.
32358 (pupa_iterate_commands): New prototype.
32359 * normal/cmdline.c: Include <pupa/machine/partition.h>,
32360 <pupa/disk.h>, <pupa/file.h>.
32361 (hist_size): New variable.
32362 (hist_lines): Likewise.
32363 (hist_end): Likewise.
32364 (hist_used): Likewise.
32365 (pupa_set_history): New function.
32366 (pupa_history_get): Likewise.
32367 (pupa_history_add): Likewise.
32368 (pupa_history_replace): Likewise.
32369 (pupa_tab_complete): Likewise.
32370 (pupa_cmdline_run): Added tab completion and history buffer. Tab
32371 completion shows partitionnames while completing partitions, this
32372 feature was suggested by Jeff Bailey.
32373 * normal/command.c (pupa_iterate_commands): New function.
32374 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
32375 (pupa_normal_init): Initialize history buffer.
32376 (PUPA_MOD_INIT): Likewise.
32377 (pupa_normal_fini): Free the history buffer.
32378 (PUPA_MOD_FINI): Likewise.
32379
32380 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
32381 key.
32382
32383 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
32384 * configure.ac [i386]: Check for regparam bug.
32385 (NESTED_FUNC_ATTR) [! i386]: Defined.
32386
1f7315a3 323872003-11-17 Marco Gerards <metgerards@student.han.nl>
32388
32389 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
32390 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
32391 (pupa_emu_SOURCES): New variable.
32392 (pupa_emu_LDFLAGS): Likewise.
32393 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
32394 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
32395 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
32396 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32397 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
32398 (pupa_jmp_buf): New typedef.
32399 (pupa_setjmp) [PUPA_UTIL]: New macro.
32400 (pupa_longjmp) [PUPA_UTIL]: Likewise.
32401 * include/pupa/term.h (struct pupa_term): New member `refresh'.
32402 (pupa_refresh): New prototype.
32403 * include/pupa/util/getroot.h: New file.
32404 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
32405 it.
32406 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
32407 (pupa_rescue_cmd_cat): Likewise.
32408 (pupa_rescue_cmd_ls): Likewise.
32409 (pupa_rescue_cmd_testload): Likewise.
32410 (pupa_rescue_cmd_lsmod): Likewise.
32411 * normal/cmdline.c (pupa_cmdline_get): Likewise.
32412 * normal/menu.c (run_menu): Likewise.
32413 * kern/term.c (pupa_cls): Likewise.
32414 (pupa_refresh): New function.
32415 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
32416 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32417 * util/console.c: New file.
f19dbdb7 32418
1f7315a3 32419 * util/i386/pc/getroot.c: New file.
32420 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
32421 (pupa_putchar): New function.
32422 (pupa_refresh): Likewise.
32423 (xgetcwd): Function moved to ...
32424 (strip_extra_slashes): Likewise.
32425 (get_prefix): Likewise.
f19dbdb7 32426 * util/i386/pc/getroot.c: ... here.
1f7315a3 32427 (find_root_device): Function moved and renamed to...
32428 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
32429 Changed all callers.
32430 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
32431 and renamed to...
32432 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
32433 Changed all callers.
32434 * util/misc.c (pupa_memalign): New function.
32435 (pupa_mm_init_region): Likewise.
32436 (pupa_register_exported_symbols): Likewise.
32437 (pupa_putchar): Function removed.
32438 * util/pupa-emu.c: New file.
32439
9a5c1ade 324402003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
32441
32442 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
32443 (_multiboot_mod_SOURCES): New variable.
32444 (_multiboot_mod_CFLAGS): Likewise.
32445 * loader/i386/pc/multiboot.c: New file.
32446 * include/pupa/i386/pc/multiboot.h: Likewise.
32447 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
32448 (pupa_multiboot_real_boot): New function.
32449 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
32450 (pupa_multiboot_real_boot): New prototype.
32451 (pupa_rescue_cmd_multiboot): Likewise
32452 (pupa_rescue_cmd_module): Likewise.
32453
32454 * kern/loader.c (pupa_loader_set): Continue when
32455 pupa_loader_unload_func() fails.
32456 (pupa_loader_unset): New function.
32457 * include/pupa/loader.h (pupa_loader_unset): New prototype.
32458
32459 * kern/misc.c (pupa_stpcpy): New function.
32460 * include/pupa/misc.h (pupa_stpcpy): New prototype.
32461
8e72a9c0 324622003-11-12 Marco Gerards <metgerards@student.han.nl>
32463
32464 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
32465 for available extensions.
32466
32467 * include/pupa/i386/pc/time.h: New file.
32468 * kern/disk.c: Include <pupa/machine/time.h>.
32469 (PUPA_CACHE_TIMEOUT): New macro.
32470 (pupa_last_time): New variable.
32471 (pupa_disk_open): Flush the cache when there was a timeout.
32472 (pupa_disk_close): Reset the timer.
32473 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
32474 pupa_currticks.
32475 * util/misc.c: Include <sys/times.h>
32476 (pupa_get_rtc): New function.
32477
c4adbd32 324782003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32479
32480 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
32481 as blocks.
32482 (pupa_ext2_get_file_block): Use blocks member.
32483
32484 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
32485 first block. Return -1 instead of pupa_errno on error.
32486
bfd30f06 324872003-10-27 Marco Gerards <metgerards@student.han.nl>
32488
32489 * README: In the pupa-mkimage example use _chain instead of chain
32490 and ext2 instead of fat.
32491 * TODO: Replace ext2fs with jfs as an example. Add an item for
32492 adding journal playback for ext2fs.
32493 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
32494 (pkgdata_MODULES): Added ext2.mod.
32495 (ext2_mod_SOURCES): New variable.
32496 (ext2_mod_CFLAGS): Likewise.
32497 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
32498 * include/pupa/misc.h (pupa_strncpy): New prototype.
32499 (pupa_strcat): Likewise.
32500 (pupa_strncmp): Likewise.
32501 * kern/misc.c (pupa_strcat): Enable function.
32502 (pupa_strncpy): New function.
32503 (pupa_strncmp): Likewise.
32504 * fs/ext2.c: New file.
f19dbdb7 32505
bfd30f06 32506 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
32507 when the read failed before retrying.
32508 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
32509 (_FILE_OFFSET_BITS): Likewise.
32510 * configure.ac: Added AC_SYS_LARGEFILE.
32511
98d15063 325122003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32513
32514 * genmk.rb (PModule#rule): Make sure to get only symbol names
32515 from the output of nm.
59cad637 32516 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 32517
18d9c7cd 325182003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32519
32520 I forgot to check in these changes for a long time. This adds
32521 incomplete support for VGA console, and this is still very
32522 buggy. Also, a lot of consideration is required for I18N,
32523 UNICODE, and VGA font issues. Therefore, assume that this is
32524 such that "better than nothing".
f19dbdb7 32525
18d9c7cd 32526 * font/manager.c: New file.
32527 * include/pupa/font.h: Likewise.
32528 * include/pupa/i386/pc/vga.h: Likewise.
32529 * term/i386/pc/vga.c: Likewise.
32530 * util/unifont2pff.rb: Likewise.
32531
32532 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
32533 (pkgdata_MODULES): Added vga.mod and font.mod.
32534 (vga_mod_SOURCES): New variables.
32535 (vga_mod_CFLAGS): Likewise.
32536 (font_mod_SOURCES): Likewise.
32537 (font_mod_CFLAGS): Likewise.
32538
32539 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
32540
32541 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 32542 (struct pupa_term): Added init and fini.
18d9c7cd 32543 Changed the argument of putchar to pupa_uint32_t.
32544
32545 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
32546 (pupa_console_real_putchar): New prototype.
32547 (pupa_console_putchar): Removed.
32548 (pupa_console_checkkey): Exported.
32549 (pupa_console_getkey): Likewise.
32550
32551 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
32552 characters.
32553
32554 * kern/term.c (pupa_term_set_current): Rewritten.
32555 (pupa_putchar): Likewise.
32556 (pupa_putcode): New function.
32557
32558 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
32559 (pupa_console_real_putchar): ... this.
32560 (pupa_vga_set_mode): New function.
32561 (pupa_vga_get_font): Likewise.
32562
32563 * normal/command.c: Include pupa/term.h.
32564 (terminal_command): New function.
32565 (pupa_command_init): Register the command "terminal".
32566
32567 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
32568 (DISP_UP): Likewise.
32569 (DISP_RIGHT): Likewise.
32570 (DISP_DOWN): Likewise.
32571 (DISP_HLINE): Likewise.
32572 (DISP_VLINE): Likewise.
32573 (DISP_UL): Likewise.
32574 (DISP_UR): Likewise.
32575 (DISP_LL): Likewise.
32576 (DISP_LR): Likewise.
32577
32578 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 32579
977329f5 325802003-02-08 NIIBE Yutaka <gniibe@m17n.org>
32581
32582 * util/resolve.c (pupa_util_resolve_dependencies): BUG
32583 FIX. Reverse the path_list.
32584
32585 * include/pupa/normal.h: Export pupa_register_command and
32586 pupa_unregister_command.
32587
32588 * hello/hello.c (pupa_cmd_hello): New module.
32589 * conf/i386-pc.rmk: Added hello.mod.
32590
1f5ab428 325912003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
32592
32593 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 32594
1f5ab428 32595 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
32596 (compress_kernel): New variable.
32597 (generate_image): Heavily modified to support compressing a
32598 large part of the core image.
32599
32600 * util/misc.c (pupa_util_read_image): Fix a file descriptor
32601 leak.
32602 (pupa_util_load_image): New function.
32603
32604 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
32605 (pupa_compressed_size): New variable.
32606 (codestart): Enable Gate A20 here.
32607 Decompress the compressed part of the core image.
32608 Rearrange the code to put functions and variables which are
32609 required for initialization in the non-compressed part.
32610 Include lzo1x.S.
32611
32612 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
32613 here.
32614
32615 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
32616
f19dbdb7 32617 * include/pupa/i386/pc/kernel.h
1f5ab428 32618 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
32619 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
32620 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32621 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32622 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
32623
32624 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
32625
32626 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
32627 (Utility#rule): Likewise.
32628
32629 * configure.ac: Check if LZO is available.
32630
ce5bf700 326312003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
32632
32633 * include/pupa/normal.h: New file.
32634 * include/pupa/setjmp.h: Likewise.
32635 * include/pupa/i386/setjmp.h: Likewise.
32636 * normal/cmdline.c: Likewise.
32637 * normal/command.c: Likewise.
32638 * normal/main.c: Likewise.
32639 * normal/menu.c: Likewise.
32640 * normal/i386/setjmp.S: Likewise.
f19dbdb7 32641
ce5bf700 32642 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
32643 (pupa_rescue_cmd_initrd): Likewise.
32644
32645 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
32646 Likewise.
32647
32648 * kern/i386/pc/startup.S (translation_table): New variable.
32649 (translate_keycode): New function.
32650 (pupa_console_getkey): Call translate_keycode.
32651
32652 * kern/rescue.c (attempt_normal_mode): New function.
32653 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
32654 it failed, print a message.
32655
32656 * kern/mm.c (pupa_real_malloc): Print more information when a
32657 free magic is broken.
32658 (pupa_free): If the first free header is not free actually, set
32659 it to P.
32660
32661 * kern/main.c (pupa_load_normal_mode): Just load the module
32662 "normal".
32663 (pupa_main): Don't print the message
32664 "Entering into rescue mode..." here.
32665
32666 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
32667 Declared.
32668 (pupa_rescue_cmd_initrd): Likewise.
32669 (pupa_rescue_cmd_initrd): Likewise.
32670
32671 * include/pupa/symbol.h (FUNCTION): Specify the type.
32672 (VARIABLE): Likewise.
32673
32674 * include/pupa/err.h (pupa_err_t): Added
32675 PUPA_ERR_UNKNOWN_COMMAND.
32676
32677 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
32678 (pupa_dl_get_prefix): Likewise.
32679
32680 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
32681 Added _chain.mod and _linux.mod instead of chain.mod and
32682 linux.mod.
32683 (chain_mod_SOURCES): Renamed to ...
32684 (_chain_mod_SOURCES): ... this.
32685 (chain_mod_CFLAGS): Renamed to ...
32686 (_chain_mod_CFLAGS): ... this.
32687 (linux_mod_SOURCES): Renamed to ...
32688 (_linux_mod_SOURCES): ... this.
32689 (linux_mod_CFLAGS): Renamed to ...
32690 (_linux_mod_CFLAGS): ... this.
32691 (normal_mod_SOURCES): New variable.
32692 (normal_mod_CFLAGS): Likewise.
32693 (normal_mod_ASFLAGS): Likewise.
32694
326952003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
32696
32697 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
32698 possible.
32699
fe6b695a 32700 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 32701 recursively.
32702 (pupa_dl_unref): Unrefer depending modules recursively.
32703 Don't call pupa_dl_unload implicitly, because PUPA can crash if
32704 a module is unloaded before one depending on that module is
32705 unloaded.
32706 (pupa_dl_unload): Unload depending modules explicitly,
32707 if possible.
32708
c04da074 327092003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
32710
32711 * include/pupa/i386/pc/linux.h: New file.
32712 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 32713
c04da074 32714 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
32715 Removed.
32716 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
32717 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
32718 of PUPA_CHAINLOADER_BOOT_SECTOR.
32719
32720 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
32721 (pupa_linux_prot_size): New variable.
32722 (pupa_linux_tmp_addr): Likewise.
32723 (pupa_linux_real_addr): Likewise.
32724 (pupa_linux_boot_zimage): New function.
32725 (pupa_linux_boot_bzimage): Likewise.
32726
32727 * kern/i386/pc/init.c (struct mem_region): New structure.
32728 (MAX_REGIONS): New macro.
32729 (mem_regions): New variable.
32730 (num_regions): Likewise.
32731 (pupa_os_area_addr): Likewise.
32732 (pupa_os_area_size): Likewise.
32733 (pupa_lower_mem): Likewise.
32734 (pupa_upper_mem): Likewise.
32735 (add_mem_region): New function.
32736 (compact_mem_regions): Likewise.
32737 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
32738 the size of the conventional memory and that of so-called upper
32739 memory (before the first memory hole).
32740 Instead of adding each found region to free memory, use
32741 add_mem_region and add them after removing overlaps.
32742 Also, add only 1/4 of the upper memory to free memory. The rest
32743 is used for loading OS images. Maybe this is ad hoc, but this
32744 makes it much easier to relocate OS images when booting.
32745
32746 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
32747 (pupa_enter_rescue_mode): Don't register initrd and module.
32748
32749 * kern/mm.c: Include pupa/dl.h.
32750
32751 * kern/main.c: Include pupa/file.h and pupa/device.h.
32752
32753 * kern/loader.c (pupa_loader_load_module_func): Removed.
32754 (pupa_loader_load_module): Likewise.
32755
32756 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
32757 ``.o''.
32758
32759 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
32760 (pupa_linux_tmp_addr): Likewise.
32761 (pupa_linux_real_addr): Likewise.
32762 (pupa_linux_boot_zimage): Likewise.
32763 (pupa_linux_boot_bzimage): Likewise.
32764
32765 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
32766 (pupa_upper_mem): Likewise.
32767 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
32768 module is too dangerous.
32769
32770 * include/pupa/loader.h (pupa_os_area_addr): Declared.
32771 (pupa_os_area_size): Likewise.
32772 (pupa_loader_set): Remove the first argument. Loader doesn't
32773 manage modules or initrd any longer.
32774 (pupa_loader_load_module): Removed.
32775
32776 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
32777 (linux_mod_SOURCES): New variable.
32778 (linux_mod_CFLAGS): Likewise.
32779
a13f9237 327802003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
32781
32782 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
32783 the length of a blocklist correctly.
32784
32785 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
32786 Use ioctl only if the OS file is a block device.
32787 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
32788 not very useful for normal files.
32789
32790 * kern/main.c (pupa_set_root_dev): New function.
32791 (pupa_load_normal_mode): Likewise.
32792 (pupa_main): Call those above.
32793
32794 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
32795 pupa_uint16_t.
32796
32797 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
32798
a5ffe966 327992003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32800
32801 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
32802 (setup): Configure the installed partition information and the
32803 dl prefix.
32804
32805 * loader/i386/pc/chainloader.c (my_mod): New variable.
32806 (pupa_chainloader_unload): New function.
32807 (pupa_rescue_cmd_chainloader): Refer itself.
32808 (PUPA_MOD_INIT): Save its own module in MY_MOD.
32809
32810 * kern/i386/pc/startup.S (install_partition): Removed.
32811 (version_string): Likewise.
32812 (config_file): Likewise.
32813 (pupa_install_dos_part): New variable.
32814 (pupa_install_bsd_part): Likewise.
32815 (pupa_prefix): Likewise.
32816 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
32817
32818 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
32819 and pupa/misc.h.
32820 (make_install_device): New function.
32821 (pupa_machine_init): Set the dl prefix.
32822
32823 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
32824 (buf): Renamed to ...
32825 (linebuf): ... this.
32826 (pupa_rescue_cmd_prefix): New function.
32827 (pupa_rescue_cmd_insmod): Likewise.
32828 (pupa_rescue_cmd_rmmod): Likewise.
32829 (pupa_rescue_cmd_lsmod): Likewise.
32830 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
32831 rmmod and lsmod.
32832
32833 * kern/mm.c (pupa_memalign): If failed even after invalidating
32834 disk caches, unload unneeded modules and retry.
32835
32836 * kern/misc.c (pupa_memmove): New function.
32837 (pupa_memcpy): Removed.
32838 (pupa_strcpy): New function.
32839 (pupa_itoa): Made static.
32840
32841 * kern/dl.c (pupa_dl_iterate): New function.
32842 (pupa_dl_ref): Likewise.
32843 (pupa_dl_unref): Likewise.
32844 (pupa_dl_unload): Return if succeeded or not.
32845 (pupa_dl_unload_unneeded): New function.
32846 (pupa_dl_unload_all): Likewise.
32847 (pupa_dl_init): Renamed to ...
32848 (pupa_dl_set_prefix): ... this.
32849 (pupa_dl_get_prefix): New function.
32850
32851 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
32852 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
32853 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32854 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32855 (pupa_install_dos_part): Declared.
32856 (pupa_install_bsd_part): Likewise.
32857 (pupa_prefix): Likewise.
32858 (pupa_boot_drive): Likewise.
32859
32860 * include/pupa/types.h: Fix a typo.
32861
32862 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
32863 pupa_memmove.
32864 (pupa_memmove): Declared.
32865 (pupa_strcpy): Likewise.
32866
32867 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
32868 pupa_mod_init takes one argument, its own module.
32869 (pupa_dl_unload_unneeded): Declared.
32870 (pupa_dl_unload_all): Likewise.
32871 (pupa_dl_ref): Likewise.
32872 (pupa_dl_unref): Likewise.
32873 (pupa_dl_iterate): Likewise.
32874 (pupa_dl_init): Renamed to ...
32875 (pupa_dl_set_prefix): ... this.
32876 (pupa_dl_get_prefix): Declared.
32877
32878 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 32879 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 32880 unloaded.
32881 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
32882 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
32883
32884 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
32885 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
32886
012d7999 328872003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32888
32889 * util/i386/pc/pupa-setup.c (setup): Define the internal
32890 function find_first_partition_start at the top level, because GCC
32891 3.0.x cannot compile internal functions in deeper scopes
32892 correctly.
32893 (find_root_device): Use lstat instead of stat.
32894 Don't follow symbolic links.
32895 Fix the path-constructing code.
32896
32897 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
32898 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
32899 by a BLKGETSIZE ioctl first, because block devices don't fill
32900 the member st_mode of the structure stat on Linux.
32901 [__linux__] (linux_find_partition): Use a temporary buffer
32902 REAL_DEV for the working space. Copy it to DEV before returning.
32903 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
32904 buffer cache consistent.
32905 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
32906 strncmp. The previous value was merely wrong.
32907 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
32908
32909 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
32910 FAT size is 12. The previous value was merely wrong.
32911
32912 * kern/main.c (pupa_main): Don't split the starting message from
32913 newlines.
32914
32915 * kern/term.c (pupa_putchar): Put CR after LF instead of before
32916 LF, because BIOS goes crazy about character attributes in this
32917 case.
32918
1cc73a62 329192003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32920
32921 * include/i386/pc/util/biosdisk.h: New file.
32922 * util/i386/pc/biosdisk.c: Likewise.
32923 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 32924
1cc73a62 32925 * Makefile.in (INCLUDE_DISTFILES): Added
32926 include/pupa/i386/pc/util/biosdisk.h.
32927 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
32928 directory util/i386/pc.
32929 (install-local): Added a rule for sbin_UTILITIES.
32930 (uninstall): Likewise.
32931
32932 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
32933
32934 * util/misc.c (xrealloc): New function.
32935 (pupa_malloc): Likewise.
32936 (pupa_free): Likewise.
32937 (pupa_realloc): Likewise.
32938 (pupa_stop): Likewise.
32939 (pupa_putchar): Likewise.
32940
32941 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
32942
32943 * include/pupa/util/misc.h (xrealloc): Declared.
32944
32945 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
32946 macro.
32947 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
32948 (PUPA_BOOT_MACHINE_BPB_END): ... this.
32949
32950 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
32951 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32952
32953 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
32954 way should be implemented.
32955 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32956
32957 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
32958 the size of NAME for safety.
32959 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
32960 0x88.
32961
32962 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
32963 (pupa_setup_SOURCES): Likewise.
32964
32965 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
32966
08b70fe8 329672002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32968
32969 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
32970 bunch of pushl's from pusha, because this destroys the return
32971 value.
32972
62ddcc8f 329732002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32974
32975 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
32976 This means that any missing prototypes could be fatal. Also, you
32977 must take care when writing assembly code. See the comments at
32978 the beginning of startup.S, for more details.
f19dbdb7 32979
62ddcc8f 32980 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
32981 compilation mechanism.
32982 (pupa_chainloader_real_boot): Likewise.
32983 (pupa_biosdisk_rw_int13_extensions): Likewise.
32984 (pupa_biosdisk_rw_standard): Likewise.
32985 (pupa_biosdisk_check_int13_extensions): Likewise.
32986 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
32987 (pupa_biosdisk_get_diskinfo_standard): Likewise.
32988 (pupa_get_memsize): Likewise.
32989 (pupa_get_mmap_entry): Likewise.
32990 (pupa_console_putchar): Likewise.
32991 (pupa_console_setcursor): Likewise.
32992 (pupa_getrtsecs): Use pushl instead of push.
32993
32994 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
32995 memory instead of the stack for a mmap entry, because some
32996 BIOSes may ignore the maximum size and overflow.
32997
32998 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
32999
33000 * genmk.rb (PModule#rule): Compile automatically generated
33001 sources with module-specific CFLAGS as well as other sources.
33002
9962ed99 330032002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33004
33005 * configure.ac: Check ld.
33006 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
33007 respectively, before checking endianness and sizes.
33008
33009 * Makefile.in (LD): New variable.
f19dbdb7 33010
abdfc3c5 330112002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33012
33013 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
33014
6a161fa9 330152002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33016
33017 * Changelog: New file.
33018