]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
[grub2.git] / ChangeLog
CommitLineData
95b9257e
VS
12010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
4 install rather than creating a broken install.
5
26c53dc6
VS
62010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * util/grub-setup.c (argp): Remove misleading example of installing to
9 a partition.
10
4171b3c5
VS
112010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * util/grub-setup.c (setup): Clarify the error message.
14
18568d18
VS
152010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18
4f6a2e21
VS
192010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * grub-core/kern/emu/misc.c
22 (grub_make_system_path_relative_to_its_root)
23 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
24
252010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
26
27 * grub-core/kern/emu/misc.c
28 (grub_make_system_path_relative_to_its_root): Revert r2882.
29
e138c458
VS
302010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
33 useless field head. All users updated.
34 (free_subchunk): Correct handling of IN_REGION subchunk.
35
0cbcdf0e
CW
362010-10-22 Colin Watson <cjwatson@ubuntu.com>
37
38 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
39 (Supported kernels): Likewise.
40
b65ea155
GS
412010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
42
43 Make mktemp invocations portable.
44
45 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
46 exit if mktemp fails.
47 * tests/grub_script_blockarg.in: Likewise.
48 * tests/partmap_test.in: Likewise.
49 * tests/util/grub-shell-tester.in: Likewise.
50 * tests/util/grub-shell.in: Likewise.
51 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
52 * Makefile.am: Likewise, and chain shell commands with `&&'
53 instead of ';'.
54 * util/grub-mkrescue.in: Use the same explicit template as above, and
55 exit if mktemp fails.
56
05f43cdd
BC
572010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
58
59 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
60 Linux kernel, reported by Dennis Schridde.
61
800e6a9b
SJ
622010-10-17 Szymon Janc <szymon@janc.net.pl>
63
64 * grub-core/normal/auth.c (grub_auth_check_authentication):
65 Set-but-not-used variable removed.
66
d82df574
VS
672010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * docs/grub.texi (GNU/Linux): Document APM unavailability with
70 32-bit linux protocol.
71
7bced458
VS
722010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
75 cursor shape for sanity.
76
5b027690
VS
772010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * docs/grub.texi (Installation): Document buggy BIOS install.
80
ba5f65cf
VS
812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * docs/grub.texi (Installation): Indent.
84
fdf2ec9c
VS
852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * util/grub-setup.c (setup): New parameter allow_floppy.
88 (arguments): New member allow_floppy.
89 (argp_parser): Handle --allow-floppy.
90 (main): Pass allow_floppy.
91 * util/grub-install.in: New option --allow-floppy passed though to
92 grub-setup.
93
861dfd4c
VS
942010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * util/grub-install.in: Handle partitionless disks.
97
f77a8c24
VS
982010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * util/grub-setup.c (setup): Don't clean blocklists before readability
101 verfification.
102
27d9ee32
VS
1032010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * docs/grub.texi (Installation): Document embedding zone. Remove
106 obsolete grub-install example.
107
6bdda8f8
SJ
1082010-10-16 Szymon Janc <szymon@janc.net.pl>
109
110 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
111 Set-but-not-used variable ifdef'ed.
112 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
113 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
114 variable removed.
115 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
116 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
117 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
118 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
119 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
120 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
121 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
122 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
123 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
124 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
125 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
126 Likewise.
127
e19b016b
VS
1282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
131 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
132 enum value.
133
6c8d3002
VS
1342010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
137 synonym to _S5_. Needed for some DSDTs.
138
c32b51c9
VS
1392010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
140
141 Userspace ACPI parser debugging.
142
143 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
144 headers and add relevant defines. Don't include standard headers.
145 (main) [GRUB_DSDT_TEST]: New function.
146 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
147 Don't declare functions.
148
fbfbeb39
VS
1492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
150
151 Remove dead grub_efi_mm_fini.
152
153 * grub-core/kern/efi/mm.c (allocated_page): Removed.
154 (ALLOCATED_PAGES_SIZE): Likewise.
155 (MAX_ALLOCATED_PAGES): Likewise.
156 (allocated_pages): Likewise.
157 (grub_efi_allocate_pages): Don't record allocated pages.
158 (grub_efi_free_pages): Likewise.
159 (grub_efi_mm_init): Likewise.
160 (grub_efi_mm_fini): Removed.
161
65f7ed7c
VS
1622010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
165 (grub_efi_mm_init): Take into account the memory map size increase.
166
24977b44
VS
1672010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
170 (serial_hw_put): Wait based on real time rather than port reads. Don't
171 roken ports.
172 * include/grub/serial.h (grub_serial_port): New field broken.
173
1eb01cd2
RM
1742010-10-16 Robert Millan <rmh@gnu.org>
175
176 * grub-core/kern/emu/misc.c
177 (grub_make_system_path_relative_to_its_root): Fix premature return
178 when processing non-root ZFS filesystems.
5f8b440b 179 Reported by Sergio Talens-Oliag.
1eb01cd2 180
2d5fed60
RM
1812010-10-15 Robert Millan <rmh@gnu.org>
182
183 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
184 guarantee compressed ones are processed first.
185
d0f4c1ea
VS
1862010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
189 grub_efiemu_autocore.
190
d87c681f
VS
1912010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
194 rather than 0x1b.
195 (grub_console_getkey): Use correct jae opcode rather than ja.
196
219b3564
RM
1972010-10-12 Robert Millan <rmh@gnu.org>
198
199 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
200 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
201 variable. All references updated.
202
203 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
204
20c6bb7e
VS
2052010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
206
207 Correctly distinguish mdraid flavours.
208
209 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
210 (insert_array): New argument raid.
211 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
212 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
213 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
214
74baff84
VS
2152010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
218 handling of special keys.
219
3ef068df 2202010-10-02 Aleš Nesrsta <starous@volny.cz>
221
c7980ad9
VS
222 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
223 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 224
a9455194 2252010-10-02 Aleš Nesrsta <starous@volny.cz>
226
c7980ad9
VS
227 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
228 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
229 users updated.
a9455194 230 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 231 Use right endpoint when querying descriptor.
a9455194 232
441cfe65
VS
2332010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
234
235 Clear out 0x80 color bit on EFI.
236 Tested by: decoder
237 Reported by: decoder and meta tech.
238
239 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
240 (grub_console_setcolorstate): Clear out 0x80 bit.
241 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
242 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
243 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
244
bf26bcc4
VS
2452010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
248 Set to "auto".
249
6e3c515d
VS
2502010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
253 mo_file after freeing.
254
e6d983ba
VS
2552010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
258
74ccb5b5
VS
2592010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
262 flags.
263
17821956
VS
2642010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
267 usage.
268
ee74fa48
VS
2692010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
270
271 Put terminfo into core on ieee1275 and yeeloong (needed for console).
272
273 * gentpl.py: New groups terminfoinkernel and terminfomodule.
274 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
275 and terminfo.h when needed.
276 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
277 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
278 (terminfo): Enable only on terminfokernel.
279 (extcmd): Likewise.
280 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
281 * include/grub/lib/arg.h: Likewise.
282 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
283 incorrect usage of ->.
284
aa438e68
VS
2852010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
288 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
289
57994012
VS
2902010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
291
292 Fix coreboot compilation.
293
294 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
295 Take VBE info into account even if only text is supported.
296 (fill_vbe_info): Take into account the case when only VGA text
297 is supported.
298 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
299 on coreboot, multiboot and qemu.
300
2a406611
VS
3012010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
304 debug messages.
305 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
306
d33613fc
VS
3072010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
310 parameters.
311
44a1b432
VS
3122010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
315 if they were BSD-style.
316
edde54e6
VS
3172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * grub-core/boot/i386/pc/lnxboot.S: Replace
320 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
321 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
322
b65830fa
VS
3232010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
324
325 Write embedding zone using Reed-Solomon.
326
327 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
328 * grub-core/Makefile.am (rs_decoder.S): New target.
329 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
330 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
331 (multiboot): Move to RS part.
332 (post_reed_solomon): New label.
333 (grub_boot_drive): Move to non-RS part since it's modified in memory
334 on boot.
335 Include rs_decoder.S.
336 * grub-core/lib/reed_solomon.c: New file.
337 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
338 New definition.
339 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
340 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
341 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
342 * include/grub/partition.h (grub_partition_map): Change prototype of
343 embed to allow returning additional sectors.
344 * include/grub/reed_solomon.h: New file.
345 * util/grub-setup.c (setup): Handle Reed-Solomon.
346
0b4b227f
CW
3472010-09-28 Colin Watson <cjwatson@ubuntu.com>
348
349 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
350 i386 and x86-64 definedness tests.
351
f772623b
YB
3522010-09-27 Yves Blusseau <blusseau@zetam.org>
353
354 Fix generation of kernel_syms.lst
355
356 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
357 ASM_PREFIX
358
8e57a6ca
RM
3592010-09-26 Robert Millan <rmh@gnu.org>
360
361 Support degraded ZFS arrays in "grub-probe -t device" resolution.
362
363 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
364 the pool is an array of devices, iterate through it and return the
365 first device that passes a stat() test (instead of blindly returning
366 the first one).
367
f9130836
RM
3682010-09-26 Robert Millan <rmh@gnu.org>
369
370 Build fixes for GNU/kFreeBSD.
371
372 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
373 to programs that require ZFS conversion.
374 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
375 kernels that don't have FLOPPY_MAJOR.
376
96510faf
BC
3772010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
378
379 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
380
449333eb
BC
3812010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
382
383 Fix grub-emu build.
384
385 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
386 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
387 mdraid09 and mdraid1x.
388
e1fd1939
CW
3892010-09-24 Colin Watson <cjwatson@ubuntu.com>
390
391 Re-enable grub-extras.
392
393 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
394 avoid confusing Automake. Run autogen only twice, once for the top
395 level and once for grub-core. Add Makefile.util.def and
396 Makefile.core.def from extra modules to the appropriate autogen
397 invocations. If Makefile.common exists in an extra module, include
398 it in both Makefile.util.am and grub-core/Makefile.core.am;
399 similarly, include any Makefile.util.common file in Makefile.util.am
400 and any Makefile.core.common file in grub-core/Makefile.core.am.
401 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
402 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
403 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
404 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
405
406 * gentpl.py (gvar_add): Turn GVARS into a set.
407 (global_variable_initializers): Sort global variables on output.
408 (vars_init): New function.
409 (first_time): Likewise.
410 (library): Ensure that non-global variable initialisations are
411 emitted before the first time we emit code for a library block.
412 Append to variables rather than setting them. Only emit
413 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
414 each conditional path.
415 (program): installdir() emits an Autogen macro, so must be passed to
416 var_add rather than gvar_add.
417 (data): Likewise.
418 (script): Likewise.
419 (rules): New function, centralising handling for different target
420 types. Set up Guile association lists for first_time and vars_init,
421 and send most output to a diversion so that variable initialisations
422 can be emitted first.
423 (module_rules): Use new rules function.
424 (kernel_rules): Likewise.
425 (image_rules): Likewise.
426 (library_rules): Likewise.
427 (program_rules): Likewise.
428 (script_rules): Likewise.
429 (data_rules): Likewise.
430
431 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
432
433 * .bzrignore: Add contrib and grub-core/contrib. Remove
434 grub-core/Makefile.gcry.am.
435
1d12cf29
YB
4362010-09-24 Yves Blusseau <blusseau@zetam.org>
437
438 * grub-core/lib/LzFind.c: Add missing include.
439 * grub-core/lib/LzmaEnc.c: Likewise.
440 * grub-core/script/lexer.c: Likewise.
441 * grub-core/script/yylex.l: Likewise.
442 * util/grub-macho2img.c: Likewise.
443 * util/grub-menulst2cfg.c: Likewise.
444 * util/grub-mklayout.c: Likewise.
445 * util/grub-mkpasswd-pbkdf2.c
446 * util/grub-mkrelpath.c: Likewise.
447 * util/resolve.c: Likewise.
448
dd363028
BC
4492010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
450
451 * Makefile.util.def (example_unit_test): Add
452 grub-core/gnulib/libgnu.a.
453
f5a109e2
GS
4542010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
455
456 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
457
6d0fa83c
VS
4582010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
459
460 Support xz compression on yeeloong.
461
462 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
463 * configure.ac: Check for LZMA.
464 * grub-core/Makefile.core.def (xz_decompress): New target.
465 (none_decompress): Likewise.
466 * grub-core/boot/decompressor/minilib.c: New file.
467 * grub-core/boot/decompressor/none.c: Likewise.
468 * grub-core/boot/decompressor/xz.c: Likewise.
469 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
470 * grub-core/kern/mips/cache_flush.S: Likewise.
471 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
472 * grub-core/kern/mips/startup.S: Move first stage to ...
473 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
474 nomacro.
475 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
476 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
477 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
478 Allocate statically.
479 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
480 Allocate statically or use scratch. Don't check CRC32.
481 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
482 Allocate statically. Don't check CRC32.
483 * include/grub/decompressor.h: New file.
484 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
485 Removed.
486 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
487 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
488 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
489 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
490 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
491 * util/grub-mkimage.c (grub_compression_t): New type.
492 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
493 (image_target_desc): New field default_compression.
494 (image_targets): Adjust yeeloong targets.
495 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
496 (compress_kernel): New parameter comp.
497 (generate_image): Likewise. Handle new compression case.
498 (options): New option --compression
499 (help): Likewise.
500 (main): Handle new option.
501
1b655af6
GS
5022010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
503
504 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
505
8f03f0b5
CW
5062010-09-22 Colin Watson <cjwatson@ubuntu.com>
507
508 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
509 typo in __i386__ conditional.
510
7835dfd3
VS
5112010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
514 include.
515
e255597e
VS
5162010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
517
6d0fa83c 518 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
519
520 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
521 new tags as supported.
522 (acpiv2_size): New function.
523 (grub_multiboot_get_mbi_size): Take new tags into account.
524 (grub_multiboot_make_mbi): Add new tags.
525 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 526
6cc14051 5272010-09-21 Aleš Nesrsta <starous@volny.cz>
528
529 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
530 Added missing configuration of USB device.
531
df7769d8
CW
5322010-09-21 Colin Watson <cjwatson@ubuntu.com>
533
534 * grub-core/normal/menu_entry.c (run): Make sure we always return
535 a value.
536
b031012d
CW
5372010-09-21 Colin Watson <cjwatson@ubuntu.com>
538
539 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
540 NumberOfPages is UINT64 according to the UEFI specification, not
541 UINTN. Fix printf format.
542
174de8f3
CW
5432010-09-21 Colin Watson <cjwatson@ubuntu.com>
544
545 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
546 `err' to grub_usb_err_t.
547 Reported and tested by: KESHAV P.R.
548
d7dbe923
CW
5492010-09-21 Colin Watson <cjwatson@ubuntu.com>
550
551 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
552 tpart non-const, so that we can assign to it. (Since this is a
553 typedef, the constness refers to the pointer rather than what it
554 points to.)
555
8d5e2af3
CW
5562010-09-21 Colin Watson <cjwatson@ubuntu.com>
557
558 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
559 $(top_srcdir)/grub-core/gnulib as well as
560 $(top_builddir)/grub-core/gnulib.
561 Reported by: KESHAV P.R.
562
5c527783
CW
5632010-09-21 Colin Watson <cjwatson@ubuntu.com>
564
565 * util/grub-install.in: Fix the bootloader ID option to be
566 consistently --bootloader-id, not --bootloader_id.
567 Reported by: KESHAV P.R.
568
d309a16e
CW
5692010-09-21 Colin Watson <cjwatson@ubuntu.com>
570
571 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
572 check hash checksum." consistently translatable.
573
b830cd16
YB
5742010-09-21 Yves Blusseau <blusseau@zetam.org>
575
576 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
577 $(top_builddir).
578
c4fe27a8
CW
5792010-09-21 Colin Watson <cjwatson@ubuntu.com>
580
581 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
582 (GRUB_MOD_INIT): Register sha1sum command.
583 (GRUB_MOD_FINI): Unregister sha1sum command.
584
a4c1d277
YB
5852010-09-21 Yves Blusseau <blusseau@zetam.org>
586
587 Keep boot and grub directory names in sync with utils scripts
588
589 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
590 * config.h.in: Add previous macros.
591 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
592 * util/grub-install.in: Use $bootdir and $grubdir variables.
593
4eff79d2
CW
5942010-09-21 Colin Watson <cjwatson@ubuntu.com>
595
596 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
597 convert partition names to disk names if the new `convert' parameter
598 is set.
599 (grub_util_biosdisk_get_grub_dev): If opening the disk device
600 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
601 disk in its own right. This can happen with Xen disk images.
602
934d7e44
YB
6032010-09-21 Yves Blusseau <blusseau@zetam.org>
604
605 * util/grub-editenv.c: Update strings to avoid warnings when generating
606 grub.pot file.
607 * util/grub-setup.c: Likewise.
934d7e44 608
df3367cc
VS
6092010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * configure.ac: Change version to 1.99~beta0.
612
77a94e98
VS
6132010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
616 Add BADRAM.
617 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
618 Likewise.
619 * include/multiboot.h: Resynced with specification.
620 * include/multiboot2.h: Likewise.
621
269004c1
CW
6222010-09-21 Colin Watson <cjwatson@ubuntu.com>
623
624 Fix po directory handling.
625
626 * configure.ac: Create po/Makefile.in rather than po/Makefile.
627 * grub-core/gnulib/Makefile.am: Import gettext module.
628 * m4/gnulib-cache.m4: Likewise.
629 * m4/gnulib-comp.m4: Likewise.
630 * m4/gettext.m4: New file, from gnulib.
631 * m4/glibc2.m4: Likewise.
632 * m4/iconv.m4: Likewise.
633 * m4/intdiv0.m4: Likewise.
634 * m4/intl.m4: Likewise.
635 * m4/intldir.m4: Likewise.
636 * m4/intlmacosx.m4: Likewise.
637 * m4/intmax.m4: Likewise.
638 * m4/inttypes-pri.m4: Likewise.
639 * m4/lcmessage.m4: Likewise.
640 * m4/lib-ld.m4: Likewise.
641 * m4/lib-link.m4: Likewise.
642 * m4/lib-prefix.m4: Likewise.
643 * m4/lock.m4: Likewise.
644 * m4/nls.m4: Likewise.
645 * m4/po.m4: Likewise.
646 * m4/printf-posix.m4: Likewise.
647 * m4/progtest.m4: Likewise.
648 * m4/threadlib.m4: Likewise.
649 * m4/uintmax_t.m4: Likewise.
650 * m4/visibility.m4: Likewise.
651 * po/Makefile.am: Remove.
652 * po/Makefile.in.in: New file, from gettext.
653 ($(DOMAIN).pot-update): Support POTFILES-shell.
654 * po/Makevars: New file.
655 * po/POTFILES-shell: Rename to ...
656 * po/POTFILES-shell.in: ... this. Update.
657 * po/POTFILES: Rename to ...
658 * po/POTFILES.in: ... this. Update.
659 * po/Rules-quot: New file, from gettext.
660 * po/boldquot.sed: Likewise.
661 * po/en@boldquot.header: Likewise.
662 * po/en@quot.header: Likewise.
663 * po/insert-header.sin: Likewise.
664 * po/quot.sed: Likewise.
665 * po/remove-potcdate.sin: Likewise.
666
3e0fa5d0
VS
6672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
670
ade9bd66
VS
6712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * util/grub.d/20_linux_xen.in: Use submenus.
674
fc55cc4c
VS
6752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
676
677 Support submenus.
678
679 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
680 parameter submenu. All users updated.
681 * grub-core/normal/main.c (free_menu): Rename to ...
682 (grub_normal_free_menu): ... this. Made global.
683 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
684 if requested.
685 * grub-core/normal/menu_entry.c (screen): New field submenu.
686 (make_screen): Set submenu.
687 (run): Open new context if requested.
688 * include/grub/menu.h (grub_menu_entry): New field submenu.
689 * include/grub/normal.h (grub_normal_free_menu): New proto.
690
600cedf7
VS
6912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
692
693 Menu entries extractor.
694
695 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
696 variants.
697 (GRUB_MOD_INIT): Register new variants.
698 (GRUB_MOD_FINI): Unregister new variants.
699 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
700 into grub_cmd_legacy_source.
701 (grub_cmd_legacy_source): Implement extractor variants.
702 (GRUB_MOD_INIT): Register new variants.
703 (GRUB_MOD_FINI): Unregister new variants.
704 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
705 as an extractor.
706 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
707 search as an extractor.
708 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
709 test as an extractor.
710 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
711 as an extractor.
712 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
713 (grub_env_new_context): New function.
714 (grub_env_context_open): Likewise.
715 (grub_env_extractor_open): Likewise.
716 (grub_env_extractor_close): Likewise.
717 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
718 grub_extractor_level.
719 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
720 * include/grub/env.h (grub_env_extractor_open): New proto.
721 (grub_env_extractor_close): Likewise.
722 * include/grub/normal.h (grub_extractor_level): New external variable.
723
7bda3a87
VS
7242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
725
726 Make cutmem accept a region specification.
727 Suggested by: Samuel Thibault
728
729 * grub-core/mmap/mmap.c (parsemem): New function.
730 (grub_cmd_cutmem): Handle new arguments.
731
2ea57f88
VS
7322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
733
734 New command cutmem.
735
736 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
737 (GRUB_MOD_INIT): Register new command.
738 (GRUB_MOD_FINI): Unregister new command.
739
74342e31
VS
7402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
741
742 Support some annoying BSD and Minix subpartitions.
743
744 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
745 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
746 Properly handle concatenation.
747 * grub-core/kern/device.c (grub_device_iterate): Likewise.
748 * grub-core/normal/completion.c (iterate_partition): Likewise.
749 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
750 contain partition. All users updated.
751 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
752 struct.
753 (grub_openbsdlabel_partition_map): Likewise.
754 (bsdlabel_partition_map_iterate): Rename to ..
755 (iterate_real): ... this. New arguments sector, freebsd and pmap.
756 (bsdlabel_partition_map_iterate): New function.
757 (netopenbsdlabel_partition_map_iterate): Likewise.
758 (netbsdlabel_partition_map_iterate): Likewise.
759 (openbsdlabel_partition_map_iterate): Likewise.
760 (GRUB_MOD_INIT): Register new partmaps.
761 (GRUB_MOD_FINI): Unregister new partmaps.
762 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
763 (grub_partition_msdos_iterate): ... this. All users updated.
764 Don't support embedding other than in a minix partition.
765 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
766 proto.
767 * include/grub/partition.h (grub_partition): New field msdostype.
768 * util/grub-install.in: Handle openbsd and netbsd types being in
769 part_bsd module.
770
1e8d555b
VS
7712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
772
773 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
774
775 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
776 * grub-core/Makefile.core.def (mdraid): Renamed to ...
777 (mdraid09): ... this.
778 (mdraid1x): New module.
779 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
780 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
781
899d8af4
VS
7822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
785 vsprintf.
786
40901acd
CW
7872010-09-20 Colin Watson <cjwatson@ubuntu.com>
788
789 * grub-core/commands/efi/lsefimmap.c: Correct header.
790 * NEWS: Update.
791
dfe3b247
CW
7922010-09-20 Colin Watson <cjwatson@ubuntu.com>
793
794 * util/grub-editenv.c (argp_parser): Don't pass translated strings
795 as printf format strings; the translations might contain '%' which
796 could cause a crash.
797 (main): Likewise.
798 * util/grub-fstest.c (argp_parser): Likewise.
799 * util/grub-setup.c (argp_parser): Likewise.
800 (main): Likewise.
801
3286a4b4
VS
8022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
803
804 Use argp in grub-fstest.
805
806 * util/grub-fstest.c: Don't include getopt.h.
807 Include argp.h.
808 (root): New variable.
809 (args_count): Likewise.
810 (nparm): Likewise.
811 (num_disks): Likewise.
812 (images): Likewise.
813 (cmd): Likewise.
814 (debug_str): Likewise.
815 (args): Likewise.
816 (options): Transformed to argp.
817 (usage): Removed.
818 (main): Split argument parsing into ...
819 (argp_parser): ... this. Changed to argp format.
820 (argp): New variable.
821 (main): Use argp_parse.
822
3dccbe4b
TG
8232010-09-20 Tristan Gingold <gingold@free.fr>
8242010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/commands/efi/lsefimmap.c: New file.
828 * grub-core/Makefile.core.def (lsefimmap): New module.
829 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
830
38c259a7
VS
8312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
832
833 Pause the execution (10s max) if any errors are displayed so the user
834 has a chance to see them.
835
836 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
837 (grub_print_error): Increment grub_err_printed_errors.
838 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
839 execution if any errors were displayed.
840 (show_menu): Remove old code for pause.
841 * grub-core/normal/menu_entry.c (run): Likewise.
842 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
843 users updated.
844 (grub_normal_get_char_counter): Likewise.
845 * include/grub/err.h (grub_err_printed_errors): New external variable.
846 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
847
f218b09c
VS
8482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
849
850 Support multiboot VBE info.
851
852 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
853 Take VBE info into account.
854 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
855 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
856 Call fill_vbe_info when appropriate.
857 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
858 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
859 as supported.
860 (grub_multiboot_get_mbi_size): Take new tags into account.
861 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
862 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
863 Call fill_vbe_tag when appropriate.
864 (grub_multiboot_make_mbi): Properly align tags.
865 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
866 function.
867 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
868 proto.
869 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
870
a9cc5438
VS
8712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
872
873 Suport manual terminal geometry specification.
874
875 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
876 Save state in grub_ofconsole_terminfo_output.
877 (grub_ofconsole_term): Use grub_terminfo_getwh.
878 (grub_ofconsole_getwh): Removed.
879 * grub-core/term/serial.c (grub_serial_getwh): Removed.
880 (grub_serial_term): Use grub_terminfo_getwh.
881 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
882 (options): New struct.
883 (OPTION_*): New enum.
884 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
885 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
886 width and height.
887 (grub_terminfo_getwh): New proto.
888 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
889
1a8fed20
VS
8902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
891
892 Handle legacy "terminal" command.
893
894 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
895 and FLAG_TERMINAL.
896 (legacy_commands): Add terminal and title.
897 (grub_legacy_parse): Handle terminal. Simplify title handling.
898
41e9c57d
VS
8992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
902 parameters overflow.
903
61c874c5
CW
9042010-09-20 Colin Watson <cjwatson@ubuntu.com>
905
906 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
907 widthspec.h.
908
909 * docs/grub.texi (Shell-like scripting): Document `!'.
910 (Network): Simplify using new i386-pc-pxe format. Mention
911 grub-mknetdir.
912
913 * NEWS: Update.
914
943682b4
CW
9152010-09-20 Colin Watson <cjwatson@ubuntu.com>
916
917 * Makefile.am (SUBDIRS): Restore "."; it's important to force
918 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
919 when needed.
920
6d3d698d
CW
9212010-09-20 Colin Watson <cjwatson@ubuntu.com>
922
923 * grub-core/commands/efi/lsefisystab.c: Correct header.
924 * grub-core/commands/efi/lssal.c: Likewise.
925 * grub-core/commands/testload.c: Likewise.
926
c982589f
CW
9272010-09-20 Colin Watson <cjwatson@ubuntu.com>
928
929 * util/grub-mkrescue.in: Add explicit root argument to --set to
930 prevent the UUID being interpreted as an argument to --set (matches
931 previous change to prepare_grub_to_access_device).
932
a63c31b6
CW
9332010-09-20 Colin Watson <cjwatson@ubuntu.com>
934
935 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
936 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
937 the verbosity of later #ifs.
938 (find_partition_start): Define this function on FreeBSD too.
939 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
940 function.
941 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
942 on FreeBSD.
943
6439b8ee
YB
9442010-09-20 Yves Blusseau <blusseau@zetam.org>
945
946 * util/grub-editenv.c: Use argp instead of getopt.
947
c5930ec8
YB
9482010-09-20 Yves Blusseau <blusseau@zetam.org>
949
950 * util/grub-setup.c: Use argp instead of getopt.
951
15c69261
YB
9522010-09-20 Yves Blusseau <blusseau@zetam.org>
953
954 Use gnulib-tool to create gnulib source files.
955
956 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
957 grub-core/gnulib directories
958 * .bzignore: Add **/.deps and autogenerated gnulib files
959 * configure.ac: Assign auxiliary directory to build-aux, add invocation
960 of gnulib macros, add grub-core/gnulib/Makefile
961 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
962 include m4 directory to aclocal.
963 * Makefile.util.def: Remove direct compilation of gnulib source files
964 and use the new grub-core/gnulib/libgnu.a.
965 * build-aux/config.rpath: move config.rpath from top directory to
966 build-aux
967 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
968 in gnulib headers
969 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
970 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
971 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
972 header.
973 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
974 string.
975
e511c9f5
YB
9762010-09-20 Yves Blusseau <blusseau@zetam.org>
977
978 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
979 grub-core/genmod.sh and grub-core/gensyminfo.sh
980
c2dede05
BC
9812010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
982
983 Add a test for echo command options.
984
985 * tests/grub_cmd_echo.in: New test.
986 * Makefile.util.def: Rules for new test.
987
c55f5018
SJ
9882010-09-20 Szymon Janc <szymon@janc.net.pl>
989
990 Remove crc.mod and move crc command to hashsum.mod.
991 Remove lib/crc.c - users updated to use gcrypt implementation.
992
993 * grub-core/commands/crc.c: Removed.
994 * grub-core/Makefile.core.def (crc): Module removed.
995 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
996 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
997 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
998 * grub-core/lib/crc.c: Removed.
999 * include/grub/lib/crc.h: Removed.
1000 * Makefile.util.def (crc): Remove lib/crc.c
1001 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
1002 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
1003 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
1004 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
1005 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
1006 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
1007
e0337366
VS
10082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
1011
742f9232
VS
10122010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 Split config.h for util and core.
1015
1016 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
1017 (ADDR32): Likewise.
1018 (DATA32): Likewise.
1019 (BSS_START_SYMBOL): Likewise.
1020 (END_SYMBOL): Likewise.
1021 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
1022 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
1023 * config.h.in: New file.
1024 * configure.ac: Use config-util.h as config define file.
1025 Rename MACHINE into GRUB_MACHINE. All users updated.
1026 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
1027 updated.
1028 (NESTED_FUNC_ATTR): Likewise.
1029 Substitue new variables.
1030 (COND_HAVE_ASM_USCORE): New conditional.
1031 * grub-core/Makefile.am (ASM_PREFIX): New variable.
1032 (kernel_syms.lst): Use ASM_PREFIX.
1033 * grub-core/kern/emu/console.c: Include config-util.h.
1034 * grub-core/kern/emu/misc.c: Likewise.
1035 * grub-core/kern/emu/mm.c: Likewise.
1036 * include/grub/emu/misc.h: Likewise.
1037 * include/grub/libgcc.h: Likewise.
1038
39feb0e8
VS
10392010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
1042 constants usage.
1043 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
1044 Fix GRUB_TERM_KEY_* constants usage.
1045 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
1046
9af6dac3
VS
10472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
1050 print pointer.
1051 * grub-core/bus/usb/uhci.c: Remove empty define.
1052 (grub_uhci_check_transfer): Add missing cast.
1053 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
1054 print pointer.
1055 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
1056 PRIuGRUB_SIZE.
1057 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
1058
d6d94820
VS
10592010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/Makefile.core.def (legacycfg): Add
1062 lib/i386/pc/vesa_modes_table.c on emu.
1063
3572f2b6
BC
10642010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1065
1066 Reduce number of temporary files generated by build system.
1067
1068 * grub-core/gencmdlist.sh: Removed.
1069 * grub-core/genfslist.sh: Removed.
1070 * grub-core/genhandlerlist.sh: Removed.
1071 * grub-core/genmodsrc.sh: Removed.
1072 * grub-core/genpartmaplist.sh: Removed.
1073 * grub-core/genparttoollist.sh: Removed.
1074 * grub-core/gentermiinallist.sh: Removed.
1075 * grub-core/genvideolist.sh: Removed.
1076
1077 * grub-core/genmod.sh.in: New file.
1078 * grub-core/gensyminfo.sh.in: New file.
1079
1080 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
1081 * conf/Makefile.extra-dist: Update with new files.
1082 * gentpl.py: Remove rules related to unnecessary temporary files.
1083 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
1084 and und-* files.
1085 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
1086 genmod.sh scripts.
1087 * grub-core/bus/usb/uhci.c: Remove empty #define.
1088 * grub-core/genmoddep.awk: Updated with new syminfo format.
1089 * util/bash-completion.d/Makefile.am: Add config.log to
1090 CLEANFILES.
1091
c836b030
YB
10922010-09-19 Yves Blusseau <blusseau@zetam.org>
1093
1094 * Makefile.util.def: Add forgotten $(LIBINTL) library.
1095
2f4e8053
BC
10962010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1097
1098 * util/grub-mkconfig.in: Check the config script for syntax errors
1099 before saving.
1100
75831c34
CW
11012010-09-19 Colin Watson <cjwatson@ubuntu.com>
11022010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * Makefile.util.def (grub-install): Use util/grub-install.in on all
1105 platforms.
1106 * util/grub-install.in: Add EFI and IEEE1275 support.
1107 * util/i386/efi/grub-install.in: Removed.
1108 * util/ieee1275/grub-install.in: Likewise.
1109
eaf41b25
VS
11102010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
1113 (grub_cmd_cmosclean): Likewise.
1114 (GRUB_MOD_INIT): Register command cmosclean.
1115 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
1116 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
1117
1a9130dd
CPE
11182010-09-18 Carles Pina i Estany <carles@pina.cat>
11192010-09-18 Aleš Nesrsta <starous@volny.cz>
11202010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 Add keyboard layouts support.
1123
1124 * Makefile.util.def (grub-mklayout): New file.
1125 (grub-kbdcomp): New script.
1126 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
1127 Add keyboard_layouts.h.
1128 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
1129 commands/boot.c on yeeloong.
1130 (keylayouts): New module.
1131 * grub-core/bus/usb/ohci.c
1132 * grub-core/bus/usb/uhci.c
1133 * grub-core/bus/usb/usbhub.c (rescan): New variable.
1134 (grub_usb_add_hub): Poll interrupt pipe for device handling.
1135 (attach_root_port): Likewise.
1136 (poll_nonroot_hub): Likewise.
1137 (grub_usb_poll_devices): Likewise.
1138 (detach_device): Close transfer.
1139 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
1140 function.
1141 (grub_usb_bulk_setup_readwrite): Likewise.
1142 (grub_usb_bulk_finish_readwrite): Likewise.
1143 * grub-core/commands/keylayouts.c: New file.
1144 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
1145 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
1146 aliases.
1147 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
1148 support scancode 2.
1149 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
1150 * include/grub/keyboard_layouts.h: New file.
1151 * util/grub-mklayout.c: New file.
1152 * util/grub-kbdcomp.in: Likewise.
1153
a1d84a5e
VS
11542010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 Unify memory types.
1157
1158 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
1159 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
1160 types.
1161 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
1162 (grub_upper_mem): Likewise.
1163 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
1164 * include/grub/memory.h (grub_memory_type_t): New enum.
1165 All users updated.
1166
9696382e
VS
11672010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/Makefile.core.def (lsapm): New module.
1170 * grub-core/commands/i386/pc/lsapm.c: New file.
1171 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
1172 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
1173 Likewise.
1174 * include/grub/i386/pc/apm.h: New file.
1175 * include/multiboot.h (multiboot_apm_info): New struct.
1176
11772010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 GRUB-legacy configuration file support.
1180
1181 * Makefile.util.def (grub-menulst2cfg): New util.
1182 * docs/man/grub-menulst2cfg.h2m: New file.
1183 * grub-core/Makefile.core.def (legacycfg): New module.
1184 * grub-core/commands/legacycfg.c: New file.
1185 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
1186 (grub_normal_add_menu_entry): ... this.
1187 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
1188 (grub_normal_set_password): ...this.
1189 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
1190 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
1191 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
1192 * grub-core/lib/legacy_parse.c: New file.
1193 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
1194 * include/grub/i386/pc/vesa_modes_table.h: New file.
1195 * include/grub/legacy_parse.h: Likewise.
1196 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
1197 * util/grub-menulst2cfg.c: New file.
1198
bf8d1338
CW
11992010-09-17 Colin Watson <cjwatson@ubuntu.com>
1200
1201 * grub-core/kern/emu/hostdisk.c
1202 (convert_system_partition_to_system_disk): Initialise node.
1203
9c0bad2e
CW
12042010-09-17 Colin Watson <cjwatson@ubuntu.com>
1205
1206 * grub-core/kern/emu/hostdisk.c
1207 (convert_system_partition_to_system_disk): Fix devmapper memory pool
1208 leak.
1209 Reported and based on patch by: Modestas Vainius.
1210
a939d135
CW
12112010-09-17 Colin Watson <cjwatson@ubuntu.com>
1212
1213 Fix DM-RAID probing with recent versions of device-mapper udev
1214 rules.
1215
1216 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
1217 canonicalise device paths under /dev/mapper/.
1218 (convert_system_partition_to_system_disk): Compare the
1219 uncanonicalised path to /dev/mapper/ rather than the canonicalised
1220 path, since device nodes under /dev/mapper/ are often symlinks.
1221
0f7ee3c9
YB
12222010-09-17 Yves Blusseau <blusseau@zetam.org>
1223
1224 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
1225
10854d0d
YB
12262010-09-16 Yves Blusseau <blusseau@zetam.org>
1227
1228 * configure.ac: Avoid some annoying error messages if freetype-config
1229 program is not found.
1230
108538d8
CW
12312010-09-16 Colin Watson <cjwatson@ubuntu.com>
1232
1233 Support RAID on virtio devices, and others.
1234
1235 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
1236 Rename to ...
1237 [__MINGW32__] (grub_find_device): ... this.
1238 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
1239 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
1240 reasonable default if dir is NULL.
1241 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
1242 ...
1243 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
1244 (grub_guess_root_device): Update callers.
1245 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
1246
1247 * util/raid.c (grub_util_getdiskname): Remove.
1248 (grub_util_raid_getmembers): Use grub_find_device rather than
1249 grub_util_getdiskname.
1250
e5bfc130
CW
12512010-09-16 Colin Watson <cjwatson@ubuntu.com>
1252
1253 * docs/grub.texi (serial): Remove obsolete comment about GRUB
1254 needing to be compiled with serial support.
1255 (ls): Indicate that multiple files are accepted.
1256 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
1257 indicate that multiple files are accepted.
1258
be458ae2
CW
12592010-09-16 Colin Watson <cjwatson@ubuntu.com>
1260
1261 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
1262 libgrub_a_init.c, and util/bash-completion.d/grub.
1263
cb731b5e
VS
12642010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * util/grub-setup.c (setup): Fix incorrect container semantics.
1267
35139e8a
VS
12682010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
1271 misusage.
1272 Reported by: J. Nick Terry
1273
e50fca4a
VS
12742010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 Move embedding routines to partmap sources files.
1277
1278 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
1279 [GRUB_UTIL]: New variable.
1280 (gpt_partition_map_iterate): Set part.parent.
1281 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
1282 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
1283 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
1284 New function.
1285 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
1286 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
1287 (grub_partition_map) [GRUB_UTIL]: New field embed.
1288 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
1289 (setup): Use ->embed.
1290
f00478b7
VS
12912010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
1294 function.
1295 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
1296 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
1297
2b94e3ff
YB
12982010-09-15 Yves Blusseau <blusseau@zetam.org>
1299
1300 Add function to get completions from usage.
1301
1302 * util/bash-completion.d/grub-completion.bash.in: Add function to get
1303 completions from usage. Use LC_ALL=C to get options properly.
1304
2e04a006
VS
13052010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/gnulib/basename-lgpl.c: Imported.
1308 * grub-core/gnulib/basename.c: Likewise.
1309 * grub-core/gnulib/dirname-lgpl.c: Likewise.
1310 * grub-core/gnulib/dirname.c: Likewise.
1311 * grub-core/gnulib/dirname.h: Likewise.
1312 * grub-core/gnulib/stripslash.c: Likewise.
1313
5dcdf93a
VS
13142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * grub-core/gnulib/error.c: Resynced.
1317 * grub-core/gnulib/getopt.c: Likewise.
1318 * grub-core/gnulib/getopt_int.h: Likewise.
1319 * grub-core/gnulib/regex.h: Likewise.
1320 * grub-core/gnulib/regex_internal.c: Likewise.
1321 * grub-core/gnulib/regex_internal.h: Likewise.
1322
014f47b7
SJ
13232010-09-15 Szymon Janc <szymon@janc.net.pl>
1324
1325 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
1326 CRC calculations and validity checks.
1327 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
1328 calculations.
1329
dd521a4a
SJ
13302010-09-15 Szymon Janc <szymon@janc.net.pl>
1331
1332 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
1333
79c4eeb9
VS
13342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 Fix incorrect echo options handling.
1337 Reported by: Yves Blusseau.
1338
1339 * include/grub/command.h (grub_command_flags_t): New flags
1340 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
1341 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
1342 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
1343
ed80f7d5
VS
13442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
1347 users updated.
1348 (GRUB_COMMAND_FLAG_MENU): Likewise.
1349 (GRUB_COMMAND_FLAG_BOTH): Likewise.
1350 (GRUB_COMMAND_FLAG_TITLE): Removed.
1351 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
1352 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
1353 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
1354 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
1355 (grub_command_flags_t): New enum. All users updated.
1356
5fe7620a
SG
13572010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
1358
1359 Fix solaris compilation.
1360
1361 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
1362 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
1363 (grub-emu-list): Likewise.
1364
545b752f
VS
13652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 Remove deprecated root command.
1368
1369 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
1370 updated.
1371
6c1a338c
VS
13722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * util/i386/pc/grub-setup.c: Merge this ...
1375 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
1376 * util/grub-setup.c: ... into this.
1377 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
1378 New struct.
1379
13802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
1383 possible.
1384
d2ea4551
VS
13852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
1388 allocate p.
1389
3c3b5040
VS
13902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1393 explicit root argument to set to prevent UUID to be interpreted as
1394 argument to set.
1395
b71c3fae
VS
13962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
1399
275433e6
VS
14002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 Don't export grub_gate_a20.
1403
1404 * grub-core/kern/i386/pc/init.c: Remove leftovers.
1405 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
1406 to ...
1407 (grub_gate_a20): ... this. All users updated.
1408 * include/grub/i386/pc/init.h: Removed. All users updated.
1409
a5dbb1f1
VS
14102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 Create euro.pf2 which supports most European languages.
1413
1414 * Makefile.am (grubdata_DATA): Add euro.pf2.
1415 (euro.pf2): New target.
1416 (CLEANFILES): Add euro.pf2.
1417
62a747cb
VS
14182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * configure.ac: Disable emu-usb by default to prevent inadvertent
1421 device takeover.
1422
608e43b1
VS
14232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 Disable usbserial on grub-emu since our libusb code isn't good enough
1426 yet.
1427
1428 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
1429 (usbserial_pl2303): Likewise.
1430 (usbserial_ftdi): Likewise.
1431
94564f81
VS
14322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * include/grub/disk.h (grub_disk): Remove has_partitions.
1435 All users updated.
1436 * disk/loopback.c (grub_loopback): Remove has_partitions.
1437 All users updated.
1438 (options): Remove partitions. All users updated.
1439 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
1440 * util/i386/pc/grub-setup.c (setup): copy partition table only when
1441 actual partition table is found.
1442
3352800b
VS
14432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 Remove readability checks (too many false negatives).
1446
1447 * util/grub-install.in: Remove readability checks.
1448 * util/grub-mkconfig.in: Likewise.
1449 * util/grub.d/10_hurd.in: Likewise.
1450 * util/grub.d/10_kfreebsd.in: Likewise.
1451 * util/grub.d/10_linux.in: Likewise.
1452 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
1453 way.
1454
2419f17a
VS
14552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 Enable acpi shutdown on all ACPI platforms.
1458
1459 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
1460 on coreboo, multiboot and EFI.
1461 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
1462 (grub_acpi_halt): Likewise.
1463 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
1464 (grub_cmd_halt): Don't call grub_acpi_halt directly.
1465 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
1466 * grub-core/lib/i386/halt.c (grub_halt)
1467 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
1468
0575c7c3
VS
14692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
1472 context.
1473
54ac3cd1
VS
14742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/video/efi_gop.c: Fix over-80-chars line.
1477 * grub-core/video/efi_uga.c: Likewise.
1478
b2a30ac5
VS
14792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 Filter devaliases and never open same device twice.
1482
1483 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
1484 (last_ihandle): Likewise.
1485 (ofdisk_hash_ent): New member shortest.
1486 (ofdisk_hash_add): Add canonical path too.
1487 (scan): New function.
1488 (grub_ofdisk_iterate): Iterate over hashed entries.
1489 (compute_dev_path): Don't add :0.
1490 (grub_ofdisk_open): Don't really open the disk.
1491 (grub_ofdisk_close): Avoid closing unrelated disk.
1492 (grub_ofdisk_read): Implement reopen logic.
1493 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
1494 New function.
1495 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
1496 New proto.
1497
fb53b340
VS
14982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 Fix sparc64.
1501
1502 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
1503 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
1504 right address. Add sparc64_ieee1275_ldflags.
1505 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
1506 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
1507 to grub_host_to_target_addr
1508 (load_image): Likewise.
1509
f452b040
VS
15102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * grub-core/normal/completion.c (complete_file): Handle device
1513 containing slash.
1514 Fix based on patch by Doug Nazar.
1515
9b5b2541
VS
15162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 grub-mknetdir script.
1519
1520 * Makefile.util.def (grub-mknetdir): New module.
1521 * tests/util/grub-shell.in: Support boot=net
1522 * util/grub-mknetdir.in: New file.
1523
9d2be652
VS
15242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 videoinfo on non-vbe.
1527
1528 * grub-core/Makefile.core.def (vbeinfo): Removed.
1529 (vbetest): Removed.
1530 (videoinfo): New module.
1531 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
1532 * grub-core/commands/i386/pc/vbetest.c: Removed.
1533 * grub-core/commands/videoinfo.c: New file.
1534 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
1535 specification.
1536 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
1537 as vbetest.
1538 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
1539 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
1540 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
1541 mode_number. New parameter mode. All users updated.
1542 (grub_video_gop_iterate): New function.
1543 (grub_video_efi_gop): New member iterate.
1544 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
1545 (grub_vbe_set_video_mode): Remove setting useless fields.
1546 (vbe2videoinfo): New function.
1547 (grub_video_vbe_iterate): Likewise.
1548 (grub_video_vbe_setup): Use vbe2videoinfo.
1549 (grub_video_vbe_print_adapter_specific_info): New function.
1550 (grub_video_vbe_adapter): New fields iterate and
1551 print_adapter_specific_info.
1552 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
1553 All users updated.
1554 (grub_video_mode_info): New field mode_number.
1555 (grub_video_adapter): New fields iterate and
1556 print_adapter_specific_info.
1557
179503f5
TG
15582010-09-13 Tristan Gingold <gingold@free.fr>
15592010-09-13 Robert Millan <rmh.grub@aybabtu.com>
15602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/commands/efi/lsefisystab.c: New file.
1563 * grub-core/commands/efi/lssal.c: Likewise.
1564 * grub-core/Makefile.core.def (lsacpi): New module.
1565 (lsefisystab): Likewise.
1566 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
1567 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
1568 (grub_efi_sal_system_table): New struct.
1569 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
1570 (grub_efi_sal_system_table_memory_descriptor): Likewise.
1571 (grub_efi_sal_system_table_platform_features): Likewise.
1572 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
1573 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
1574 (grub_efi_sal_system_table_ap_wakeup): Likewise.
1575 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
1576
cf9827de
VS
15772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 Support explicit user claim that a device is BIOS-visible.
1580
1581 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
1582 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
1583 * grub-core/kern/emu/hostdisk.c
1584 (convert_system_partition_to_system_disk): Support mdX.
1585 (find_system_device): New parameter add. All users updated.
1586 (grub_util_biosdisk_is_present): New function.
1587 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
1588 proto.
1589
53f0eb1f
VS
15902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 Search hints support.
1593
1594 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
1595 All users updated.
1596
b23ffd70
YB
15972010-09-13 Yves Blusseau <blusseau@zetam.org>
1598
1599 Bash completion script for util commands
1600
1601 * Makefile.am: Add util/bash-completion.d directory
1602 * configure.ac: Likewise.
1603 * util/bash-completion.d/Makefile.am: New file.
1604 * util/bash-completion.d/grub-completion.bash.in: Likewise.
1605
d547dc28
VS
16062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
1609 (print_backlog): set backlog_ucs4 and backlog_glyphs.
1610 Reported by: Yves Blusseau.
1611
2fc8ccb9
VS
16122010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
1615 partition size and offset.
1616
d8a84076
VS
16172010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
1620
84fb3b3d
VS
16212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
1624
768ec2e2
VS
16252010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
1628 (grub_xvasprintf): Likewise.
1629
4870900f
VS
16302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
1633
faca6bec
VS
16342010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
1637 args ending with NULL.
1638
16392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
1640
1641 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
1642 pointer.
1643
3c70f225
SJ
16442010-09-11 Szymon Janc <szymon@janc.net.pl>
1645
1646 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
1647
4df7996d
VS
16482010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 Shutdown using ACPI.
1651
1652 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
1653 * grub-core/commands/acpihalt.c: New file.
1654 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
1655 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
1656 (grub_acpi_halt): New proto.
1657 (GRUB_ACPI_SLP_EN): New const.
1658 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
1659 (GRUB_ACPI_OPCODE_*): New enum.
1660 (GRUB_ACPI_EXTOPCODE_*): Likewise.
1661
126b4c32
TG
16622010-09-11 Tristan Gingold <gingold@free.fr>
16632010-09-11 Robert Millan <rmh.grub@aybabtu.com>
16642010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * commands/lsacpi.c: New file.
1667 * grub-core/Makefile.core.def (lsacpi): New module.
1668 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
1669 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
1670 (grub_acpi_madt_entry_header): New struct.
1671 (grub_acpi_madt): Likewise.
1672 (grub_acpi_madt_entry_interrupt_override): Likewise.
1673 (grub_acpi_madt_entry_sapic): Likewise.
1674 (grub_acpi_madt_entry_lsapic): Likewise.
1675 (grub_acpi_madt_entry_platform_int_source): Likewise.
1676 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
1677 (PRIuGRUB_UINT32_T): Likewise.
1678 (PRIxGRUB_UINT64_T): Likewise.
1679
1aa4fe88
VS
16802010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 Implement loading palette on ieee1275_fb.
1683
1684 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
1685 (have_setcolors): Likewise.
1686 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
1687 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
1688 (grub_video_ieee1275_set_palette): Implement.
1689
25761e13
VS
16902010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16912010-09-11 Colin Watson <cjwatson@ubuntu.com>
1692
1693 * util/grub-install.in (grub_partition): New variable.
1694 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
1695 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
1696 Fixes a bug reported by Yves Blusseau.
1697
050abaea
VS
16982010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 Fix emu on mipsel.
1701
1702 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
1703 =grub_cpu_flush_cache on all mips and not only yeeloong.
1704 * configure.ac (COND_mips): New conditional.
1705 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
1706 platforms.
1707 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
1708 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
1709 [GRUB_LINKER_HAVE_INIT]: New function.
1710 (grub_emu_post_init): Likewise.
1711 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
1712 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
1713 * include/grub/cache.h (_mips): Include mips/cache.h.
1714 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
1715 LVM and RAID prototypes.
1716 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
1717 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
1718 function.
1719
5ed7d816
CW
17202010-09-10 Colin Watson <cjwatson@ubuntu.com>
1721
1722 * util/grub-install.in: Don't try to verify core.img until after
1723 running grub-mkimage to create it.
1724
90367e04
RM
17252010-09-10 Robert Millan <rmh@gnu.org>
1726
1727 * util/grub.d/10_hurd.in: Add misc readability checks.
1728 * util/grub.d/10_kfreebsd.in: Likewise.
1729 * util/grub.d/10_linux.in: Likewise.
1730
c452fa66
CW
17312010-09-10 Colin Watson <cjwatson@ubuntu.com>
1732
1733 * util/grub-install.in: ${imgext} won't be defined here until the
1734 install branch is merged. For the meantime, only verify core.img on
1735 i386-pc and sparc64-ieee1275 platforms.
1736
c38fe9f4
RM
17372010-09-10 Robert Millan <rmh@gnu.org>
1738
1739 Solaris support in grub_find_zpool_from_dir(). Thanks
1740 Seth Goldberg for referring to getextmntent() facility.
1741
1742 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
1743 `sys/mkdev.h'.
1744 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
1745 `<sys/mnttab.h>'.
1746 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
1747 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
1748 method for finding zpool name.
1749
905f7773
CW
17502010-09-10 Colin Watson <cjwatson@ubuntu.com>
1751
1752 grub-fstest needs the host and hostfs modules while other utilities
1753 actively require those modules to be absent, so grub-fstest needs
1754 its own initialisation and finalisation code.
1755
1756 * Makefile.am (grub_fstest.pp): New target.
1757 (grub_fstest_init.lst): Likewise.
1758 (grub_fstest_init.c): Likewise.
1759 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
1760
fb90b546
RM
17612010-09-10 Robert Millan <rmh@gnu.org>
1762
1763 * configure.ac: Check for `struct statfs.f_fstypename' and
1764 `struct statfs.f_mntfromname'.
1765
1766 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
1767 kFreeBSD-specific code.
1768
66d4bea5
RM
17692010-09-10 Robert Millan <rmh@gnu.org>
1770
1771 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
1772 on ZFS. Now non-main filesystems are supported as / too.
1773
b6a690ee
CW
17742010-09-09 Colin Watson <cjwatson@ubuntu.com>
1775
1776 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
1777 and grub-core/disk/host.c to ...
1778 (grub-fstest): ... here. Having the host disk implementation
1779 present confuses grub-probe and other utility programs.
1780
1781 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
1782 when writing to a file, not when writing to stdout.
1783
8901b00c 17842010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
1785
1786 * tests/partmap_test.in: New test for partitions.
1787 * Makefile.util.def: Rules for new test.
1788
7bf45fdd
RM
17892010-09-09 Robert Millan <rmh@gnu.org>
1790
1791 * util/grub-probe.c (probe): Fix a pair of unhandled error
1792 conditions.
1793
4dfbc574
RM
17942010-09-09 Robert Millan <rmh@gnu.org>
1795
1796 Basic Btrfs support (detection and UUID).
1797
1798 * grub-core/fs/btrfs.c: New file.
1799 * Makefile.util.def (library): Register btrfs.c.
1800 * grub-core/Makefile.core.def: Likewise.
1801
6b8e78ae
RM
18022010-09-08 Robert Millan <rmh@gnu.org>
1803
1804 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
1805 with (optional) parameters to specify device and relative path.
1806 * util/grub-install.in: Use is_path_readable_by_grub() to
1807 verify readability of a few critical files.
1808 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
1809 verify readability of grub.cfg.new.
1810
27f21a8b
VS
18112010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 Split minix.mod into minix.mod and minix2.mod.
1814
1815 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
1816 * grub-core/Makefile.core.def (minix2): New module.
1817 * grub-core/fs/minix.c: Use definitions instead of runtime version
1818 checking.
1819 * grub-core/fs/minix2.c: New file.
1820
c0e53ea5
YB
18212010-09-08 Yves Blusseau <blusseau@zetam.org>
1822
1823 Add new --boot-directory option to replace --root-directory
1824
1825 * util/grub-install.in: Add new --boot-directory option
1826 * util/grub-reboot.in: Likewise.
1827 * util/grub-set-default.in: Likewise.
1828
b9fe6ea2
YB
18292010-09-08 Yves Blusseau <blusseau@zetam.org>
1830
1831 * util/grub-mkconfig.in: Use new variable.
1832
d87aedff
YB
18332010-09-08 Yves Blusseau <blusseau@zetam.org>
1834
1835 * configure.ac: Define some useful variables.
1836
e55e8495
VS
18372010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1840 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
1841 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
1842 Use terminfo and don't use cursor-on/cursor-off unless it's known
1843 to work.
1844 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
1845 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
1846
6fa6d675
CW
18472010-09-08 Colin Watson <cjwatson@ubuntu.com>
1848
1849 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
1850 starts with "(,", fill the drive containing the loaded image in
1851 between those two characters, but expect that a full partition
1852 specification including partition map names will follow.
1853
92f2aef0
RM
18542010-09-08 Robert Millan <rmh@gnu.org>
1855
1856 * configure.ac: Remove `--enable-grub-fstest' option.
1857 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
1858
1859 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
1860 `grub-fstest' instead of `grub-probe' for readability verification.
1861 * util/grub-probe.c (probe): Remove readability verification kludge.
1862
99fd620d
RM
18632010-09-08 Robert Millan <rmh@gnu.org>
1864
1865 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
1866 initializing `GRUB_FS'.
1867
058e30ac 18682010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
1869
1870 Not command (!) support to GRUB script.
1871
1872 * tests/grub_script_not.in: New test.
1873 * Makefile.util.def: Rules for new test.
1874
1875 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1876 ! command as a special case.
1877 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
1878
b61d05ed 18792010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1880
058e30ac 1881 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
1882 grub_free.
b61d05ed 1883
4d69c786 18842010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1885
1886 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
1887
aa3119c4 18882010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1889
1890 * docs/grub.texi (Shell-like scripting): Documentation for break,
1891 continue, shift and return commands.
1892
db0f7e3d
VS
18932010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 Rename CD-ROM to cd on BIOS.
1896
1897 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
1898 "cd".
1899 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
1900
88b87c93
VS
19012010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
1904 * util/grub-probe.c (main): Likewise.
1905 * util/i386/pc/grub-setup.c (main): Likewise.
1906 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1907 Reported and debugged by: alexxy
1908
294f324d
VS
19092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
1912 diagnostic info.
1913
d7ee3441
JS
19142010-09-05 Jo Shields <directhex@apebox.org>
1915
1916 * util/grub.d/30_os-prober.in: Add missing classes.
1917
d7e06c1f
VS
19182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * docs/grub.texi (Theme file format): Document new position format.
1921
fc157e53
VS
19222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
1925 a table. Use @code instead of @verbatim.
1926
506e9a1c
CB
19272010-09-05 Colin D Bennett <colin@gibibit.com>
1928
1929 Gfxmenu documentation.
1930
1931 * docs/grub.texi (Theme file format): New chapter.
1932
f0aff67c
SJ
19332010-09-05 Szymon Janc <szymon@janc.net.pl>
1934
1935 * grub-core/Makefile.core.def (xzio): New module.
1936 * grub-core/io/xzio.c: New file.
1937 * grub-core/lib/xzembed/xz.h: New file (from xembed).
1938 * grub-core/lib/xzembed/xz_config.h: Likewise.
1939 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
1940 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
1941 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
1942 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
1943 * grub-core/lib/xzembed/xz_private.h: Likewise.
1944 * grub-core/lib/xzembed/xz_stream.h: Likewise.
1945 * include/grub/file.h (grub_file_filter_id): New compression filter
1946 GRUB_FILE_FILTER_XZIO.
1947
82a85062
VS
19482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
1951 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
1952 size.
1953
3579415d
VS
19542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
1957 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
1958
5124ae6d
VS
19592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 Uncompressed checksum support.
1962
1963 * grub-core/commands/hashsum.c (options): Add option --uncompress.
1964 (check_list): New parameter uncompress.
1965 (grub_cmd_hashsum): Handle --uncompress.
1966
9aadb3d1
VS
19672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 Reintroduce testload.
1970
1971 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
1972 from here ...
1973 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
1974 (GRUB_MOD_INIT): New function.
1975 (GRUB_MOD_FINI): Likewise.
1976 * grub-core/Makefile.core.def (testload): New module.
1977
a17792c3
SJ
19782010-09-05 Szymon Janc <szymon@janc.net.pl>
1979
1980 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
1981 (uint8_t): New type.
1982 (uint16_t): Likewise.
1983 (uint32_t): Likewise.
1984 (uint64_t): Likewise.
1985
b81e40a3
SJ
19862010-09-05 Szymon Janc <szymon@janc.net.pl>
1987
1988 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
1989
fc2ef117
VS
19902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
1993 Made static.
1994 (grub_gzfile_open): Removed. All users updated.
1995 (GRUB_MOD_INIT): New function.
1996 (GRUB_MOD_FINI): Likewise.
1997 * grub-core/kern/file.c (grub_file_filters_all): New variable.
1998 (grub_file_filters_enabled): Likewise.
1999 (grub_file_open): Handle filters.
2000 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
2001 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
2002 * include/grub/file.h (grub_file_filter_id_t): New type.
2003 (grub_file_filter_t): Likewise.
2004 (grub_file_filters_all): New extern variable.
2005 (grub_file_filters_enabled): Likewise.
2006 (grub_file_filter_register): New inline function.
2007 (grub_file_filter_unregister): Likewise.
2008 (grub_file_filter_disable): Likewise.
2009 (grub_file_filter_disable_compression): Likewise.
2010 * include/grub/gzio.h: Removed.
2011
35ee15e0
BC
20122010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2013
2014 Filename expansion support for wildcards in GRUB script.
2015
2016 * tests/grub_script_expansion.in: New test.
2017 * Makefile.util.def: Rule for new test.
2018
2019 * grub-core/commands/wildcard.c: New file, implements filename
2020 expansion support for GRUB script.
2021 * grub-core/Makefile.core.def: Rule update for regexp.mod.
2022 * grub-core/script/argv.c: Cosmetic changes.
2023 * grub-core/script/execute.c (grub_script_arglist_to_argv):
2024 Refactored to perform wildcard expansion on arguments.
2025 * include/grub/script_sh.h (grub_script_wildcard_translator): New
2026 struct.
2027
2028 * tests/util/grub-shell.in: Fix quoting for read input.
2029
5f0c4aca
BC
20302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2031
2032 Support for updating environment variables with matched substrings
2033 of regexp.
2034
2035 * tests/grub_cmd_regexp.in: New test.
2036 * Makefile.util.def: Rule for new test.
2037
2038 * grub-core/commands/regexp.c: New option -s to update environment
2039 variables with regexp matches.
2040
3759a35f
SJ
20412010-09-04 Szymon Janc <szymon@janc.net.pl>
2042
2043 * include/grub/file.h (grub_file): New member not_easly_seekable.
2044 (grub_file_seekable): New inline function.
2045 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
2046 easily seekable.
2047 (grub_gzio_open): Set not_easly_seekable.
2048 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
2049 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
2050
ed8c6dec
BC
20512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2052
2053 Support for options to appear multiple times on cmdline.
2054
2055 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
2056 * grub-core/commands/extcmd.c: Support for repeatable option.
2057 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
2058 repeatable option support.
2059
2060 Refactor menuentry into a regular command.
2061
2062 * grub-core/commands/menuentry.c: New file, menuentry command
2063 implementation.
2064 * grub-core/Makefile.core.def: Rule update for normal.mod.
2065 * grub-core/normal/main.c: Moved menuentry creation to
2066 grub-core/commands/menuentry.c.
2067 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
2068 (grub_menu_execute_entry_real): Removed.
2069 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
2070 function.
2071 (grub_script_execute_menuentry): Removed.
2072 * grub-core/script/parser.y (menuentry): Removed.
2073 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
2074 * grub-core/script/yylex.l (menuentry): Removed.
2075 * include/grub/menu.h (grub_menu_init): New prototype.
2076 (grub_menu_fini): New prototype.
2077 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
2078 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
2079 (grub_script_execute_sourcecode): New prototype.
2080
dacd0cf0
BC
20812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2082
2083 "return" command for GRUB script functions.
2084
2085 * tests/grub_script_return.in: New test.
2086 * Makefile.util.def: Rules for new test.
2087
2088 * grub-core/script/execute.c (grub_script_return): New function.
2089 * grub-core/script/main.c: Register/unregister return commaond.
2090 * include/grub/script_sh.h (grub_script_return): New prototype.
2091
52e72f9d
BC
20922010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2093
2094 "setparams" command to update positional parameters.
2095
2096 * tests/grub_script_setparams.in: New test.
2097 * Makefile.util.def: Rules for new test.
2098
2099 * grub-core/script/argv.c (grub_script_argv_make): New function.
2100 * grub-core/script/execute.c (replace_scope): New function.
2101 (grub_script_setparams): New function.
2102 * grub-core/script/lexer.c: Remove unused variables.
2103 * grub-core/script/main.c: Register/unregister setparams command.
2104 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
2105 (grub_script_setparams): New prototype.
2106
25b60c91
BC
21072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2108
2109 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
2110 grub_free order.
2111
37e7bf68
BC
21122010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2113
2114 Support for passing block of commands as an argument to extcmds.
2115
2116 * Makefile.util.def: Rules for new test.
2117 * tests/grub_script_blockarg.in: New test.
2118 * grub-core/tests/test_blockarg.c: New file, block argument
2119 command used in the test.
2120
2121 * include/grub/extcmd.h (grub_extcmd_context): New struct.
2122 (grub_register_extcmd_prio): New function prototype.
2123 (grub_extcmd_dispatcher): New function prototype.
2124 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
2125 type.
2126 * include/grub/script_sh.h (struct grub_script): New members
2127 `children', `next_siblings' and `refcnt' for block arguments and
2128 reference counting.
2129 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
2130 (grub_script_arg): New member `script' for block argument.
2131 (grub_script_argv): New member `script' for block argument.
2132 (grub_parser_param): New member `scripts' for block argument.
2133 (grub_script_mem_free): New extern function prototype.
2134 (grub_script_ref): New function prototype.
2135 (grub_script_unref): New function prototype.
2136
2137 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
2138 extcmd form to support block arguments.
2139 * grub-core/script/argv.c: Block arguments support.
2140 * grub-core/script/execute.c: Likewise.
2141 * grub-core/script/lexer.c: Likewise.
2142 * grub-core/script/main.c: Likewise.
2143 * grub-core/script/script.c: Likewise.
2144 * grub-core/script/parser.y: Likewise. New `block' and `block0'
2145 non-terminals.
2146
2147 * grub-core/commands/acpi.c: Update extcmd implementations with
2148 grub_extcmd_context_t.
2149 * grub-core/commands/cat.c: Likewise.
2150 * grub-core/commands/echo.c: Likewise.
2151 * grub-core/commands/extcmd.c: Likewise.
2152 * grub-core/commands/hashsum.c: Likewise.
2153 * grub-core/commands/hdparm.c: Likewise.
2154 * grub-core/commands/help.c: Likewise.
2155 * grub-core/commands/hexdump.c: Likewise.
2156 * grub-core/commands/i386/cpuid.c: Likewise.
2157 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2158 * grub-core/commands/i386/pc/halt.c: Likewise.
2159 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2160 * grub-core/commands/iorw.c: Likewise.
2161 * grub-core/commands/keystatus.c: Likewise.
2162 * grub-core/commands/loadenv.c: Likewise.
2163 * grub-core/commands/ls.c: Likewise.
2164 * grub-core/commands/lspci.c: Likewise.
2165 * grub-core/commands/memrw.c: Likewise.
2166 * grub-core/commands/probe.c: Likewise.
2167 * grub-core/commands/search_wrap.c: Likewise.
2168 * grub-core/commands/setpci.c: Likewise.
2169 * grub-core/commands/sleep.c: Likewise.
2170 * grub-core/disk/loopback.c: Likewise.
2171 * grub-core/hello/hello.c: Likewise.
2172 * grub-core/loader/i386/bsd.c: Likewise.
2173 * grub-core/loader/xnu.c: Likewise.
2174 * grub-core/term/gfxterm.c: Likewise.
2175 * grub-core/term/serial.c: Likewise.
2176 * grub-core/tests/lib/functional_test.c: Likewise.
2177
888d1500
BC
21782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2179
2180 Multi-line quoted strings support.
2181
2182 * grub-core/script/lexer.c (append_newline): Removed.
2183 (grub_script_lexer_yywrap): Refactored.
2184 (grub_script_lexer_init): Refactored.
2185 * grub-core/script/yylex.l (yywrap): New function.
2186 (grub_lexer_resplit): New function.
2187 (grub_lexer_unput): New function.
2188 * include/grub/script_sh.h (grub_lexer_param): New members, unput
2189 and resplit.
2190 * tests/grub_script_echo1.in: Added few more testcases.
2191
dda060dd
VS
21922010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * grub-core/kern/misc.c: Don't add abort alias in utils.
2195 Reported by: echoline.
2196
6556eba9
BC
21972010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
2198
2199 Add missing files into "make dist" tarball for other platforms.
2200
2201 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
2202 * conf/Makefile.common (dist_noinst_DATA): New variable.
2203 * conf/Makefile.extra-dist: Added missing make dist files.
2204 * grub-core/Makefile.core.def: Likewise.
2205
c8e7bf5f
VS
22062010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 Compress grub_prefix.
2209
2210 * grub-core/boot/i386/pc/lnxboot.S: Use
2211 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
2212 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
2213 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
2214 GRUB_MACHINE_PREFIX_END. All users updated.
2215 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
2216 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
2217 + 0x40.
2218 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2219 * util/grub-mkimage.c (image_target_desc): Change data_end to
2220 prefix_end. All users updated.
2221
a7c00cdb
VS
22222010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
2225 value.
2226 (grub_openbsd_boot): Likewise.
2227 (grub_netbsd_boot): Likewise.
2228 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
2229 (grub_xnu_boot): Likewise.
2230
9f915872
VS
22312010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * configure.ac: Clean LIBS variable after tests.
2234
efa1bee7
CW
22352010-09-02 Colin Watson <cjwatson@ubuntu.com>
2236
2237 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
2238
61d720e5
VS
22392010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
2242 echo if libdevmapper will be used.
2243
ef8e0ec8
IT
22442010-09-02 Ian Turner <Ian.Turner@deshaw.com>
2245
2246 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
2247 constant for the same file.
2248
03e261d8
VS
22492010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
2252
c2a4eba6
CW
22532010-09-02 Colin Watson <cjwatson@ubuntu.com>
2254
2255 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
2256 grub-core/*.pp.
2257
9056cbf3
CW
22582010-09-02 Colin Watson <cjwatson@ubuntu.com>
2259
2260 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
2261 required by the boot protocol.
2262
2263 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
2264 ebp and edi members.
2265 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
2266 state.ebp and state.edi.
2267 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
2268 %ebp and %edi according to grub_relocator32_ebp and
2269 grub_relocator32_edi respectively.
2270 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
2271 and state.edi.
2272
529cc99a
VS
22732010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 Add i386-pc-pxe image target.
2276
2277 * util/grub-mkimage.c (image_target_desc): New enum value
2278 IMAGE_I386_PC_PXE.
2279 (image_targets): New target i386-pc-pxe.
2280 (generate_image): Handle i386-pc-pxe image.
2281
9a093920
VS
22822010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 Fix grub_pxe_scan.
2285
2286 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
2287 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
2288 All users updated.
2289 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
2290 (grub_pxe_pxenv): Correct type.
2291
f9cefc4e
CW
22922010-09-01 Colin Watson <cjwatson@ubuntu.com>
2293
2294 * NEWS: Document most of the important changes since 1.98.
2295
4066f57f
CW
22962010-09-01 Colin Watson <cjwatson@ubuntu.com>
2297
2298 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
2299 generated manual page) a little.
2300
da2891f9
CW
23012010-09-01 Colin Watson <cjwatson@ubuntu.com>
2302
2303 * docs/grub.texi: Add myself as an author.
2304
ad717fae
VS
23052010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * Makefile.util.def (libgrub.a): Add missing sunpc.
2308 Reported by: Seth Goldberg.
2309
eefe8abd
VS
23102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 Interrupt wrapping and code simplifications.
2313
9494ef9a
VS
2314 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
2315 x86_noieee1275 which are functionaly equivalent in this case.
2316 (grub-install): Make source on each platform explicit. Enable on
2317 all noemu.
2318 * gentpl.py (x86_efi_pc): Removed group.
2319 (x86_noefi): Likewise.
2320 (i386_noefi): Likewise.
2321 (x86_noieee1275): Likewise.
2322 (i386_noieee1275): Likewise.
2323 (i386_noefi_noieee1275): Likewise.
2324 (i386_pc_qemu_coreboot): Likewise.
2325 (i386_coreboot_multiboot): Likewise.
2326 (i386_pc_coreboot_multiboot_qemu): Likewise.
2327 (x86_noefi_mips): Likewise.
2328 (noieee1275): Likewise.
2329 (ieee1275_mips): Likewise.
2330 (noemu_noieee1275): Likewise.
2331 (cmos): New group.
2332 (usb): Likewise.
2333 (videoinkernel): Likewise.
2334 (videomodules): Likewise.
eefe8abd 2335 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
2336 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
2337 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
2338 include/grub/loader.h, include/grub/msdos_partition.h,
2339 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
2340 include/grub/machine/console.h, include/grub/machine/vga.h,
2341 include/grub/machine/vbe.h, include/grub/machine/init.h,
2342 include/grub/machine/kernel.h, include/grub/cpu/time.h,
2343 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 2344 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
2345 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
2346 * grub-core/Makefile.core.def (kernel): Explicit the source for
2347 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
2348 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
2349 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
2350 Use videoinkernel tag.
2351 (usb): Enable on all usb.
2352 (usbserial_common): Likewise.
2353 (usbserial_pl2303): Likewise.
2354 (usbserial_ftdi): Likewise.
2355 (uhci): Enable on all x86.
2356 (ohci): Enable on all pci.
2357 (cmostest): Enable on all CMOS.
2358 (acpi): Include commands/acpi.c on all platforms.
2359 (halt): Add relevant lib/*/halt.c.
2360 (hdparm): Enable on all pci.
2361 (lspci): Likewise.
2362 (usbtest): Enable on all usb.
2363 (ata): Enable on all pci.
2364 (ata_pthru): Likewise.
2365 (usbms): Enable on all usb.
2366 (usb_keyboard): Likewise.
2367 (font): Use tag videomodules.
2368 (bufio): Likewise.
2369 (datetime): Use tag cmos. Enable on all noemu.
2370 (mmap): Use tags common and x86.
2371 (gfxterm): Use tag videomodules.
2372 (bitmap): Likewise.
2373 (bitmap_scale): Likewise.
2374 (video_fb): Likewise.
2375 (video): Likewise.
2376 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
2377 adjust padding accordingly. All users updated.
2378 (grub_ohci_transaction): Fix bad format specification.
2379 (GRUB_MOD_INIT): Add asserts for struct size.
2380 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
2381 (grub_alloc_td): Likewise.
2382 (grub_free_queue): Likewise.
2383 (grub_uhci_transfer): Likewise.
2384 (grub_uhci_transaction): Fix bad format specification.
2385 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2386 (grub_usb_bulk_readwrite): Likewise.
2387 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
2388 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
2389 Made static.
2390 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
2391 Made static.
2392 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
2393 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
2394 Transformed into C.
2395 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
2396 Moved from here ...
2397 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
2398 ... here. Transformed into C. Made static.
2399 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
2400 Moved from here ...
2401 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
2402 ... here. Transformed into C. Made static.
2403 * grub-core/kern/i386/pc/startup.S
2404 (grub_biosdisk_check_int13_extensions): Moved from here ...
2405 * grub-core/disk/i386/pc/biosdisk.c
2406 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
2407 Made static.
2408 * grub-core/kern/i386/pc/startup.S
2409 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
2410 * grub-core/disk/i386/pc/biosdisk.c
2411 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
2412 Transformed into C. Made static.
2413 * grub-core/kern/i386/pc/startup.S
2414 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
2415 * grub-core/disk/i386/pc/biosdisk.c
2416 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
2417 Transformed into C. Made static.
2418 * grub-core/kern/i386/pc/startup.S
2419 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
2420 * grub-core/disk/i386/pc/biosdisk.c
2421 (grub_biosdisk_get_diskinfo_standard): ... here.
2422 Transformed into C. Made static.
2423 * grub-core/kern/i386/pc/startup.S
2424 (grub_biosdisk_get_num_floppies): Moved from here ...
2425 * grub-core/disk/i386/pc/biosdisk.c
2426 (grub_biosdisk_get_num_floppies): ... here.
2427 Transformed into C. Made static.
2428 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
2429 New function.
2430 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
2431 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
2432 Transformed into C. Made static.
2433 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
2434 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
2435 Transformed into C. Made static.
2436 * grub-core/kern/i386/ieee1275/init.c: Removed.
2437 * grub-core/kern/i386/misc.S: Likewise.
2438 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
2439 Splitted from here ...
2440 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
2441 Transformed into C. Made static. All users updated.
2442 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
2443 Transformed into C. Made static. All users updated.
2444 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
2445 Moved from here...
2446 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
2447 Transformed into C. Made static. All users updated.
2448 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
2449 Moved from here...
2450 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
2451 Transformed into C. Made static. All users updated.
2452 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
2453 Removed (replaced by C version).
2454 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
2455 Moved from here...
2456 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
2457 Transformed into C. Made static.
2458 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
2459 Moved from here...
2460 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
2461 ... here. Transformed into C.
2462 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
2463 Moved from here...
2464 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
2465 ... here. Transformed into C.
2466 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
2467 Moved from here...
2468 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
2469 ... here. Transformed into C. Made static.
2470 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
2471 Moved from here...
2472 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
2473 ... here. Transformed into C.
21ed554b
VS
2474 * grub-core/kern/i386/pc/startup.S
2475 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
2476 * grub-core/video/i386/pc/vbe.c
2477 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
2478 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
2479 Moved from here...
2480 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
2481 ... here. Transformed into C.
2482 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
2483 Moved from here...
2484 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
2485 ... here. Transformed into C.
2486 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
2487 Moved from here...
2488 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
2489 ... here. Transformed into C.
2490 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
2491 Moved from here...
2492 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
2493 ... here. Transformed into C.
2494 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
2495 Moved from here...
2496 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
2497 ... here. Transformed into C. Made static.
2498 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
2499 Moved from here...
2500 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
2501 ... here. Transformed into C. Made static.
2502 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
2503 Moved from here...
2504 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
2505 ... here. Transformed into C. Made static.
2506 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
2507 pxe_rm_entry as third argument.
2508 (grub_bios_interrupt): New function.
2509 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
2510 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
2511 of calling grub_stop.
2512 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
2513 * grub-core/lib/efi/halt.c (grub_halt): ...here.
2514 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
2515 * grub-core/lib/emu/halt.c (grub_halt): ... here.
2516 * grub-core/lib/i386/halt.c: Moved from here ...
2517 * grub-core/lib/i386/halt.c: ... here.
2518 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
2519 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
2520 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
2521 grub_stop_floppy.
2522 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
2523 * include/grub/i386/coreboot/init.h: Removed.
2524 * include/grub/i386/multiboot/init.h: Likewise.
2525 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
2526 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
2527 * include/grub/i386/pc/int.h: New file.
2528 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
2529 (grub_pxe_scan): Removed.
2530 (grub_pxe_call): Update prototype.
2531 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
2532 prototypes.
2533 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
2534 * include/grub/i386/qemu/init.h: Removed.
2535 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
2536 noreturn.
2537 (grub_halt): Likewise.
2538 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
2539 (grub_reboot): Likewise.
2540 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
2541 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
2542 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
2543
215dd471
RM
25442010-08-30 Robert Millan <rmh@gnu.org>
2545
2546 * NEWS: Document addition of ZFS support in `grub-install' and
2547 `grub-mkconfig'.
2548
ebd65b82
BC
25492010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
2550
2551 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
2552 dprintf output.
2553
11721d19
VS
25542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 Remove leftover embedding of font objects.
2557
2558 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2559 * util/grub-install.in (font): Removed.
2560 * util/grub-mkimage.c (generate_image): Remove font support. All users
2561 updated.
2562
37837d4e
VS
25632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 Remove leftover embedding of font objects.
2566
2567 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2568 * util/grub-install.in (font): Removed.
2569 * util/grub-mkimage.c (generate_image): Remove font support. All users
2570 updated.
2571
b4c1aae0
VS
25722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 2575 Reported by: Ian Turner
b4c1aae0 2576
8920a08d
VS
25772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
2580 timeout to avoid indefinite boot stalling.
2581
f21db033
VS
25822010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
2585 (grub_env_write_color_highlight): Likewise.
2586
9a9de209
VS
25872010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/normal/term.c (print_more): Return to normal and not
2590 to standard state after printing "---MORE---".
2591
3dca01d7
VS
25922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
2595 Mask out the bit 0x80 since it has other meaning that specifiing color.
2596
0b986c40
VS
25972010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 New relocator. Allows for more kernel support and more straightforward
2600 loader writing.
2601
2602 * Makefile.am (BOOTTARGET): New variable.
2603 (QEMU32): Likewise.
2604 (linux.init.x86_64): New target.
2605 (linux.init.i386): Likewise.
2606 (multiboot.elf): Likewise.
2607 (kfreebsd.elf): Likewise.
2608 (kfreebsd.aout): Likewise.
2609 (pc-chainloader.elf): Likewise.
2610 (pc-chainloader.bin): Likewise.
2611 (ntldr.elf): Likewise.
2612 (ntldr.bin): Likewise.
2613 (multiboot2.elf): Likewise.
2614 (kfreebsd.init.x86_64): Likewise.
2615 (kfreebsd.init.i386): Likewise.
2616 (knetbsd.init.i386): Likewise.
2617 (kopenbsd.init.i386): Likewise.
2618 (knetbsd.init.x86_64): Likewise.
2619 (kopenbsd.init.x86_64): Likewise.
2620 (linux-initramfs.i386): Likewise.
2621 (linux-initramfs.x86_64): Likewise.
2622 (kfreebsd-mfsroot.i386.img): Likewise.
2623 (knetbsd.image.i386): Likewise.
2624 (kopenbsd.image.i386): Likewise.
2625 (kopenbsd.image.x86_64): Likewise.
2626 (knetbsd.miniroot-image.i386.img): Likewise.
2627 (kfreebsd-mfsroot.x86_64.img): Likewise.
2628 (knetbsd.image.x86_64): Likewise.
2629 (knetbsd.miniroot-image.x86_64.img): Likewise.
2630 (kfreebsd-mfsroot.i386.gz): Likewise.
2631 (bootcheck-kfreebsd-i386): Likewise.
2632 (kfreebsd-mfsroot.x86_64.gz): Likewise.
2633 (bootcheck-kfreebsd-x86_64): Likewise.
2634 (knetbsd.miniroot-image.i386.gz): Likewise.
2635 (bootcheck-knetbsd-i386): Likewise.
2636 (bootcheck-kopenbsd-i386): Likewise.
2637 (bootcheck-kopenbsd-x86_64): Likewise.
2638 (knetbsd.miniroot-image.x86_64.gz): Likewise.
2639 (bootcheck-knetbsd-x86_64): Likewise.
2640 (bootcheck-linux-i386): Likewise.
2641 (bootcheck-linux-x86_64): Likewise.
2642 (bootcheck-linux16-i386): Likewise.
2643 (bootcheck-linux16-x86_64): Likewise.
2644 (bootcheck-multiboot): Likewise.
2645 (bootcheck-multiboot2): Likewise.
2646 (bootcheck-kfreebsd-aout): Likewise.
2647 (bootcheck-pc-chainloader): Likewise.
2648 (bootcheck-ntldr): Likewise.
2649 (CLEANFILES): Add new targets.
2650 (BOOTCHECKS): New variable.
2651 (.PHONY): Add bootchecks.
2652 (SUCCESSFUL_BOOT_STRING): New variable.
2653 (BOOTCHECK_TIMEOUT): Likewise.
2654 (bootcheck): New target
2655 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
2656 * configure.ac: Correct efiemu excuse.
2657 * docs/grub.texi (Supported kernels): New chapter.
2658 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
2659 include/grub/mm_private.h. Simplify inclusion of
2660 include/grub/boot.h, include/grub/loader.h
2661 and include/grub/msdos_partition.h
2662 (KERNEL_HEADER_FILES) [i386_coreboot]:
2663 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
2664 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
2665 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
2666 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
2667 include/grub/machine/loader.h.
2668 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
2669 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
2670 extra_dist.
2671 (pci.mod): Enable on i386-multiboot.
2672 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
2673 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
2674 i386-qemu.
2675 (relocator.mod): Rewritten.
2676 (aout.mod): Enable on all x86.
2677 (bsd.mod): Likewise.
2678 (ntldr.mod): New module.
2679 (linux.mod): Use loader/i386/linux.c on all x86.
2680 (xnu.mod): Enable on all x86.
2681 (vga_text.mod): disable on EFI and QEMU.
2682 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
2683 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
2684 * grub-core/efiemu/loadcore.c: Likewise.
2685 * grub-core/efiemu/main.c: Likewise.
2686 (grub_efiemu_exit_boot_services): Removed.
2687 (grub_efiemu_finish_boot_services): Likewise.
2688 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
2689 function.
2690 * grub-core/efiemu/i386/nocfgtables.c: New file.
2691 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
2692 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
2693 (grub_efi_finish_boot_services): Moved from here ...
2694 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
2695 Fille finish memory map and related data.
2696 (finish_mmap_buf): New variable.
2697 (grub_efi_uintn_t finish_mmap_size): Likewise.
2698 (grub_efi_uintn_t finish_key): Likewise.
2699 (grub_efi_uintn_t finish_desc_size): Likewise.
2700 (grub_efi_uint32_t finish_desc_version): Likewise.
2701 (grub_efi_is_finished): Likewise.
2702 (grub_efi_get_memory_map): Use saved memory map if EFI is already
2703 finished.
2704 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
2705 (grub_elf64_phdr_iterate): Likewise.
2706 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
2707 (grub_os_area_size): Likewise.
2708 (grub_machine_init): Don't reserve os area.
2709 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
2710 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2711 * grub-core/kern/i386/loader.S: Removed.
2712 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
2713 (grub_os_area_size): Likewise.
2714 (grub_machine_init): Don't reserve os area.
2715 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2716 Don't call grub_dl_unload_all.
2717 Don't include loader.S.
2718 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2719 Declare the memory after _end as available.
2720 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 2721 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 2722 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
2723 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
2724 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
2725 * include/grub/mm_private.h (grub_mm_header): ... here.
2726 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
2727 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
2728 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
2729 (grub_mm_region): ..here. Removed addr. Added pre_size.
2730 All users updated.
2731 * grub-core/kern/mm.c (base): Renamed to ...
2732 (grub_mm_base): ... this. Made global.
2733 (grub_real_malloc): Alloc from end of region.
2734 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
2735 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
2736 * grub-core/kern/powerpc/cache_flush.S: ... here.
2737 * grub-core/lib/efi/relocator.c: New file.
2738 * grub-core/lib/i386/relocator.c: Rewritten.
2739 * grub-core/lib/i386/relocator16.S: New file.
2740 * grub-core/lib/i386/relocator32.S: Likewise.
2741 * grub-core/lib/i386/relocator64.S: Likewise.
2742 * grub-core/lib/i386/relocator_asm.S: Rewritten.
2743 * grub-core/lib/i386/relocator_common.S: New file.
2744 * grub-core/lib/ieee1275/relocator.c: Likewise.
2745 * grub-core/lib/mips/relocator.c: Rewritten.
2746 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
2747 stylistic adjustments.
2748 * grub-core/lib/powerpc/relocator.c: New file.
2749 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
2750 * grub-core/lib/relocator.c: Rewritten.
2751 * grub-core/lib/x86_64/relocator_asm.S: New file.
2752 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
2753 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
2754 (bsd_tag): New struct.
2755 (tags): New variable.
2756 (tags_last): Likewise.
2757 (netbsd_module): New struct.
2758 (netbsd_mods): New variable.
2759 (netbsd_mods_last): Likewise.
2760 (openbsd_opts): New parameter "serial".
2761 (OPENBSD_SERIAL_ARG): New definition.
2762 (netbsd_opts): New parameter "serial".
2763 (NETBSD_SERIAL_ARG): New definition.
2764 (grub_freebsd_add_meta): Reorganised into ...
2765 (grub_bsd_add_meta): ...this. All users updated.
2766 (grub_freebsd_add_mmap): Reorganised into ...
2767 (generate_e820_mmap): ...this...
2768 (grub_bsd_add_mmap): ...and this. All users updated.
2769 (grub_freebsd_list_modules): Use tags.
2770 (grub_netbsd_add_meta_module): New function.
2771 (grub_netbsd_list_modules): Likewise.
2772 (grub_freebsd_boot): Use relocator and finish EFI.
2773 (grub_openbsd_boot): Likewise.
2774 (grub_netbsd_setup_video): New function.
2775 (grub_netbsd_add_modules): Likewise.
2776 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
2777 and finish EFI.
2778 (grub_bsd_unload): Unload tags.
2779 (grub_bsd_load_aout): Use relocator.
2780 (grub_bsd_elf32_size_hook): New function.
2781 (grub_bsd_elf32_hook): Use relocator.
2782 (grub_bsd_elf64_size_hook): New function.
2783 (grub_bsd_elf64_hook): Use relocator.
2784 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
2785 (grub_bsd_load): Zero-out openbsd_ramdisk.
2786 (grub_bsd_load): Use relocator.
2787 (grub_cmd_openbsd): Support serial.
2788 (grub_cmd_netbsd): Support modules.
2789 (grub_cmd_freebsd_module): Use relocator.
2790 (grub_netbsd_module_load): New function.
2791 (grub_cmd_netbsd_module): Likewise.
2792 (grub_cmd_openbsd_ramdisk): Likewise.
2793 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
2794 kopenbsd_ramdisk.
2795 (GRUB_MOD_FINI): Unregister new commands.
2796 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
2797 (grub_freebsd_load_elfmodule_obj): Use relocator.
2798 (grub_freebsd_load_elfmodule): Likewise.
2799 (grub_freebsd_load_elf_meta): Likewise.
2800 (grub_netbsd_load_elf_meta): New function.
2801 (grub_openbsd_find_ramdisk): Likewise.
2802 * grub-core/loader/i386/bsd_helper.S: Removed.
2803 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
2804 * grub-core/loader/i386/bsd_trampoline.S: Removed.
2805 * grub-core/loader/i386/efi/linux.c: Likewise.
2806 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
2807 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
2808 (DEFAULT_VIDEO_MODE): Likewise.
2809 (real_mode_target): New variable.
2810 (prot_mode_target): Likewise.
2811 (initrd_mem_target): Likewise.
2812 (relocator): Likewise.
2813 (efi_mmap_buf): Likewise.
2814 (efi_mmap_size): Likewise.
2815 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
2816 (free_pages): Use relocator.
2817 (allocate_pages): Account for efi_mmap and use relocator. Return error.
2818 (grub_linux_setup_video): Return error.
2819 (grub_linux_trampoline_start): Removed.
2820 (grub_linux_trampoline_end): Likewise.
2821 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
2822 andd video parameters depending on firmware.
2823 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
2824 [GRUB_MACHINE_EFI]: Pass EFI parameters.
2825 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
2826 (grub_cmd_initrd): Use relocator.
2827 * grub-core/loader/i386/linux_trampoline.S: Removed.
2828 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
2829 (elf_sec_entsize): Likewise.
2830 (elf_sec_shstrndx): Likewise.
2831 (elf_sections): Likewise.
2832 (grub_multiboot_load): Use relocator.
2833 (grub_multiboot_get_mbi_size): Account for sections.
2834 (grub_multiboot_make_mbi): Use relocator and support sections.
2835 (grub_multiboot_add_elfsyms): New function.
2836 (grub_multiboot_free_mbi): Free sections.
2837 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
2838 (grub_linux_real_target): Likewise.
2839 (grub_linux_real_chunk): Likewise.
2840 (grub_linux16_prot_size): Likewise.
2841 (grub_linux16_boot): Use relocator.
2842 (grub_linux_unload): Unload relocator.
2843 (grub_cmd_linux): Use relocator.
2844 (grub_cmd_initrd): Likewise.
2845 * grub-core/loader/i386/pc/ntldr.c: New file.
2846 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
2847 Don't try to guess CPU frequency.
2848 (grub_xnu_set_video): Stretch bitmap.
2849 (grub_xnu_boot): Use relocator.
2850 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
2851 (grub_linux_unload): Free relocator.
2852 (grub_linux_load32): Use relocator.
2853 (grub_linux_load64): Likewise.
2854 (grub_cmd_initrd): Likewise.
2855 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
2856 (grub_multiboot_unload): Unload relocator.
2857 (grub_cmd_multiboot): Use relocator.
2858 (grub_cmd_module): Likewise.
2859 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
2860 Use relocator and support sections.
2861 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
2862 (elf_sec_entsize): Likewise.
2863 (elf_sec_shstrndx): Likewise.
2864 (elf_sections): Likewise.
2865 (grub_multiboot_load): Use relocator.
2866 (grub_multiboot_get_mbi_size): Account for sections.
2867 (grub_multiboot_make_mbi): Use relocator and support sections.
2868 (grub_multiboot_add_elfsyms): New function.
2869 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
2870 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
2871 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
2872 Prototype changed. All users updated.
2873 (grub_xnu_align_heap): Simplified.
2874 (grub_xnu_writetree_toheap): Likewise.
2875 (grub_xnu_unload): Unload relocator.
2876 (grub_cmd_xnu_kernel): Use relocator.
2877 (grub_cmd_xnu_kernel64): Likewise.
2878 (grub_xnu_register_memory): Simplified.
2879 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
2880 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
2881 EFI is finished.
2882 (grub_console_checkkey): Likewise.
2883 (grub_console_getkey): Likewise.
2884 (grub_console_getwh): Likewise.
2885 (grub_console_getxy): Likewise.
2886 (grub_console_gotoxy): Likewise.
2887 (grub_console_cls): Likewise.
2888 (grub_console_setcolorstate): Likewise.
2889 (grub_console_setcursor): Likewise.
2890 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
2891 * grub-core/tests/boot/kbsd.init-i386.S: New file.
2892 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
2893 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
2894 * grub-core/tests/boot/kernel-8086.S: Likewise.
2895 * grub-core/tests/boot/kernel-i386.S: Likewise.
2896 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
2897 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
2898 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
2899 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
2900 * grub-core/tests/boot/knetbsd.cfg: Likewise.
2901 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
2902 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
2903 * grub-core/tests/boot/linux.cfg: Likewise.
2904 * grub-core/tests/boot/linux.init-i386.S: Likewise.
2905 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
2906 * grub-core/tests/boot/linux16.cfg: Likewise.
2907 * grub-core/tests/boot/multiboot.cfg: Likewise.
2908 * grub-core/tests/boot/multiboot2.cfg: Likewise.
2909 * grub-core/tests/boot/ntldr.cfg: Likewise.
2910 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
2911 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
2912 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
2913 New definition.
2914 * include/grub/dl.h (grub_dl_unload_all): Removed.
2915 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
2916 (grub_efi_finish_boot_services): Change prototype.
2917 (grub_efi_is_finished): New variable.
2918 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
2919 Changed prototype.
2920 (grub_efiemu_finish_boot_services): Removed.
2921 (grub_machine_efiemu_init_tables): New prototype.
2922 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
2923 (grub_elf64_phdr_iterate): Likewise.
2924 * include/grub/i386/bsd.h: Include relocator.h.
2925 (freebsd_tag_header): New struct.
2926 (grub_openbsd_bios_mmap): Removed.
2927 (grub_unix_real_boot): Removed.
2928 (grub_freebsd_load_elfmodule32): Changed prototype.
2929 (grub_freebsd_load_elfmodule_obj64): Likewise.
2930 (grub_freebsd_load_elf_meta32): Likewise.
2931 (grub_freebsd_load_elf_meta64): Likewise.
2932 (grub_freebsd_add_meta): Removed.
2933 (grub_netbsd_load_elf_meta32): New prototype.
2934 (grub_netbsd_load_elf_meta64): Likewise.
2935 (grub_bsd_add_meta): Likewise.
2936 (grub_openbsd_ramdisk_descriptor): New struct.
2937 (grub_openbsd_find_ramdisk32): New prototype.
2938 (grub_openbsd_find_ramdisk64): Likewise.
2939 * include/grub/i386/coreboot/loader.h: Removed.
2940 * include/grub/i386/efi/loader.h: Likewise.
2941 * include/grub/i386/ieee1275/loader.h: Likewise.
2942 * include/grub/i386/linux.h (linux_kernel_header): Change void *
2943 to grub_uint32_t.
2944 * include/grub/i386/loader.h: Removed.
2945 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
2946 value.
2947 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
2948 (grub_phys_addr_t): New type.
2949 (grub_vtop): New inline function.
2950 (grub_map_memory): Likewise.
2951 (grub_unmap_memory): Likewise.
2952 * include/grub/i386/multiboot/loader.h: Removed.
2953 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
2954 (NETBSD_BTINFO_CONSOLE): New definition.
2955 (NETBSD_BTINFO_SYMTAB): Likewise.
2956 (NETBSD_BTINFO_MODULES): Likewise.
2957 (NETBSD_BTINFO_FRAMEBUF): Likewise.
2958 (grub_netbsd_bootinfo): New struct.
2959 (grub_netbsd_btinfo_common): Use explicit bitsize.
2960 (grub_netbsd_btinfo_mmap_entry): Removed.
2961 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
2962 (grub_netbsd_btinfo_bootdisk): New struct.
2963 (grub_netbsd_btinfo_symtab): Likewise.
2964 (grub_netbsd_btinfo_serial): Likewise.
2965 (grub_netbsd_btinfo_modules): Likewise.
2966 (grub_netbsd_btinfo_framebuf): Likewise.
2967 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
2968 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
2969 Likewise.
2970 (grub_openbsd_bootargs): Use explicit bitsize.
2971 (grub_openbsd_bootarg_console): New struct.
2972 (GRUB_OPENBSD_COM_MAJOR): New definition.
2973 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
2974 * include/grub/i386/pc/efiemu.h: Removed.
2975 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
2976 * include/grub/i386/qemu/loader.h: Removed.
2977 * include/grub/i386/relocator.h: Rewritten.
2978 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
2979 * include/grub/mips/memory.h: New file.
2980 * include/grub/mips/multiboot.h: Rewritten.
2981 * include/grub/mips/relocator.h: Rewritten.
2982 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
2983 (grub_vtop): New function.
2984 (grub_map_memory): Likewise.
2985 (grub_unmap_memory): Likewise.
2986 * include/grub/misc.h (ALIGN_DOWN): New definition.
2987 * include/grub/mm.h (grub_mm_check_real): New proto.
2988 (GRUB_MM_CHECK): New definition.
2989 * include/grub/mm_private.h: New file.
2990 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
2991 (grub_multiboot_get_mbi_size): Removed.
2992 (grub_multiboot_make_mbi): Change prottype.
2993 (grub_multiboot_set_accepts_video): New proto.
2994 (grub_multiboot_add_elfsyms): Likewise.
2995 (grub_multiboot_payload_eip): New variable.
2996 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
2997 New prototype.
2998 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
2999 New definition.
3000 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
3001 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
3002 * include/grub/powerpc/ieee1275/loader.h: Removed.
3003 * include/grub/powerpc/memory.h: New file.
3004 * include/grub/powerpc/relocator.h: Likewise.
3005 * include/grub/relocator.h: Likewise.
3006 * include/grub/relocator_private.h: Likewise.
3007 * include/grub/sparc64/ieee1275/loader.h: Removed.
3008 * include/grub/x86_64/memory.h: New file.
3009 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
3010 (grub_xnu_heap_malloc): Likewise.
3011 (grub_xnu_heap_real_start): Removed.
3012 (grub_xnu_heap_start): Likewise.
3013 (grub_xnu_relocator): New variable.
3014 (grub_xnu_heap_target_start): Likewise.
3015 * tests/util/grub-shell.in: Support non-pc.
3016 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 3017
5303b85d
VS
30182010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
3021 on malloc error.
3022 (grub_bidi_logical_to_visual): Check that malloc succeded.
3023 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
3024 puts.
3025 (grub_xputs_normal): Likewise.
3026
d768d159
VS
30272010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
3030 extra_dist.
3031
30322010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * grub-core/efiemu/runtime/efiemu.sh: Removed.
3035
5bf84df4
VS
30362010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
3039
3626810e
VS
30402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
3043 dprintf.
3044
a7363f53
BC
30452010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
3046
3047 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
3048
902f75f6
VS
30492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/normal/term.c (print_more): Fix a memory leak.
3052 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
3053 (grub_xputs_normal): Likewise.
3054
3c707967
VS
30552010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
3058 the begining of the string
3059
2053cc07
VS
30602010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/script/script.c (grub_script_parse): Free parsed on
3063 failure.
3064
46422ebf
VS
30652010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
3068 on failure.
3069
9e0fa3f6
VS
30702010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
3073 return.
3074
3393cf16
VS
30752010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
3078 (scroll_up): Fix a memory leak.
3079
b17540cb
VS
30802010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
3083 errors.
3084
67140446
VS
30852010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 Handle USB pendrives exposed as floppies.
3088
3089 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
3090 floppy.
3091 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3092 Check for partitions on all devices.
3093
e35e46fc
VS
30942010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
3097 (readkey): Likewise.
3098
d24c6190
BC
30992010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3100
3101 Multiple variable names support to "export" command.
3102
3103 * normal/context.c (grub_cmd_export): "export" command supports
3104 multiple variable names.
3105
04ddcc6a
ST
31062010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
3107
3108 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
3109 --target=drive output to Mach device name.
3110
0c8b61d8
BC
31112010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3112
3113 New Automake based build system for GRUB.
3114
3115 * ABOUT-NLS: New file.
3116 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
3117 in Makefile.util.def file.
3118 * Makefile.util.def: New file. Autogen build definitions file for
3119 GRUB host utils.
3120 * conf/Makefile.common: New file. Common variables for GRUB host
3121 utils and target modules.
3122 * conf/Makefile.extra-dist: New file. Extra files for make dist.
3123 * docs/Makefile.am: New file. Automake file for docs.
3124 * gentpl.py: New file. Python script to generate Autogen
3125 template.
3126 * grub-core/Makefile.am: New file. GRUB target modules' rules
3127 that doesn't fit in Makefile.core.def file.
3128 * grub-core/Makefile.core.def: New file. Autogen build
3129 definitions file for GRUB target modules.
3130 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
3131 specific setjmp.S file.
3132 * po/Makefile.am: New file.
3133
3134 * .bzrignore: New ignores.
3135 * INSTALL: New requirements, without Ruby.
3136 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
3137 * autogen.sh: Updated to invoke autogen as necessary.
3138 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
3139 and defines for Automake conditionals.
3140 * geninit.sh: Refactoring.
3141
3142 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
3143 necessary.
3144 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
3145 New prototype.
3146
3147 * include/grub/test.h: Fix functional test modules' naming.
3148 * grub-core/tests/example_functional_test.c: Fix test module name.
3149
3150 * util/misc.c: Hosted versions' of grub functions for libgrub.a
3151 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
3152 * util/grub-editenv.c: Likewise.
3153 * util/grub-fstest.c: Likewise.
3154 * util/grub-mkdevicemap.c: Likewise.
3155 * util/grub-mkfont.c: Likewise.
3156 * util/grub-mkimage.c: Likewise.
3157 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3158 * util/grub-probe.c: Likewise.
3159 * util/grub-script-check.c: Likewise.
3160 * util/i386/pc/grub-setup.c: Likewise.
3161 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3162
3163 * tests/util/grub-shell.in: Fix override directory path.
3164 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
3165 * util/import_gcry.py: Create Makefile.gcry.def file instead.
3166
3167 * util/lvm.c: Update #includes.
3168 * util/raid.c: Likewise.
3169 * util/resolve.c: Likewise.
3170 * grub-core/bus/emu/pci.c: Likewise.
3171 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
3172 * grub-core/lib/posix_wrap/string.h: Likewise.
3173 * grub-core/kern/emu/main.c: Likewise.
3174
3175 * grub-core/gensymlist.sh: New file. Script for generating kernel
3176 symbols file.
3177 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
3178
3179 * grub-core/gentrigtables.c: Fix unused variable warnings.
3180
3181 * Makefile.in: Removed.
3182 * conf/any-emu.rmk: Removed.
3183 * conf/common.rmk: Removed.
3184 * conf/i386-coreboot.rmk: Removed.
3185 * conf/i386-efi.rmk: Removed.
3186 * conf/i386-ieee1275.rmk: Removed.
3187 * conf/i386-multiboot.rmk: Removed.
3188 * conf/i386-pc.rmk: Removed.
3189 * conf/i386-qemu.rmk: Removed.
3190 * conf/i386.rmk: Removed.
3191 * conf/mips-yeeloong.rmk: Removed.
3192 * conf/mips.rmk: Removed.
3193 * conf/powerpc-ieee1275.rmk: Removed.
3194 * conf/sparc64-ieee1275.rmk: Removed.
3195 * conf/tests.rmk: Removed.
3196 * conf/x86-efi.rmk: Removed.
3197 * conf/x86_64-efi.rmk: Removed.
3198 * gendistlist.sh: Removed.
3199 * geninitheader.sh: Removed.
3200 * genkernsyms.sh.in: Removed.
3201 * genmk.rb: Removed.
3202 * gensymlist.sh.in: Removed.
3203 * mkinstalldirs: Removed.
3204 * boot: Moved ...
3205 * grub-core/boot: ... to here.
3206 * bus: Moved ...
3207 * grub-core/bus: ... to here.
3208 * commands: Moved ...
3209 * grub-core/commands: ... to here.
3210 * disk: Moved ...
3211 * grub-core/disk: ... to here.
3212 * efiemu: Moved ...
3213 * grub-core/efiemu: ... to here.
3214 * font: Moved ...
3215 * grub-core/font: ... to here.
3216 * fs: Moved ...
3217 * grub-core/fs: ... to here.
3218 * gencmdlist.sh: Moved ...
3219 * grub-core/gencmdlist.sh: ... to here.
3220 * genemuinit.sh: Moved ...
3221 * grub-core/genemuinit.sh: ... to here.
3222 * genemuinitheader.sh: Moved ...
3223 * grub-core/genemuinitheader.sh: ... to here.
3224 * genfslist.sh: Moved ...
3225 * grub-core/genfslist.sh: ... to here.
3226 * genhandlerlist.sh: Moved ...
3227 * grub-core/genhandlerlist.sh: ... to here.
3228 * genmoddep.awk: Moved ...
3229 * grub-core/genmoddep.awk: ... to here.
3230 * genmodsrc.sh: Moved ...
3231 * grub-core/genmodsrc.sh: ... to here.
3232 * genpartmaplist.sh: Moved ...
3233 * grub-core/genpartmaplist.sh: ... to here.
3234 * genparttoollist.sh: Moved ...
3235 * grub-core/genparttoollist.sh: ... to here.
3236 * genterminallist.sh: Moved ...
3237 * grub-core/genterminallist.sh: ... to here.
3238 * gentrigtables.c: Moved ...
3239 * grub-core/gentrigtables.c: ... to here.
3240 * genvideolist.sh: Moved ...
3241 * grub-core/genvideolist.sh: ... to here.
3242 * gettext: Moved ...
3243 * grub-core/gettext: ... to here.
3244 * gfxmenu: Moved ...
3245 * grub-core/gfxmenu: ... to here.
3246 * gnulib: Moved ...
3247 * grub-core/gnulib: ... to here.
3248 * hello: Moved ...
3249 * grub-core/hello: ... to here.
3250 * hook: Moved ...
3251 * grub-core/hook: ... to here.
3252 * io: Moved ...
3253 * grub-core/io: ... to here.
3254 * kern: Moved ...
3255 * grub-core/kern: ... to here.
3256 * lib: Moved ...
3257 * grub-core/lib: ... to here.
3258 * loader: Moved ...
3259 * grub-core/loader: ... to here.
3260 * mmap: Moved ...
3261 * grub-core/mmap: ... to here.
3262 * normal: Moved ...
3263 * grub-core/normal: ... to here.
3264 * partmap: Moved ...
3265 * grub-core/partmap: ... to here.
3266 * parttool: Moved ...
3267 * grub-core/parttool: ... to here.
3268 * script: Moved ...
3269 * grub-core/script: ... to here.
3270 * term: Moved ...
3271 * grub-core/term: ... to here
3272 * tests/example_functional_test.c: Moved ...
3273 * grub-core/tests/example_functional_test.c: ... to here.
3274 * tests/lib/functional_test.c: Moved ...
3275 * grub-core/tests/lib/functional_test.c: ... to here.
3276 * tests/lib/test.c: Moved ...
3277 * grub-core/tests/lib/test.c: ... to here.
3278 * video: Moved ...
3279 * grub-core/video: ... to here.
3280
645586e6
BC
32812010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3282
3283 Replace --enable-grub-emu-modules with grub-emu-lite.
3284
3285 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
3286 cache.S.
3287
3288 * include/grub/emu/misc.h (grub_emu_init): New prototype.
3289 * kern/emu/full.c: New file. For grub-emu specific initialization.
3290 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
3291 * kern/emu/main.c: Call initialization function grub_emu_init.
3292
3293 * Makefile.in: Include grub-emu-lite in install.
3294 * commands/parttool.c: Use grub_no_autoload to differentiate
3295 between grub-emu and grub-emu-lite.
3296 * include/grub/misc.h: New variable grub_no_autoload.
3297
3298 * conf/any-emu.rmk: New rules for grub-emu-lite.
3299 * configure.ac: Remove --enable-grub-emu-modules.
3300 * genmk.rb: Cleanup unnecessary rules.
3301 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
3302
3303 * normal/main.c: Don't load list files on grub-emu-lite.
3304 * util/misc.c (grub_arch_sync_caches): Removed.
3305
f86a4030
CW
33062010-08-23 Colin Watson <cjwatson@ubuntu.com>
3307
3308 * kern/mips/startup.S (grub_prefix): Update comment to refer to
3309 grub-mkimage rather than grub-mkelfimage.
3310 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3311
06776944
VS
33122010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
3315 a key after CapsLock or NumLock. It's just a qemu bug.
3316
df262419
VS
33172010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
3320 needed by libusb wrapper.
3321
b40ea81b
ST
33222010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3323
3324 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
3325
dee50575
VS
33262010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
3329 --nounzip is passed.
3330
fb1d7b79
VS
33312010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 USB hotunplugging and USB serial support.
3334
3335 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
3336 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
3337 (grub_uhci_transfer): Respect timeout and set *actual.
3338 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
3339 non-standard length.
3340 (grub_usb_device_attach): Autoload modules.
3341 (GRUB_MOD_INIT): Set grub_term_poll_usb.
3342 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
3343 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
3344 users updated.
3345 (grub_usb_add_hub): Fill nports and children.
3346 (attach_root_port): Receive hub instead of controller.
3347 All users updated. Fill hub->devices.
3348 (grub_usb_root_hub): Allocate hub->devices.
3349 (detach_device): New function.
3350 (poll_nonroot_hub): Fill children and detach devices.
3351 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
3352 actual arguments. All users updated.
3353 (grub_usb_bulk_read_extended): New function.
3354 * bus/usb/serial/common.c: New file.
3355 * bus/usb/serial/ftdi.c: Likewise.
3356 * bus/usb/serial/pl2303.c: Likewise.
3357 * commands/terminal.c (handle_command): Support wildcard.
3358 * commands/usbtest.c: Output "Unknown" instead of empty string.
3359 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
3360 (usbserial_common_mod_SOURCES): New variable.
3361 (usbserial_common_mod_CFLAGS): Likewise.
3362 (usbserial_common_mod_LDFLAGS): Likewise.
3363 (pkglib_MODULES): Add usbserial_pl2303.mod.
3364 (usbserial_pl2303_mod_SOURCES): New variable.
3365 (usbserial_pl2303_mod_CFLAGS): Likewise.
3366 (usbserial_pl2303_mod_LDFLAGS): Likewise.
3367 (pkglib_MODULES): Add usbserial_ftdi.mod.
3368 (usbserial_ftdi_mod_SOURCES): New variable.
3369 (usbserial_ftdi_mod_CFLAGS): Likewise.
3370 (usbserial_ftdi_mod_LDFLAGS): Likewise.
3371 (pkglib_MODULES): Add serial.mod.
3372 (serial_mod_SOURCES): New variable.
3373 (serial_mod_CFLAGS): Likewise.
3374 (serial_mod_LDFLAGS): Likewise.
3375 * conf/i386-pc.rmk: Likewise.
3376 * conf/mips-yeeloong.rmk: Likewise.
3377 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
3378 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3379 * disk/usbms.c (first_available_slot): New variable.
3380 (grub_usbms_attach): Don't reuse free slots due to potential cache
3381 problems.
3382 * include/grub/serial.h: Moved to ..
3383 * include/grub/ns8250.h: ...this.
3384 * include/grub/serial.h: New file.
3385 * include/grub/term.h (grub_term_poll_usb): New variable.
3386 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
3387 readkey. All users updated.
3388 (grub_terminfo_output_state): Pass term to put.
3389 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
3390 (grub_usb_controller_dev): Add timeout and actual arguments to
3391 transfer. All users updated.
3392 (grub_usb_interface): New field detach_data.
3393 (grub_usb_device): New fields children and nports.
3394 (grub_usb_ep_type_t): New type.
3395 (grub_usb_get_ep_type): New function.
3396 (grub_usb_bulk_read_extended): Likewise.
3397 * include/grub/usbdesc.h (grub_usb_desc): New type.
3398 * include/grub/usbserial.h: New file.
3399 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
3400 * kern/term.c (grub_term_poll_usb): New variable.
3401 (grub_getkey): Call grub_term_poll_usb if set.
3402 (grub_checkkey): Likewise.
3403 (grub_getkeystatus): Likewise.
3404 * term/serial.c: Moved controller-specific parts to ...
3405 * term/ns8250.c: ... here.
3406 * term/serial.c: Mostly rewritten.
3407 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
3408 according to spec.
3409
21a313de
RM
34102010-08-20 Robert Millan <rmh@gnu.org>
3411
3412 Make kFreeBSD code more generic to support ext2fs as root, ufs as
3413 a separate module and maybe other interesting combinations.
3414
3415 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
3416 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
3417 (kfreebsd_entry): Add generic filesystem module load routine.
3418 Map GRUB `ext2' to kFreeBSD `ext2fs'.
3419
63c734a6
CW
34202010-08-20 Colin Watson <cjwatson@ubuntu.com>
3421
3422 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
3423 "numcenter" (I misunderstood the purpose of this entry).
3424 * docs/grub.texi (sendkey): Likewise.
3425
c4d16542
CW
34262010-08-20 Colin Watson <cjwatson@ubuntu.com>
3427
3428 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
3429 status flag options; simply omitting the option is equivalent and
3430 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
3431 (keysym_table): Rename "num5numlock" to "numlock".
3432 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
3433 can uniformly say that only the last of multiple `sendkey'
3434 invocations has any effect.
3435 * docs/grub.texi (sendkey): New section.
3436
93541d66
CW
34372010-08-19 Colin Watson <cjwatson@ubuntu.com>
3438
3439 * commands/i386/pc/sendkey.c (options): Fix three typos.
3440
b4ece5e1
VS
34412010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 Implement sendkey support.
3444
3445 * commands/i386/pc/sendkey.c: New file.
3446 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
3447 (sendkey_mod_SOURCES): New variable.
3448 (sendkey_mod_CFLAGS): Likewise.
3449 (sendkey_mod_LDFLAGS): Likewise.
3450
51f1f5af
CW
34512010-08-18 Colin Watson <cjwatson@ubuntu.com>
3452
3453 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
3454 fix warnings from Autoconf.
3455
9da94e05
CW
34562010-08-18 Colin Watson <cjwatson@ubuntu.com>
3457
3458 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
3459 to avoid false positives with some assemblers that output things
3460 like "someprefix_func" as part of their output.
3461
729a0f2e
RM
34622010-08-15 Robert Millan <rmh@gnu.org>
3463
3464 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
3465 errors.
3466 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
3467 grub_get_libzfs_handle() errors.
3468
f3710e08
RM
34692010-08-14 Robert Millan <rmh@gnu.org>
3470
3471 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
3472 filesystem is not ZFS.
3473
7a3c13de
BC
34742010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3475
3476 Fix for misspelled color names defaulting to black/black (bug
3477 reported by Doug Nazar)
3478
3479 * include/grub/normal.h (grub_parse_color_name_pair): Add return
3480 status to prototype.
3481 * normal/color.c (grub_parse_color_name_pair): Return failure
3482 status.
3483 (grub_env_write_color_normal): Ignore bad color names.
3484 (grub_env_write_color_highlight): Likewise.
3485 * normal/main.c (GRUB_MOD_INIT): Set default color names.
3486
ab8ba50d
BC
34872010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3488
3489 "shift" command support to GRUB script.
3490
3491 * include/grub/script_sh.h (grub_script_shift): New prototype.
3492 * script/execute.c (grub_script_shift): New function.
3493 * script/main.c (grub_script_init): Register shift command.
3494 (grub_script_fini): Unregister shift command.
3495 * util/grub-script-check.c (grub_script_cmd_shift): New function.
3496
3497 * tests/grub_script_shift.in: New testcase.
3498 * conf/tests.rmk: Rules for new testcase.
3499
4d61999e
BC
35002010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3501
3502 "continue" command support to GRUB script.
3503
3504 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
3505 (grub_script_break): Continue support.
3506 * script/main.c (grub_script_init): Register continue command.
3507 (grub_script_fini): Unregister continue command.
3508
3509 * tests/grub_script_continue.in: New testcase.
3510 * conf/tests.rmk: Rules for new testcase.
3511
4df51e00
BC
35122010-08-12 BVK Chaitanya <bvk@dbook>
3513
3514 "break" command support to GRUB script.
3515
3516 * conf/common.rmk: Rule updates to grub-script-check.
3517 * include/grub/misc.h (grub_min): New function.
3518 * include/grub/script_sh.h (grub_script_init): New prototype.
3519 (grub_script_fini): New prototype.
3520 (grub_script_break): New prototype.
3521 * script/main.c (grub_script_init): New function.
3522 (grub_script_fini): New function.
3523 * script/execute.c (grub_script_break): New function.
3524 * normal/main.c: Calls to grub_script_{init,fini}.
3525 * util/grub-script-check.c (grub_script_break): New function.
3526
3527 * tests/grub_script_break.in: New testcase.
3528 * conf/tests.rmk: Rules for new test case.
3529
f12c8420
BC
35302010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3531
3532 Function parameters support to GRUB script.
3533
3534 * script/yylex.l (VARIABLE): Regular expression update.
3535 * script/function.c (grub_script_function_call): Moved ...
3536 * script/execute.c (grub_script_function_call): ... to here.
3537 (grub_script_execute_arglist_to_argv): Removed.
3538 (grub_script_arglist_to_argv): New function.
3539 * script/argv.c: New file.
3540 (grub_script_argv_free): New function.
3541 (grub_script_argv_next): Likewise.
3542 (grub_script_argv_append): Likewise.
3543 (grub_script_argv_split_append): Likewise.
3544 * include/grub/script_sh.h (grub_script_argv): New struct.
3545 (grub_script_argv_free): New function.
3546 (grub_script_argv_next): Likewise.
3547 (grub_script_argv_append): Likewise.
3548 (grub_script_argv_split_append): Likewise.
3549
3550 * conf/common.rmk (normal.mod): New source script/argv.c.
3551
3552 * tests/grub_script_echo1.in: More tests.
3553 * tests/grub_script_vars1.in: Likewise.
3554 * tests/grub_script_functions.in: New test case.
3555 * conf/tests.rmk: Rules for new testcase.
3556
8022b748
BC
35572010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3558
3559 Remove grub_script_cmdblock struct.
3560
3561 * include/grub/script_sh.h: Remove grub_script_cmdblock.
3562 * script/parser.y: Likewise.
3563 * script/execute.c: Rename cmdblock suffix to cmdlist.
3564 * script/script.c: Likewise.
3565 * util/grub-script-check.c: Likewise.
3566
79a6ba61
YB
35672010-08-11 Yves Blusseau <blusseau@zetam.org>
3568
3569 * .bzrignore: add grub-macho2img
3570
d04b9414
VS
35712010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
3574
f947ab49
VS
35752010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 Remove the dump of sm712 initialisation sequence.
3578
3579 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
3580 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
3581 (GRUB_VGA_IO_MISC_WRITE): Likewise.
3582 (GRUB_VGA_CR_*): Added many registers.
3583 (GRUB_VGA_SR_*): Likewise.
3584 (GRUB_VGA_GR_*): Likewise.
3585 (grub_vga_write_arx): New function.
3586 (grub_video_hw_config): New struct.
3587 (grub_vga_set_geometry): New function.
3588 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
3589 GRUB_PCI_CLASS_SUBCLASS_VGA.
3590 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
3591 * video/sm712.c (grub_sm712_write_reg): New function
3592 (grub_sm712_read_reg): Likewise.
3593 (grub_sm712_sr_write): Likewise.
3594 (grub_sm712_gr_write): Likewise.
3595 (grub_sm712_cr_write): Likewise.
3596 (grub_sm712_write_arx): Likewise.
3597 (grub_sm712_cr_shadow_write): Likewise.
3598 (grub_sm712_write_dda_lookup): Likewise.
3599 (grub_video_sm712_setup): Initialise the video rather then
3600 blindly replay the dump.
3601 (main) [TEST]: Add a routine to be able to compile as standalone for
3602 tests.
3603 * video/sm712_init.c (sm712_init): Removed.
3604 (sm712_sr_seq1): New array.
3605 (sm712_sr_seq2): Likewise.
3606
f0206638
VS
36072010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * include/grub/vga.h: Add missing grub/pci.h include.
3610
2764da3b
YB
36112010-08-10 Yves Blusseau <blusseau@zetam.org>
3612
3613 * util/grub-macho2img.c (main): fix typo
3614
cf0c775e
VS
36152010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
3618 (grub_vga_gr_read): Likewise.
3619 (grub_vga_cr_write): Likewise.
3620 (grub_vga_cr_read): Likewise.
3621 (grub_vga_sr_write): Likewise.
3622 (grub_vga_sr_read): Likewise.
3623 (grub_vga_palette_read): Likewise.
3624 (grub_vga_palette_write): Likewise.
3625 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
3626 (grub_sm712_sr_read): New function.
3627 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
3628 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
3629
07f360e9
RM
36302010-08-09 Robert Millan <rmh@gnu.org>
3631
3632 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
3633 out unused variables on non-ZFS build.
3634
346c2072
RM
36352010-08-08 Robert Millan <rmh@gnu.org>
3636
3637 Fix path generation for sub-filesystems in ZFS.
3638
3639 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
3640 missing slash.
3641
71175420
RM
36422010-08-08 Robert Millan <rmh@gnu.org>
3643
3644 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
3645
0d8286f3
RM
36462010-08-08 Robert Millan <rmh@gnu.org>
3647
3648 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
3649 exist, issue a proper error message (rely on `ls' for translated
3650 strings).
3651
55dd2924
RM
36522010-08-08 Robert Millan <rmh@gnu.org>
3653
3654 Fix grub-probe invocation.
3655
3656 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
3657
d3dd9e80
RM
36582010-08-04 Robert Millan <rmh@gnu.org>
3659
3660 * configure.ac: Remove checks for getfsstat() and getmntany().
3661 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
3662 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
3663 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
3664 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
3665 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
3666 function.
3667 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
3668 via find_mount_point_from_dir() and getfsstat() / getmntany().
3669
0de22aa9
RM
36702010-08-04 Robert Millan <rmh@gnu.org>
3671
3672 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3673 (grub_find_zpool_from_mount_point): Merge into ...
3674 (grub_find_zpool_from_dir): ... this.
3675 * kern/emu/misc.c: Likewise.
3676
3677 * kern/emu/misc.c
3678 (grub_make_system_path_relative_to_its_root): Replace
3679 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
3680 with grub_find_zpool_from_dir().
3681 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
3682
62858144
RM
36832010-08-04 Robert Millan <rmh@gnu.org>
3684
3685 Support OpenSolaris in ZFS device resolution.
3686
3687 * configure.ac: Check for getmntany().
3688 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
3689 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
3690 support.
3691
9dd6fd50
RM
36922010-08-03 Robert Millan <rmh@gnu.org>
3693
3694 Fix grub-emu build.
3695
3696 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
3697 * include/grub/emu/misc.h: ... here.
3698
3699 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
3700 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
3701
3702 * util/misc.c: Remove `<grub/util/libzfs.h>'.
3703 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
3704 (grub_get_libzfs_handle): Move to ...
3705 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
3706 (grub_get_libzfs_handle): ... here.
3707
c9f7ff97
BC
37082010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
3709
3710 * script/execute.c (grub_script_execute_cmdline): Check for NULL
3711 as command name case.
3712
a870a783
CW
37132010-08-02 Colin Watson <cjwatson@ubuntu.com>
3714
3715 * disk/raid.c (insert_array): Select unique numbers for named arrays
3716 as well, for use as keys in the disk cache.
3717
c7db243b
RM
37182010-08-01 Robert Millan <rmh@gnu.org>
3719
3720 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
3721 kFreeBSD device name, except on ZFS where the filesystem label is
3722 used.
3723 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
3724 `/boot/zfs/zpool.cache'.
3725 Set mountfrom kernel variable using ${kfreebsd_device}.
3726
f7abdefb
RM
37272010-08-01 Robert Millan <rmh@gnu.org>
3728
3729 Make it even harder to use uninitialized `libzfs_handle' (and
3730 make the interface a bit simpler).
3731
3732 * include/grub/util/misc.h (grub_util_init_libzfs)
3733 (libzfs_handle): Remove.
3734 (grub_get_libzfs_handle): New prototype.
3735
3736 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
3737 attribute.
3738 (grub_util_init_libzfs): Remove.
3739 (grub_get_libzfs_handle): New function.
3740
3741 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
3742 grub_get_libzfs_handle() to obtain a libzfs handle instead of
3743 accessing `libzfs_handle' directly.
3744
c882acc0
RM
37452010-08-01 Robert Millan <rmh@gnu.org>
3746
3747 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3748 (grub_find_zpool_from_mount_point): New function prototypes.
3749
3750 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3751 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3752
3753 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3754 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3755 `static' attribute.
3756
3757 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3758 finding zpool from mount point into ...
3759 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3760
3761 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3762 requested path is part of a ZFS pool, use
3763 grub_find_zpool_from_mount_point() to detect its filesystem name,
3764 and generate a path with `/fsname@path' syntax.
3765
8bfe31d8
CW
37662010-08-01 Colin Watson <cjwatson@ubuntu.com>
3767
3768 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
3769 (void) rather than () so that this is a proper prototype.
3770
553df63d
VS
37712010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
3774
8687cf07
VS
37752010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
3778 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
3779
ea9be8ea
CW
37802010-08-01 Colin Watson <cjwatson@ubuntu.com>
3781
3782 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
3783
6eea041a
CW
37842010-08-01 Colin Watson <cjwatson@ubuntu.com>
3785
3786 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
3787
2cfb45df
CW
37882010-08-01 Colin Watson <cjwatson@ubuntu.com>
3789
3790 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
3791 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
3792 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
3793 disable gfxpayload.
3794 (Shell-like scripting): Add real content.
3795 (Serial terminal): Suggest `terminal_input serial; terminal_output
3796 serial' rather than putting the two commands on separate lines,
3797 since console input will be inoperative after the first command.
3798 (menuentry): Document --class, --users, and --hotkey options.
3799 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
3800 Vladimir Serbinenko).
3801
7decd202
VS
38022010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
38032010-08-01 Colin Watson <cjwatson@ubuntu.com>
3804
3805 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
3806
c882acc0
RM
38072010-08-01 Robert Millan <rmh@gnu.org>
3808
3809 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3810 (grub_find_zpool_from_mount_point): New function prototypes.
3811
3812 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3813 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3814
3815 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3816 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3817 `static' attribute.
3818
3819 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3820 finding zpool from mount point into ...
3821 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3822
3823 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3824 requested path is part of a ZFS pool, use
3825 grub_find_zpool_from_mount_point() to detect its filesystem name,
3826 and generate a path with `/fsname@path' syntax.
3827
deb0caa3
RM
38282010-08-01 Robert Millan <rmh@gnu.org>
3829
3830 Prevent accidental use of uninitialized libzfs_handle.
3831
3832 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
3833 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
3834 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
3835
ce04ef47
CW
38362010-08-01 Colin Watson <cjwatson@ubuntu.com>
3837
3838 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
3839 util/grub.d/10_linux.in). Fixes Debian bug #591093.
3840
ebf53056
RM
38412010-08-01 Robert Millan <rmh@gnu.org>
3842
3843 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 3844
3710bb6b
RM
38452010-07-31 Robert Millan <rmh@gnu.org>
3846
3847 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
3848
8072efeb
RM
38492010-07-31 Robert Millan <rmh@gnu.org>
3850
3851 * kern/emu/misc.c: Add missing license header.
3852
3169f4c7
RM
38532010-07-31 Robert Millan <rmh@gnu.org>
3854
3855 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
3856
3857 * include/grub/util/libnvpair.h: Include `<config.h>'.
3858 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
3859 declaring libnvpair prototypes ourselves.
3860 * include/grub/util/libzfs.h: Include `<config.h>'.
3861 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
3862 declaring libzfs prototypes ourselves.
3863
3864 (libzfs_handle): Moved to ...
3865 * include/grub/util/misc.h (libzfs_handle): ... here.
3866 Include `<grub/util/libzfs.h>'.
3867
c9a00aee
RM
38682010-07-30 Robert Millan <rmh@gnu.org>
3869
3870 * include/grub/emu/misc.h: Add missing license header.
3871
a184f9c8
RM
38722010-07-30 Robert Millan <rmh@gnu.org>
3873
3874 Enable `grub-probe -t device' resolution on ZFS.
3875
3876 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
3877 * include/grub/util/libnvpair.h: New file.
3878 * include/grub/util/libzfs.h: New file.
3879
3880 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
3881 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
3882 `<grub/util/libnvpair.h>'.
3883 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
3884
3885 (find_mount_point_from_dir): New static function.
3886 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
3887 function.
3888 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
3889 find_root_device_from_libzfs() before ressorting to find_root_device().
3890
3891 * include/grub/util/misc.h (grub_util_init_libzfs): New function
3892 prototype.
3893 * util/misc.c: Include `<grub/util/libzfs.h>'.
3894 (grub_util_init_libzfs): New function.
3895 [HAVE_LIBZFS] (libzfs_handle): New global variable.
3896 [HAVE_LIBZFS] (fini_libzfs): New static function.
3897 (grub_util_init_libzfs): New function.
3898 * util/grub-probe.c (main): Call grub_util_init_libzfs().
3899
f7790cdd
RM
39002010-07-30 Robert Millan <rmh@gnu.org>
3901
3902 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
3903 (xmalloc, xrealloc, xstrdup, xasprintf): Add
3904 `warn_unused_result' attribute.
3905 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
3906 (grub_xasprintf, grub_xvasprintf): Likewise.
3907 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
3908
0806b63c
RM
39092010-07-29 Robert Millan <rmh@gnu.org>
3910
3911 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
3912 (probe): Handle `PRINT_FS_LABEL'.
3913 (main): Handle `-t fs_label'.
3914
9f841f5c
RM
39152010-07-29 Robert Millan <rmh@gnu.org>
3916
3917 * configure.ac: Remove grub-mkisofs checks.
3918
46371121
VS
39192010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * util/ieee1275/grub-install.in: Don't use empty grub_device.
3922 Reported by: Lennart Sorensen.
3923
39242010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
3927 prior to terminal_input/terminal_output separation. It's been over 1.5
3928 years and those versions weren't widely deployed.
3929
a9600892
CW
39302010-07-22 Colin Watson <cjwatson@ubuntu.com>
3931
3932 * disk/raid.c (insert_array): Don't count named arrays when looking
3933 for unused array numbers.
697e053c 3934 Reported and tested by: Michael Guntsche.
a9600892 3935
c03507df
CW
39362010-07-20 Colin Watson <cjwatson@ubuntu.com>
3937
3938 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
3939 implementation of this so that grub-emu links again, with a note
3940 that this should support hotplugging in the future.
3941
b26f1c11
CW
39422010-07-20 Colin Watson <cjwatson@ubuntu.com>
3943
3944 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3945
efc9d7f1
CW
39462010-07-20 Colin Watson <cjwatson@ubuntu.com>
3947
3948 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
3949 handle on failure.
3950 (grub_loopback_close): Remove empty function.
3951 (grub_loopback_dev): Remove close method.
3952
dd8ff5c9
CW
39532010-07-20 Colin Watson <cjwatson@ubuntu.com>
3954
3955 Disable EFI cursor when the EFI console becomes inactive.
3956
3957 * term/efi/console.c (grub_efi_console_init): New function.
3958 (grub_efi_console_fini): New function.
3959 (grub_console_term_output): Register init and fini methods.
3960
5e3bec67
VS
39612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * tests/util/grub-shell-tester.in: Remove bashism and declare as
3964 sh script.
3965
afaec079
VS
39662010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * disk/loopback.c (grub_loopback): Replace filename with file.
3969 (delete_loopback): Handle new semantics.
3970 (grub_cmd_loopback): Likewise.
3971 (grub_loopback_iterate): Likewise.
3972 (grub_loopback_close): Likewise.
3973
a6a11f3c
VS
39742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
3977 with -p "".
3978 Reported by: Tito Keitel.
3979
64a638b0
VS
39802010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * docs/grub.texi (Naming convention): Document new naming convention.
3983
ab8ba957
VS
39842010-07-20 Vadim Solomin <vadic052@gmail.com>
39852010-07-20 Colin Watson <cjwatson@ubuntu.com>
3986
3987 Generate device.map in something closer to the old ordering.
3988
3989 * util/deviceiter.c (struct device): New declaration.
3990 (compare_file_names): Rename to ...
3991 (compare_devices): ... this. Sort by kernel name in preference to
3992 the stable by-id name, but keep the latter as a fallback comparison.
3993 Update header comment.
3994 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
3995 of `struct device' rather than of plain file names.
3996
a29d6a4b
TF
39972010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
3998
3999 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
4000 on i386.
4001
39d824e8
VS
40022010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * commands/acpi.c (setup_common_tables): Use sizeof instead of
4005 hardcoding size.
4006 (setv1table): Likewise.
4007
f058276b
FZ
40082010-07-20 Colin Watson <cjwatson@ubuntu.com>
4009
4010 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
4011 removing the homehost if present.
4012 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
4013 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
4014 removing the homehost if present.
4015 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
4016 if possible.
4017 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
4018
4019 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
4020 parameter. Set its pointer target to 0.
4021 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
4022 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
4023 `data_offset' value from the superblock for 1.x metadata.
4024 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
4025 data on the device.
4026 (insert_array): Record the start sector of data on the device.
4027 (grub_raid_register): Pass start_sector parameters to
4028 grub_raid_list->detect and insert_array.
4029 * include/grub/raid.h (struct grub_raid_array): Add start_sector
4030 member.
4031 (struct grub_raid): Add start_sector parameter to `detect'.
4032
4033 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
4034 __attribute__ ((packed)), leaving a comment.
4035 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
4036 (grub_mdraid_detect_09): ... here and ...
4037 (grub_mdraid_detect_1x): ... here.
4038
40392010-07-20 Peter Henn <peter.henn@web.de>
4040
4041 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
4042 chunk size and disk size, which are already given as sector counts
4043 as distinct from the 0.90 units. Fetch the correct device number
4044 from the role table instead of using the table index.
4045
40462010-07-20 Felix Zielcke <fzielcke@z-51.de>
4047
4048 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
4049 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
4050 (WriteMostly1): New macro.
4051 Set array->name to NULL for metadata format 0.90. Add support for
4052 metadata 1.x. Fix some comments.
4053 * disk/raid.c (): Add support for name based RAID arrays. Fix a
4054 few comments.
4055 * util/getroot.c (grub_util_get_grub_dev): Add support for
4056 /dev/md/name style devices.
4057
4b761da9
CW
40582010-07-20 Colin Watson <cjwatson@ubuntu.com>
4059
4060 * .bzrignore: Ignore 20_linux_xen.
4061
5771289a
CW
40622010-07-17 Colin Watson <cjwatson@ubuntu.com>
4063
4064 * util/import_unicode.py: Remove unnecessary imports.
4065
5dab68df
AN
40662010-07-17 Aleš Nesrsta <starous@volny.cz>
4067
4068 Hotplugging and USB hub support.
4069
4070 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
4071 (grub_ohci): Likewise.
4072 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
4073 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
4074 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
4075 (GRUB_OHCI_CTRL_EDS): Likewise.
4076 (GRUB_OHCI_BULK_EDS): Likewise.
4077 (GRUB_OHCI_TDS): Likewise.
4078 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
4079 (grub_ohci_ed_phys2virt): New function.
4080 (grub_ohci_virt_to_phys): Likewise.
4081 (grub_ohci_td_phys2virt): Likewise.
4082 (grub_ohci_td_virt2phys): Likewise.
4083 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
4084 attachment.
4085 (grub_ohci_find_ed): New function.
4086 (grub_ohci_alloc_td): Likewise.
4087 (grub_ohci_free_td): Likewise.
4088 (grub_ohci_free_tds): Likewise.
4089 (grub_ohci_transfer): Use previously allocated memory.
4090 (grub_ohci_portstatus): Reset status changed bit.
4091 (grub_ohci_detect_dev): Supply status changed.
4092 (grub_ohci_fini_hw): Free memory.
4093 (grub_ohci_restore_hw): Reallocate memory.
4094 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
4095 Reset status change.
4096 (grub_uhci_detect_dev): Supply status_change.
4097 * bus/usb/usb.c (attach_hooks): New var.
4098 (grub_usb_device_attach): New function.
4099 (grub_usb_register_attach_hook_class): Likewise.
4100 (grub_usb_unregister_attach_hook_class): Likewise.
4101 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
4102 (grub_usb_add_hub): Reset connection changed bit.
4103 (attach_root_port): New function.
4104 (grub_usb_root_hub): Likewise.
4105 (poll_nonroot_hub): Likewise.
4106 (grub_usb_poll_devices): Likewise.
4107 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
4108 * disk/usbms.c (grub_usbms_open): Use device hooks.
4109 (grub_usbms_iterate) :Poll devices.
4110 (grub_usbms_finddevs): Split into ...
4111 (grub_usbms_attach): ... this ...
4112 (grub_usbms_attach): ... and this.
4113 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
4114 in detect_dev.
4115 (grub_usb_interface): New fields attached and detach_hook.
4116 (grub_usb_attach_hook_class): New type.
4117 (grub_usb_attach_desc): New struct.
4118 (grub_usb_register_attach_hook_class): New function.
4119 (grub_usb_unregister_attach_hook_class): Likewise.
4120 (grub_usb_poll_devices): Likewise.
4121 (grub_usb_device_attach): Likewise.
4122 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
4123 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
4124
3222efaf
VS
41252010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
4128 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
4129 delta determination style. Works with most NetBSD partitions too.
4130
139b714a
VS
41312010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
4134 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
4135
986aad56
VS
41362010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
4139
99be513c
AB
41402010-07-14 Anton Blanchard <anton@samba.org>
4141
4142 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
4143 ET_DYN files.
4144
18075f62
GS
41452010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4146
4147 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
4148
8d9a5b15
GS
41492010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4150
4151 * kern/partition.c (grub_partition_check_containment): New function to
4152 check that a partition is physically contained in a parent. Since
4153 offsets are relative (and non-negative), this reduces to checking that
4154 the partition ends before its parent.
4155 (grub_partition_map_probe): Discard out-of-range sub-partitions.
4156 (grub_partition_iterate): Likewise.
4157 * include/grub/partition.h (grub_partition_map): Slightly more detailed
4158 comments.
4159 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
4160 partitions that start before their parent, and add debug printfs.
4161
19563c25
CW
41622010-07-13 Colin Watson <cjwatson@ubuntu.com>
4163
4164 * Makefile.in (.SUFFIX): Spell correctly, as ...
4165 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
4166 bare module name without `.mod', e.g. `test') tried to invoke a
4167 Modula-2 compiler.
4168
1a1f1e67
CW
41692010-07-13 Colin Watson <cjwatson@ubuntu.com>
4170
4171 * README: Point to the Info manual.
4172
811b0dca
JS
41732010-07-13 Jiro SEKIBA <jir@unicus.jp>
4174
4175 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
4176 2nd superblock position from partition size.
4177
e4f4eafc
CW
41782010-07-10 Colin Watson <cjwatson@ubuntu.com>
4179
4180 * Makefile.in (MAINTAINER_CLEANFILES): Remove
4181 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
4182 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
4183 outputs.
4184
4274c30f
VS
41852010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 Restructure SCSI .id handling.
4188 Reported and tested by: Aleš Nesrsta.
4189
4190 * disk/ata.c (grub_atapi_close): Removed. All users updated.
4191 (grub_atapi_dev): Changed .name to "ata". New field .id.
4192 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
4193 (grub_usbms_dev): New field .id.
4194 * disk/scsi.c (grub_scsi_iterate): Generate name.
4195 (grub_scsi_open): Parse name.
4196 * include/grub/scsi.h (grub_make_scsi_id): New function.
4197 (grub_scsi_dev): Change iterate and open to number instead of naming
4198 busses. All users updated.
4199 (grub_scsi): Remove name. Add .bus.
4200
5bc24388
VS
42012010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * commands/help.c (grub_cmd_help): Fix a typo.
4204
249975ba
VS
42052010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
4208 Reported and tested by: Colin Watson.
4209
3eaac1a1
VS
42102010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
4213 in this context.
4214
becce1b1
VS
42152010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
4218
f7bf0918
CW
42192010-07-07 Colin Watson <cjwatson@ubuntu.com>
4220
4221 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
4222 indentation.
4223
0b0f9620
CW
42242010-07-06 Colin Watson <cjwatson@ubuntu.com>
4225
4226 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
4227 and disk/raid6_recover.c.
4228 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4229 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4230
1e545469
CW
42312010-07-06 Colin Watson <cjwatson@ubuntu.com>
4232
4233 * term/gfxterm.c (repaint_schedulded): Rename to ...
4234 (repaint_scheduled): ... this. Update all callers.
4235 (repaint_was_schedulded): Rename to ...
4236 (repaint_was_scheduled): ... this. Update all callers.
4237
5357687a
CW
42382010-07-06 Colin Watson <cjwatson@ubuntu.com>
4239
4240 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
4241 which we expect to be handled by upper layers.
4242
29d7e783
BC
42432010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
4244
4245 * bus/usb/usbhub.c: #include time.h header.
4246
37582066
CW
42472010-07-06 Colin Watson <cjwatson@ubuntu.com>
4248
4249 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
4250 entry_name also for entries without stat blocks (e.g. ".."); fixes
4251 corruption of the first entry in a directory.
4252
c8c06953
CW
42532010-07-06 Colin Watson <cjwatson@ubuntu.com>
4254
4255 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
4256 after setting gfxterm as the active terminal. GRUB_BACKGROUND
4257 doesn't work otherwise.
4258
e75056f1
CW
42592010-07-05 Colin Watson <cjwatson@ubuntu.com>
4260
4261 * docs/grub.texi (Features): Update list of supported file systems.
4262 (GNU/Linux): Update for GRUB 2.
4263 (Serial terminal): Remove mention of --disable-serial, which was a
4264 GRUB Legacy configure option. Update instructions to use
4265 `terminal_input' and `terminal_output' rather than `terminal'.
4266 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
4267 configuration' and `Installing GRUB using grub-install'.
4268 (Menu entry editor): Update for GRUB 2.
4269 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
4270 Document new -a, -u, and -v options.
4271 (initrd): New section.
4272 (initrd16): New section.
4273 (linux): New section.
4274 (linux16): New section.
4275 (search): The `var' argument to `--set' is optional.
4276 (GRUB only offers a rescue shell): Go into a little more detail on
4277 drive ordering.
4278
5cf69151
CW
42792010-07-05 Colin Watson <cjwatson@ubuntu.com>
4280
4281 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
4282
e3f90044
CW
42832010-07-05 Colin Watson <cjwatson@ubuntu.com>
4284
4285 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
4286 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
4287
38d8f4f3
CW
42882010-07-05 Colin Watson <cjwatson@ubuntu.com>
4289
4290 * util/i386/pc/grub-setup.c (setup): Rename prefix to
4291 install_prefix, in line with install_dos_part and install_bsd_part.
4292 Add new prefix variable, which is copied to install_prefix after
4293 comparing core.img in memory with the one read from disk in the
4294 no-embedding case, and use that rather than overwriting
4295 install_prefix immediately when installing to a partition.
4296 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
4297 Bicakci.
4298
57ebd41e
GS
42992010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4300
4301 * configure.ac: Avoid == in test command, it's not portable.
4302 * util/grub.d/30_os-prober.in: Likewise.
4303
cb7f64b2
CW
43042010-07-04 Colin Watson <cjwatson@ubuntu.com>
4305
4306 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
4307
6b654bb0
GS
43082010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4309
4310 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
4311 multiple (top-level) partmaps.
4312
72a2026d
VS
43132010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 4316 Reported by: Tino Keitel.
72a2026d 4317
df3eb88f
VS
43182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 Bidi and diacritics support.
4321
4322 * Makefile.in (widthspec.bin): New target.
4323 (widthspec.h): Likewise.
4324 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
4325 * autogen.sh: Generate unidata.c.
4326 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
4327 * commands/ls.c (grub_ls_list_devices): Likewise.
4328 (grub_ls_list_files): Likewise.
4329 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
4330 (grub_mini_cmd_lsmod): Likewise.
4331 * commands/read.c: Likewise.
4332 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
4333 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
4334 * lib/arg.c (grub_arg_show_help): Likewise.
4335 * lib/crypto.c (grub_password_get): Likewise.
4336 * normal/auth.c (grub_username_get): Likewise.
4337 * normal/misc.c (grub_normal_print_device_info): Likewise.
4338 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
4339 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
4340 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
4341 (normal/charset.c_DEPENDENCIES): New variable.
4342 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
4343 (pkglib_MODULES): Remove charset.mod.
4344 (charset_mod_SOURCES): Removed.
4345 (charset_mod_CFLAGS): Likewise.
4346 (charset_mod_LDFLAGS): Likewise.
4347 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
4348 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
4349 and term/tparm.c.
4350 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4351 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4352 (kernel_img_HEADERS): Add terminfo.h.
4353 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
4354 Fill ->font. Reverse ascii bitmaps.
4355 (grub_font_get_xheight): New function.
4356 * font/font.c (grub_font_get_string_width): Moved from here ...
4357 * gfxmenu/font.c (grub_font_get_string_width): ... here.
4358 * font/font.c (grub_font_draw_string): Moved from here ...
4359 * gfxmenu/font.c (grub_font_draw_string): ... here.
4360 * font/font.c (grub_font_dup_glyph): New function.
4361 (grub_font_blit_glyph): Likewise.
4362 (grub_font_blit_glyph_mirror): Likewise.
4363 (blit_comb): Likewise.
4364 (grub_font_construct_dry_run): Likewise.
4365 (grub_font_get_constructed_device_width): Likewise.
4366 (grub_font_construct_glyph): Likewise.
4367 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
4368 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
4369 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
4370 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
4371 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
4372 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
4373 (grub_font_get_xheight): New proto.
4374 (grub_font_get_constructed_device_width): Likewise.
4375 (grub_font_construct_glyph): Likewise.
4376 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
4377 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
4378 * include/grub/font.h (grub_font_draw_string): Moved from here ...
4379 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
4380 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
4381 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
4382 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
4383 (grub_console_getcharwidth): Likewise.
4384 * include/grub/misc.h (grub_xputs): New proto.
4385 (grub_puts): Inlined.
4386 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
4387 (grub_normal_get_line_counter): Removed.
4388 (grub_install_newline_hook): Likewise.
4389 (grub_normal_get_char_counter): New proto.
4390 (grub_normal_reset_more): Likewise.
4391 (grub_xputs_normal): Likewise.
4392 * include/grub/powerpc/ieee1275/console.h: Removed.
4393 * include/grub/sparc64/ieee1275/console.h: Likewise.
4394 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
4395 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
4396 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
4397 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
4398 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
4399 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
4400 (grub_term_input): Pass reference to self. All users updated.
4401 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
4402 Pass reference to self. New fields normal_color, highlight_color and
4403 data. All users updated.
4404 (grub_putchar): Removed.
4405 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
4406 (grub_unicode_estimate_width): New function.
4407 (grub_term_getcharwidth): Add defaults.
4408 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
4409 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
4410 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
4411 (grub_cls): Remove EXPORT_FUNC.
4412 (grub_setcolorstate): Inline.
4413 (grub_newline_hook): Removed.
4414 * include/grub/terminfo.h: Rewritten. All users updated.
4415 * include/grub/unicode.h: New file.
4416 * include/grub/video.h (grub_video_signed_rect): New type.
4417 * kern/emu/console.c (grub_console_highlight_color): Removed.
4418 (grub_console_normal_color): Likewise.
4419 (grub_console_standard_color): Made static.
4420 (grub_ncurses_putchar): Remove mapping.
4421 (grub_ncurses_getcharwidth): Removed.
4422 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4423 (grub_ncurses_setcolor): Removed.
4424 (grub_ncurses_getcolor): Likewise.
4425 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
4426 (grub_console_putchar): ... this.
4427 (grub_console_putchar): Handle argument difference.
4428 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
4429 console_init_early and console_init_lately.
4430 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
4431 * kern/misc.c (grub_puts): Removed.
4432 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
4433 (grub_vsnprintf_real): Remove str = NULL support.
4434 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
4435 * normal/charset.c (grub_utf8_to_ucs4): ... here.
4436 * kern/term.c (grub_putcode): Renamed to ...
4437 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
4438 (grub_putchar): Removed.
4439 (grub_xputs_dumb): New function.
4440 (grub_xputs): New variable.
4441 * lib/charset.c: Move from here ...
4442 * normal/charset.c: ... to here.
4443 (grub_ucs4_to_utf8): New function.
4444 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
4445 (join_types): New variable.
4446 (unpack_join): New function.
4447 (bidi_types): New variable.
4448 (unpack_bidi): New function.
4449 (get_bidi_type): Likewise.
4450 (get_join_type): Likewise.
4451 (is_mirrored): Likewise.
4452 (grub_unicode_get_comb_type): Likewise.
4453 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
4454 (is_type_after): Likewise.
4455 (grub_unicode_aglomerate_comb): Likewise.
4456 (bidi_line_wrap): Likewise.
4457 (grub_bidi_line_logical_to_visual): Likewise.
4458 (grub_bidi_logical_to_visual): Likewise.
4459 (grub_unicode_mirror_code): Likewise.
4460 (grub_unicode_shape_code): Likewise.
4461 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
4462 Don't use grub_putchar.
4463 * normal/main.c (grub_normal_init_page): Use grub_putcode.
4464 (grub_normal_reader_init): Likewise.
4465 (grub_xputs_saved): New variable.
4466 (GRUB_MOD_INIT): Set grub_xputs.
4467 (GRUB_MOD_FINI): Restore grub_xputs.
4468 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
4469 (menu_init): Avoid printing gfxmenu error.
4470 (show_menu): Use grub_normal_get_char_counter.
4471 * normal/menu_entry.c (update_screen): Fix out-of-array.
4472 (complete): Avoid NULL dereferencing.
4473 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
4474 * normal/menu_text.c (print_spaces): Removed.
4475 (grub_print_ucs4): Likewise.
4476 (grub_print_message_indented): Use grub_print_ucs4.
4477 (print_message): Use grub_putcode.
4478 (print_entry): Hanlde diacritics.
4479 * normal/term.c (term_state): New type.
4480 (grub_more_lines): Removed.
4481 (term_states): New variable.
4482 (grub_normal_line_counter): Renamed to ..
4483 (grub_normal_char_counter): ...this. All users updated.
4484 (grub_normal_get_line_counter): Renamed to ...
4485 (grub_normal_get_char_counter): ... this.
4486 (grub_normal_reset_more): New function.
4487 (process_newline): Removed.
4488 (print_more): New function.
4489 (grub_install_newline_hook): Removed.
4490 (map_code): New function.
4491 (grub_puts_terminal): Use grub_print_ucs4.
4492 (putglyph): New function.
4493 (putcode_real): Likewise.
4494 (grub_putcode): Use putcode_real.
4495 (get_maxwidth): New function.
4496 (get_startwidth): Likewise.
4497 (print_ucs4_terminal): Likewise.
4498 (find_term_state): Likewise.
4499 (put_glyphs_terminal): Likewise.
4500 (print_backlog): Likewise.
4501 (print_ucs4_real): Likewise.
4502 (grub_print_ucs4): Likewise.
4503 (grub_xputs_normal): Likewise.
4504 * term/efi/console.c (grub_console_putchar): Output diacritics.
4505 (grub_console_getcharwidth): Removed.
4506 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4507 * term/gfxterm.c (clear_char): Free chars.
4508 (scroll_up): Avoid leaking memory.
4509 (grub_gfxterm_putchar): Support diacritics.
4510 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4511 * term/i386/pc/console.c (grub_console_term_output): Declare as
4512 GRUB_TERM_CODE_TYPE_VGA.
4513 * term/i386/pc/vga.c (grub_vga_term): Declare as
4514 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
4515 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
4516 GRUB_TERM_CODE_TYPE_VGA.
4517 * term/i386/vga_common.c (map_char): Removed.
4518 (grub_console_putchar): Likewise.
4519 (grub_console_getcharwidth): Likewise.
4520 * term/ieee1275/ofconsole.c: Simplify using terminfo.
4521 (colors): Reordered to match terminfo.
4522 (grub_ofconsole_normal_color): Removed.
4523 (grub_ofconsole_writeesc): Likewise.
4524 (grub_ofconsole_highlight_color): Likewise.
4525 (grub_ofconsole_getcharwidth): Likewise.
4526 (grub_ofconsole_setcolorstate): Likewise.
4527 (grub_ofconsole_setcolor): Likewise.
4528 (grub_ofconsole_getcolor): Likewise.
4529 (grub_ofconsole_readkey): Renamed to ...
4530 (readkey): ... this. Remove escape sequence handling. Return -1 on no
4531 key.
4532 (grub_ofconsole_checkkey): Removed.
4533 (grub_ofconsole_getkey): Likewise.
4534 (grub_ofconsole_getxy): Likewise.
4535 (grub_ofconsole_gotoxy): Likewise.
4536 (grub_ofconsole_cls): Likewise.
4537 (grub_ofconsole_refresh): Likewise.
4538 (grub_ofconsole_terminfo_input): New struct.
4539 (grub_ofconsole_terminfo_output): Likewise.
4540 (grub_ofconsole_term_input): Use terminfo.
4541 (grub_ofconsole_term_output): Likewise.
4542 (grub_console_init): Split into ...
4543 (grub_console_init_early): ...this and ...
4544 (grub_console_init_lately): ...this. Use terminfo.
4545 (grub_ofconsole_putchar): Renamed to ...
4546 (put): ... this. Remove mapping.
4547 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4548 * term/serial.c: Simplify using terminfo.
4549 (xpos): Removed.
4550 (ypos): Likewise.
4551 (keep_track): Likewise.
4552 (registered): Likewise.
4553 (input_buf): Likewise.
4554 (npending): Likewise.
4555 (serial_translate_key_sequence): Likewise.
4556 (fill_input_buf): Likewise.
4557 (grub_serial_checkkey): Likewise.
4558 (grub_serial_getkey): Likewise.
4559 (grub_serial_getxy): Likewise.
4560 (grub_serial_gotoxy): Likewise.
4561 (grub_serial_putchar): Likewise.
4562 (grub_serial_cls): Likewise.
4563 (grub_serial_setcolorstate): Likewise.
4564 (grub_serial_setcursor): Likewise.
4565 (serial_hw_init): Use serial_hw_fetch.
4566 (grub_serial_terminfo_input): New variable.
4567 (grub_serial_terminfo_output): Likewise.
4568 (grub_serial_term_input): Use terminfo.
4569 (grub_serial_term_output): Likewise.
4570 * term/terminfo.c (putstr): Use put.
4571 (grub_terminfo_all_free): New function
4572 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
4573 (grub_terminfo_output_register): New function.
4574 (grub_terminfo_output_unregister): Likewise.
4575 (grub_terminfo_getxy): Likewise.
4576 (grub_terminfo_readkey): Likewise.
4577 (grub_terminfo_checkkey): Likewise.
4578 (grub_terminfo_getkey): Likewise.
4579 (grub_terminfo_input_init): Likewise.
4580 (print_terminfo): Likewise.
4581 (grub_cmd_terminfo): Handle encoding.
4582 (grub_terminfo_gotoxy): Track position.
4583 (grub_terminfo_cls): Likewise.
4584 (grub_terminfo_putchar): Likewise.
4585 (grub_terminfo_setcolorstate): Handle colors
4586 (grub_terminfo_cursor_on): This ...
4587 (grub_terminfo_cursor_off): ... and this merged into ...
4588 (grub_terminfo_setcursor): ... this.
4589 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
4590 * unicode/ArabicShaping.txt: New file (imported from Unicode).
4591 * unicode/BidiMirroring.txt: Likewise.
4592 * unicode/UnicodeData.txt: Likewise.
4593 * unicode/COPYING: Likewise.
4594 * util/grub-editenv.c (grub_putchar): Removed.
4595 (grub_xputs_real): New function.
4596 (grub_xputs): New variable.
4597 * util/grub-fstest.c (grub_putchar): Removed.
4598 (grub_xputs_real): New function.
4599 (grub_xputs): New variable.
4600 * util/grub-mkdevicemap.c (grub_putchar): Removed.
4601 (grub_xputs_real): New function.
4602 (grub_xputs): New variable.
4603 * util/grub-probe.c (grub_putchar): Removed.
4604 (grub_xputs_real): New function.
4605 (grub_xputs): New variable.
4606 * util/grub-script-check.c (grub_putchar): Removed.
4607 (grub_xputs_real): New function.
4608 (grub_xputs): New variable.
4609 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
4610 (grub_xputs_real): New function.
4611 (grub_xputs): New variable.
4612 * util/import_unicode.py: New file.
4613 * util/grub-mkfont.c (ft_errmsgs): New array.
4614 (grub_glyph_info): Make bitmap a pointer.
4615 (file_formats): New type WIDTH_SPEC.
4616 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
4617 (options): Add width-spec.
4618 (help): Likewise.
4619 (add_char): Renamed to ...
4620 (add_glyph): ... this.
4621 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
4622 (glyph_replace): New type.
4623 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
4624 (add_char): New function.
4625 (add_subst): Likewise.
4626 (process_cursive): Likewise.
4627 (add_font): Handle GSUB.
4628 (write_font_width_spec): New function.
4629 (main): Sort glyphs.
4630 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
4631 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
4632 * kern/term.c (grub_cls): Moved from here...
4633 * normal/term.c (grub_cls): ... here.
4634
50f0bcda
CW
46352010-07-02 Colin Watson <cjwatson@ubuntu.com>
4636
4637 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
4638 suitable for using within the format argument of printf when
4639 converting grub_size_t.
4640 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
4641 "x" to convert grub_size_t arguments.
4642
40372103
VS
46432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
4646 too long captions.
4647 (list_get_minimal_size): Take selection box into account.
4648
942a10c7
VS
46492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
4652 NULL font.
4653
2bdb2892
CW
46542010-07-02 Colin Watson <cjwatson@ubuntu.com>
4655
4656 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
4657 devices when iterating over /dev/disk/by-id; they will be handled
4658 later if appropriate, which they aren't always (e.g. LVM).
4659
e03ed6c1
CW
46602010-07-02 Colin Watson <cjwatson@ubuntu.com>
4661
4662 * include/grub/misc.h (grub_reboot): Declare as noreturn.
4663 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
4664 fails.
4665 (grub_halt): Likewise.
4666 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
4667 reset-all fails.
4668 (grub_halt): Don't return, even if all of shut-down, power-off, and
4669 poweroff fail.
4670
47695765
CW
46712010-07-02 Colin Watson <cjwatson@ubuntu.com>
4672
4673 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
4674 arguments, not three.
4675
507736c8
CW
46762010-07-02 Colin Watson <cjwatson@ubuntu.com>
4677
4678 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
4679 * util/grub.d/10_linux.in: Use it to check for LVM, so that
4680 LVM-on-RAID is handled correctly.
4681
e3c8cd37
CW
46822010-07-02 Colin Watson <cjwatson@ubuntu.com>
4683
4684 * docs/grub.texi (Changes from GRUB Legacy): New section.
4685 (Future): Fix typo.
4686
8d4a2fec
CW
46872010-07-02 Colin Watson <cjwatson@ubuntu.com>
4688
4689 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
4690 grub.d/README accidentally ends up executable for one reason or
4691 another. Ignore it.
4692
1c4827be
VS
46932010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
4696 (gpt_partition_map_iterate): Support non-512B sectors.
4697
d9a0c941
VS
46982010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * kern/efi/init.c (grub_efi_init): Disable watchdog.
4701 Tested by: Seth Goldberg.
4702
48f27e87
VS
47032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
4706 Properly align mbi.
4707 Reported by: Seth Goldberg.
4708
b0c4f956
VS
47092010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * util/grub-mkrescue.in: Avoid module duplication.
4712
105a2e8c
SF
47132010-07-01 Sean Finney <seanius@seanius.net>
4714
4715 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
4716
5944958c
SF
47172010-07-01 Sean Finney <seanius@seanius.net>
4718
4719 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
4720
47212010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * disk/lvm.c (grub_lvm_checkvalue): New function.
4724 (grub_lvm_check_flag): Likewise.
4725
b79889ba
RM
47262010-07-01 Robert Millan <rmh@gnu.org>
4727
4728 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
4729 Support 'p' as partition separator on kernel of FreeBSD (used
4730 with GPT labels).
4731 (grub_util_biosdisk_get_grub_dev): Likewise.
4732
ec1d04f1
VS
47332010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 Yeeloong firmware port.
4736
4737 * boot/mips/yeeloong/fwstart.S: New file.
4738 * bus/cs5536.c (gpiodump): New const.
4739 (set_io_space): New function.
4740 (set_iod): Likewise.
4741 (set_p2d): Likewise.
4742 (grub_cs5536_init_geode): Likewise.
4743 * commands/mips/yeeloong/lsspd.c: New file.
4744 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
4745 (serial_mod_SOURCES): New variable.
4746 (serial_mod_CFLAGS): Likewise.
4747 (serial_mod_LDFLAGS): Likewise.
4748 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
4749 term/terminfo.c and term/tparm.c.
4750 (pkglib_IMAGES): Add fwstart.img.
4751 (fwstart_img_SOURCES): New variable.
4752 (fwstart_img_CFLAGS): Likewise.
4753 (fwstart_img_ASFLAGS): Likewise.
4754 (fwstart_img_LDFLAGS): Likewise.
4755 (fwstart_img_FORMAT): Likewise.
4756 (pkglib_MODULES): Add lsspd.mod.
4757 (lsspd_mod_SOURCES): New variable.
4758 (lsspd_mod_CFLAGS): Likewise.
4759 (lsspd_mod_LDFLAGS): Likewise.
4760 (pkglib_MODULES): Add halt.mod.
4761 (halt_mod_SOURCES): New variable.
4762 (halt_mod_CFLAGS): Likewise.
4763 (halt_mod_LDFLAGS): Likewise.
4764 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
4765 (serial_mod_SOURCES): Removed.
4766 (serial_mod_CFLAGS): Likewise.
4767 (serial_mod_LDFLAGS): Likewise.
4768 * disk/ata.c (check_device): New function.
4769 (grub_ata_device_initialize): Use check_device.
4770 (grub_ata_iterate): Recheck devices.
4771 (grub_ata_open): Likewise.
4772 (grub_atapi_iterate): Likewise.
4773 (grub_atapi_open): Likewise.
4774 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
4775 (GRUB_ATA_CH1_PORT1): Likewise.
4776 (GRUB_ATA_CH0_PORT2): Likewise.
4777 (GRUB_ATA_CH1_PORT2): Likewise.
4778 * include/grub/mips/loongson.h: New file.
4779 * include/grub/mips/yeeloong/ec.h: Likewise.
4780 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
4781 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
4782 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
4783 * include/grub/misc.h (grub_halt): Declare as noreturn.
4784 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
4785 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
4786 (UART_ENABLE_FIFO_TRIGGER1): New definition.
4787 (UART_ENABLE_DTRRTS): Likewise.
4788 (UART_ENABLE_MODEM): Removed.
4789 (UART_ENABLE_OUT2): New const.
4790 * include/grub/term.h (grub_term_register_input_active): New function.
4791 (grub_term_register_output_active): Likewise.
4792 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
4793 argument.
4794 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
4795 (init_pci): New function.
4796 (grub_machine_init): Execute platform init when firmware. Init serial.
4797 (grub_halt): Implement.
4798 (grub_exit): Likewise.
4799 (grub_reboot): Likewise.
4800 * term/serial.c (serial_hw_init): Update macros.
4801 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
4802 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
4803 (image_targets): New target mipsel-yeeloong-flash.
4804 (generate_image): Support IMAGE_YEELOONG_FLASH.
4805 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
4806 (grub_video_sm712_setup): Init card.
4807 (grub_video_sm712_set_palette): Removed.
4808 * video/sm712_init.c: New file.
4809
ff4a70d2
CW
48102010-06-30 Colin Watson <cjwatson@ubuntu.com>
4811
4812 * Makefile.in (install-local): Temporarily prepend $(builddir) to
4813 PATH when running help2man and then run it on the unadorned
4814 executable names, rather than passing $(builddir)/* paths to
4815 help2man. This avoids the build directory ending up in generated
4816 manual pages.
4817
1246efeb
CW
48182010-06-29 Colin Watson <cjwatson@ubuntu.com>
4819
4820 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
4821 to avoid accidents when debugging with 'sh -x'.
4822 * util/grub-mkrescue.in: Likewise.
4823 * util/grub.d/00_header.in: Likewise.
4824 * util/grub.d/10_hurd.in: Likewise.
4825 * util/grub.d/10_kfreebsd.in: Likewise.
4826 * util/grub.d/10_linux.in: Likewise.
4827 * util/grub.d/10_netbsd.in: Likewise.
4828 * util/grub.d/10_windows.in: Likewise.
4829 * util/grub.d/20_linux_xen.in: Likewise.
4830 * util/grub.d/30_os-prober.in: Likewise.
4831 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4832
1ba9b889
CW
48332010-06-29 Colin Watson <cjwatson@ubuntu.com>
4834
4835 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
4836 last character in the buffer.
4837 Reported by: Vladimir Serbinenko.
4838
dccaf99d
RM
48392010-06-29 Robert Millan <rmh@gnu.org>
4840
4841 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
4842 (Command-line and menu entry commands): Document `badram' command.
4843
d500ed12
RM
48442010-06-28 Robert Millan <rmh@gnu.org>
4845
4846 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
4847 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
4848 command using ${GRUB_BADRAM} as parameter.
4849
20bc84a6
CW
48502010-06-28 Colin Watson <cjwatson@ubuntu.com>
4851
4852 * docs/grub.texi (Device map): New section.
4853 (Themes): New section (stub).
4854 * Makefile.in (docs/grub.info): The info documentation now builds
4855 without errors. Make sure it stays that way.
4856
4045dee1
VS
48572010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 Use normal parser for menu entries.
4860 Reported by: Thomas Frauendorfer
4861
4862 * include/grub/parser.h (grub_parser_execute): Don't export.
4863 * normal/menu.c (grub_menu_execute_entry_real): New function.
4864 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
4865
bca58c7b
CW
48662010-06-28 Colin Watson <cjwatson@ubuntu.com>
4867
4868 * docs/grub.texi (Embedded configuration): New section (replacing
4869 old "Preset Menu" stub).
4870 (Images): New section.
4871 (configfile): Note that any menu entries defined in `file' are shown
4872 immediately.
4873
dec53e63
JT
48742010-06-28 Josh Triplett <josh@joshtriplett.org>
4875
4876 * mmap/i386/pc/mmap_helper.S: Set CF on return.
4877
c06e40f7
CW
48782010-06-28 Colin Watson <cjwatson@ubuntu.com>
4879
4880 * util/grub-install.in: Add --debug-image= option.
4881
cb88052b
CW
48822010-06-28 Colin Watson <cjwatson@ubuntu.com>
4883
4884 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
4885 possible on Linux.
4886
4887 * util/deviceiter.c (check_device): Rename to ...
4888 (check_device_readable_unique): ... this. Update all callers.
4889 Maintain and check a list of which devices (by canonicalized name)
4890 have already been seen.
4891 (clear_seen_devices): New function.
4892 (compare_file_names) [__linux__]: New function.
4893 (grub_util_iterate_devices): Clear the list of seen devices on exit
4894 and (just in case) on entry.
4895 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
4896 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
4897 seen-devices list, superseded by general code in check_device.
4898
bbe34652
CW
48992010-06-28 Colin Watson <cjwatson@ubuntu.com>
4900
4901 * commands/cat.c (options): New variable.
4902 (grub_cmd_cat): Parse options. If the --dos option is given, print
4903 DOS-style "\r\n" line endings as simple newlines (Debian bug
4904 #586358).
4905 (GRUB_MOD_INIT): Use extcmd.
4906 (GRUB_MOD_FINI): Likewise.
4907 * docs/grub.texi (cat): Document --dos.
4908
412e09f3
VS
49092010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 XEN with Linux grub-mkconfig support.
4912
4913 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
4914 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
4915 GRUB_CMDLINE_XEN_DEFAULT.
4916 * util/grub.d/20_linux_xen.in: New file.
4917
53f3ef38 49182010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
4919
4920 Initialise VGA video on qemu ourselves.
4921
4922 * boot/i386/qemu/boot.S: Don't call 0xc000.
4923 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
4924 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
4925 (kernel_img_HEADERS): Add pci.h.
4926 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
4927 * configure.ac: Force unifont on qemu and yeeloong.
4928 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
4929 (grub_vga_palette_write): Use correct register.
4930 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
4931 Call grub_qemu_init_cirrus.
4932 * kern/i386/qemu/init.c: New file.
4933 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
4934
4935 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
4936
c75be4fb
PR
49372010-06-26 Pavel Roskin <proski@gnu.org>
4938
4939 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
4940 13.
4941
d8034603
CW
49422010-06-26 Colin Watson <cjwatson@ubuntu.com>
4943
4944 * docs/grub.texi (Simple configuration): Explain that
4945 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
4946 set to `true' to disable their respective recovery entries, not
4947 merely set.
4948
3fa06487
CW
49492010-06-26 Colin Watson <cjwatson@ubuntu.com>
4950
4951 Make the `source' command slightly faster.
4952
4953 * normal/main.c (grub_normal_execute): Don't re-read list files when
4954 nested.
4955
e9b29642
CW
49562010-06-23 Colin Watson <cjwatson@ubuntu.com>
4957
4958 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
4959 field position and mask size to red fields from mode_info, not
4960 green.
4961 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
4962 Remove redundant tag->common.framebuffer_type assignment.
4963 Reported by: Seth Goldberg.
4964
e726542f
CW
49652010-06-23 Colin Watson <cjwatson@ubuntu.com>
4966
4967 Sync up other versions of the Linux loader with Robert Millan's
4968 change of 2010-01-09, "Make loader output a bit more user-friendly".
4969
4970 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
4971 grub_dprintf().
4972 (grub_cmd_linux): Likewise.
4973 (grub_cmd_initrd): Likewise.
4974 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
4975 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4976
d6e98a17
CW
49772010-06-21 Colin Watson <cjwatson@ubuntu.com>
4978
4979 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
4980 larger than MEMORY_MAP_SIZE.
4981
14d3f08e
BC
49822010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
4983
4984 Fix parallel build.
4985
4986 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
4987 dependency.
4988 * script/parser.y: #include grub_script.tab.h header.
4989
4f9613a3
VS
49902010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 Support >3GiB and <16MiB RAM in i386-qemu.
4993
4994 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
4995 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
4996 (grub_lower_mem): Removed.
4997 (grub_upper_mem): Likewise.
4998 (mem_size): Made static.
4999 (above_4g): New variable.
5000 (grub_machine_mmap_init): Detect small mem_size and above_4g.
5001 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
5002 support.
5003
05e51879
VS
50042010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 Cirrus 5446 and Bochs video cards support.
5007
5008 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
5009 video_bochs.mod
5010 (video_cirrus_mod_SOURCES): New variable.
5011 (video_cirrus_mod_CFLAGS): Likewise.
5012 (video_cirrus_mod_LDFLAGS): Likewise.
5013 (video_bochs_mod_SOURCES): Likewise.
5014 (video_bochs_mod_CFLAGS): Likewise.
5015 (video_bochs_mod_LDFLAGS): Likewise.
5016 * include/grub/vga.h: New file.
5017 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
5018 (grub_video_fb_set_page_t): New type.
5019 (grub_video_fb_setup): New prototype.
5020 (grub_video_fb_swap_buffers): Likewise.
5021 (grub_video_fb_get_info_and_fini): Likewise.
5022 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
5023 (CRTC_DATA_PORT): Likewise.
5024 (CRTC_CURSOR): Likewise.
5025 (CRTC_CURSOR_ADDR_HIGH): Likewise.
5026 (CRTC_CURSOR_ADDR_LOW): Likewise.
5027 (CRTC_CURSOR_DISABLE): Likewise.
5028 (update_cursor): Use grub_vga_cr_write.
5029 (grub_vga_text_setcursor): Likewise.
5030 * video/bochs.c: New file.
5031 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
5032 (palette): Likewise.
5033 (palette_size): Likewise.
5034 (framebuffer): New variable.
5035 (grub_video_fb_init): Use 'framebuffer'.
5036 (grub_video_fb_fini): Likewise.
5037 (grub_video_fb_get_info): Likewise.
5038 (grub_video_fb_get_palette): Likewise.
5039 (grub_video_fb_set_palette): Likewise.
5040 (grub_video_fb_set_viewport): Likewise.
5041 (grub_video_fb_get_viewport): Likewise.
5042 (grub_video_fb_map_color): Likewise.
5043 (grub_video_fb_map_rgb): Likewise.
5044 (grub_video_fb_map_rgba): Likewise.
5045 (grub_video_fb_unmap_color): Likewise.
5046 (grub_video_fb_unmap_color_int): Likewise.
5047 (grub_video_fb_fill_rect): Likewise.
5048 (grub_video_fb_blit_bitmap): Likewise.
5049 (grub_video_fb_blit_render_target): Likewise.
5050 (grub_video_fb_scroll): Likewise.
5051 (grub_video_fb_create_render_target): Likewise.
5052 (grub_video_fb_doublebuf_blit_init): Likewise.
5053 (grub_video_fb_set_active_render_target): Handle doublebuffering.
5054 (doublebuf_pageflipping_update_screen): New function.
5055 (doublebuf_pageflipping_init): Likewise.
5056 (grub_video_fb_setup): Likewise.
5057 (grub_video_fb_swap_buffers): Likewise.
5058 (grub_video_fb_get_info_and_fini): Likewise.
5059 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
5060 All users updated.
5061 (doublebuf_pageflipping_commit): Restructured into ...
5062 (doublebuf_pageflipping_set_page): ... this.
5063 (doublebuf_pageflipping_update_screen): Removed.
5064 (doublebuf_pageflipping_init): Likewise.
5065 (double_buffering_init): Likewise.
5066 (grub_video_vbe_setup): Use grub_video_fb_setup.
5067 (grub_video_vbe_swap_buffers): Removed.
5068 (grub_video_vbe_set_active_render_target): Likewise.
5069 (grub_video_vbe_get_active_render_target): Likewise.
5070 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
5071 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
5072 grub_video_fb_set_active_render_target and
5073 grub_video_fb_get_active_render_target.
5074 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
5075 (SEQUENCER_DATA_PORT): Likewise.
5076 (MAP_MASK_REGISTER): Likewise.
5077 (CRTC_ADDR_PORT): Likewise.
5078 (CRTC_DATA_PORT): Likewise.
5079 (START_ADDR_HIGH_REGISTER): Likewise.
5080 (START_ADDR_LOW_REGISTER): Likewise.
5081 (GRAPHICS_ADDR_PORT): Likewise.
5082 (GRAPHICS_DATA_PORT): Likewise.
5083 (READ_MAP_REGISTER): Likewise.
5084 (INPUT_STATUS1_REGISTER): Likewise.
5085 (INPUT_STATUS1_VERTR_BIT): Likewise.
5086 (get_map_mask): Use grub_vga_sr_read.
5087 (set_map_mask): Use grub_vga_sr_write.
5088 (set_read_map): Use grub_vga_gr_write.
5089 (set_start_address): Use grub_vga_cr_write.
5090 * video/sm712.c (framebuffer): Remove leftover fields.
5091
4321c64a
CW
50922010-06-20 Colin Watson <cjwatson@ubuntu.com>
5093
5094 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
5095 setting GRUB_VIDEO_BACKEND. Make it available as a user override
5096 instead. Replace the gfxterm backend check with a check that
5097 ${GRUB_PREFIX}/video.lst is non-empty.
5098 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
5099 again.
5100 (load_video): New generated function. Call it before loading
5101 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
5102 * util/grub.d/10_linux.in (linux_entry): Call load_video.
5103 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
5104 * docs/grub.texi (Simple configuration): Document
5105 GRUB_VIDEO_BACKEND.
5106
51072010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 Use video functions in linux and xnu loaders.
5110
5111 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
5112 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
5113 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
5114 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
5115 loader/i386/pc/linux.c.
5116 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
5117 (find_line_len): Removed.
5118 (find_framebuf): Likewise.
5119 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
5120 * loader/i386/efi/xnu.c: Removed.
5121 * loader/i386/pc/xnu.c: Moved from here...
5122 * loader/i386/xnu.c: ...here.
5123
5124 Enable priorities in video drivers.
5125
5126 * include/grub/video.h (grub_video_adapter_prio_t): New type.
5127 (grub_video_adapter): New field prio.
5128 (grub_video_register): Respect prio when inserting.
5129 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
5130 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
5131 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
5132 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
5133 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
5134 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
5135 * video/sm712.c (grub_video_sm712_adapter): Likewise.
5136
5137 Fix SDL driver ID.
5138
5139 * include/grub/video.h (grub_video_driver_id_t): New value
5140 GRUB_VIDEO_DRIVER_SDL.
5141 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
5142
7d24e434
CW
51432010-06-17 Colin Watson <cjwatson@ubuntu.com>
5144
5145 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
5146 argument to printf.
5147 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5148
c88a83f6
CW
51492010-06-17 Colin Watson <cjwatson@ubuntu.com>
5150
5151 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
5152 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5153
094dfb69
CW
51542010-06-17 Colin Watson <cjwatson@ubuntu.com>
5155
5156 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
5157 directly, and recommend grub-install instead.
5158 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5159
2164da6b
CW
51602010-06-17 Colin Watson <cjwatson@ubuntu.com>
5161
5162 Fix i386-pc prefix handling with nested partitions (Debian bug
5163 #585068). Note that the case where the core image is booted using
5164 multiboot and relocated from its original location still requires
5165 more work.
5166
5167 * kern/i386/pc/init.c (make_install_device): If the prefix starts
5168 with "(,", fill the boot drive in between those two characters, but
5169 expect that a full partition specification including partition map
5170 names will follow.
5171 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
5172 specified, write a prefix without the drive name but including a
5173 full partition specification.
5174
044e2e60
CW
51752010-06-16 Colin Watson <cjwatson@ubuntu.com>
5176
5177 * util/grub-mkconfig.in: Ignore non-option arguments, for
5178 compatibility with older versions (before 2010-06-12) which did the
5179 same. In particular, this makes it easier to ship an update-grub
5180 wrapper which is compatible with that used with GRUB Legacy (Debian
5181 bug #586056).
5182
5591324f
GS
51832010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5184
5185 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
5186 for manual page generation.
5187
662e24d5
GS
51882010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5189
5190 * po/POTFILES: Remove leftover commands/handler.c.
5191
8d70754e
CW
51922010-06-14 Colin Watson <cjwatson@ubuntu.com>
5193
5194 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
5195 left this script non-functional.
5196
41160e2e
CW
51972010-06-14 Colin Watson <cjwatson@ubuntu.com>
5198
5199 * docs/man/grub-emu.h2m: New file.
5200
b5309cc1
CW
52012010-06-13 Colin Watson <cjwatson@ubuntu.com>
5202
5203 * docs/grub.texi (Commands): Document reduced command set in rescue
5204 mode.
5205 (cpuid): New section.
5206
fcb2d090
GS
52072010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
5208
5209 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
5210 new partition naming style.
5211 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
5212
96e5c556
BC
52132010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
5214
5215 Add "-o grub.iso" like cmdline options support.
5216
5217 * util/grub-install.in: Improve cmdline option parsing.
5218 * util/grub-mkconfig.in: Likewise.
5219 * util/grub-mkrescue.in: Likewise.
5220 * util/grub-reboot.in: Likewise.
5221 * util/grub-set-default.in: Likewise.
5222 * util/i386/efi/grub-install.in: Likewise.
5223 * util/ieee1275/grub-install.in: Likewise.
5224 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5225
c16be99b
CW
52262010-06-12 Colin Watson <cjwatson@ubuntu.com>
5227
5228 * .bzrignore: Ignore 41_custom.
5229
ce08a9fb
TS
52302010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5231
5232 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
5233
7beac90c
CW
52342010-06-12 Colin Watson <cjwatson@ubuntu.com>
5235
5236 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
5237 prototype declarations.
5238
5239 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
5240 generating fs, partmap, and video lists.
5241 * include/grub/fs.h (grub_fs_register): Omit prototype if
5242 GRUB_LST_GENERATOR is defined.
5243 * include/grub/partition.h (grub_partition_map_register): Likewise.
5244 * include/grub/video.h (grub_video_register): Likewise.
5245
1c8f0f8d
JM
52462010-06-12 Javier Martín <lordhabbit@gmail.com>
5247
5248 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
5249
a6085973
TS
52502010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5251
5252 * util/grub-mkrescue.in: Support --xorriso argument.
5253
25c56d29
VS
52542010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
5257 Suggested by: Thomas Schmitt.
5258
e03e4b24
VS
52592010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
5262 Suggested by: Thomas Schmitt.
5263
57711df6
VS
52642010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 custom.cfg support.
5267
5268 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
5269 * util/grub.d/41_custom.in: New file.
5270
ee62c427
CW
52712010-06-12 Colin Watson <cjwatson@ubuntu.com>
5272
5273 * util/grub-mkrescue.in (make_image): Remove sh module, which has
5274 been merged back into normal.
5275
283af07a
CW
52762010-06-11 Colin Watson <cjwatson@ubuntu.com>
5277
5278 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
5279 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
5280
56a0d956
CW
52812010-06-11 Colin Watson <cjwatson@ubuntu.com>
5282
5283 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
5284 when generating manual pages.
5285 * docs/man/grub-bin2h.h2m: New file.
5286 * docs/man/grub-editenv.h2m: New file.
5287 * docs/man/grub-fstest.h2m: New file.
5288 * docs/man/grub-install.h2m: New file.
5289 * docs/man/grub-macho2img.h2m: New file.
5290 * docs/man/grub-mkconfig.h2m: New file.
5291 * docs/man/grub-mkdevicemap.h2m: New file.
5292 * docs/man/grub-mkfont.h2m: New file.
5293 * docs/man/grub-mkimage.h2m: New file.
5294 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
5295 * docs/man/grub-mkrelpath.h2m: New file.
5296 * docs/man/grub-mkrescue.h2m: New file.
5297 * docs/man/grub-ofpathname.h2m: New file.
5298 * docs/man/grub-pe2elf.h2m: New file.
5299 * docs/man/grub-probe.h2m: New file.
5300 * docs/man/grub-reboot.h2m: New file.
5301 * docs/man/grub-script-check.h2m: New file.
5302 * docs/man/grub-set-default.h2m: New file.
5303 * docs/man/grub-setup.h2m: New file.
5304
3a37e322
VS
53052010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 Use FOR_* macros instead of *_iterate whenever possible.
5308
5309 * commands/handler.c: Removed.
5310 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
5311 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
5312 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5313 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
5314 (grub_probe_SOURCES): Remove kern/parser.c.
5315 (util/grub-script-check.c_DEPENDENCIES): Removed.
5316 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
5317 and grub_script_check_init.c.
5318 (grub_script_check_init.lst): Removed.
5319 (grub_script_check_init.h): Likewise.
5320 (grub_script_check_init.c): Likewise.
5321 (pkglib_MODULES): Remove handler.mod and sh.mod.
5322 (handler_mod_SOURCES): Removed.
5323 (handler_mod_CFLAGS): Likewise.
5324 (handler_mod_LDFLAGS): Likewise.
5325 (normal_mod_SOURCES): Remove normal/handler.c.
5326 Add script/main.c, script/script.c, script/execute.c,
5327 script/function.c, script/lexer.c, grub_script.tab.c
5328 and grub_script.yy.c.
5329 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5330 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5331 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
5332 (grub_setup_SOURCES): Remove kern/parser.c.
5333 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5334 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
5335 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5336 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5337 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5338 (grub_setup_SOURCES): Remove kern/parser.c.
5339 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5340 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
5341 * include/grub/command.h (grub_command_iterate): Removed.
5342 (FOR_COMMANDS): New macro.
5343 * include/grub/dl.h (grub_dl): New member next.
5344 (grub_dl_iterate): Removed.
5345 (grub_dl_head): New variable declaration.
5346 (FOR_DL_MODULES): New macro.
5347 * include/grub/fs.h: Include list.h.
5348 (grub_fs): Make next first element.
5349 (grub_fs_list): New variable declaration.
5350 (grub_fs_register): Make inline.
5351 (grub_fs_unregister): Likewise.
5352 (grub_fs_iterate): Removed.
5353 (FOR_FILESYSTEMS): New macro.
5354 * include/grub/handler.h: Removed.
5355 * include/grub/list.h (grub_list_hook_t): Removed.
5356 (grub_list_test_t): Likewise.
5357 (grub_list_pop): Likewise.
5358 (grub_list_iterate): Likewise.
5359 (grub_list_insert): Likewise.
5360 (FOR_LIST_ELEMENTS): New macro.
5361 * include/grub/parser.h (grub_parser_class): Removed.
5362 (grub_parser_register): Likewise.
5363 (grub_parser_unregister): Likewise.
5364 (grub_parser_get_current): Likewise.
5365 (grub_parser_set_current): Likewise.
5366 (grub_register_rescue_parser): Likewise.
5367 (grub_rescue_parse_line): New function.
5368 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
5369 * include/grub/script_sh.h (grub_script_function_list): New variable
5370 declaration.
5371 (FOR_SCRIPT_FUNCTIONS): New macro.
5372 (grub_script_function_iterate): Removed.
5373 (grub_normal_parse_line): New prototype.
5374 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
5375 (FOR_DISABLED_TERM_INPUTS): Likewise.
5376 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5377 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5378 * include/grub/video.h (grub_video_adapter): Move 'next' to first
5379 element.
5380 (grub_video_register): Inline.
5381 (grub_video_unregister): Likewise.
5382 (grub_video_adapter_list): New variable declaration.
5383 (grub_video_iterate): Removed.
5384 (FOR_VIDEO_ADAPTERS): New macro.
5385 * kern/dl.c (grub_dl_list): Removed. All users updated.
5386 (grub_dl_iterate): Removed.
5387 * kern/fs.c (grub_fs_list): Make global.
5388 (grub_fs_register): Removed.
5389 (grub_fs_unregister): Likewise.
5390 (grub_fs_iterate): Likewise.
5391 * kern/handler.c: Removed.
5392 * kern/list.c (grub_list_pop): Removed.
5393 (grub_list_iterate): Likewise.
5394 (grub_list_insert): Likewise.
5395 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
5396 (grub_prio_list_insert): Don't use grub_list_insert.
5397 * kern/main.c (grub_register_rescue_parser): Don't call
5398 grub_register_rescue_parser.
5399 * kern/parser.c (grub_parser_class): Removed.
5400 (grub_parser_execute): Use grub_rescue_parse_line.
5401 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
5402 (grub_rescue_parser): Removed.
5403 (grub_register_rescue_parser): Likewise.
5404 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
5405 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
5406 (grub_auth_check_authentication): Likewise.
5407 * normal/completion.c (iterate_command): Removed.
5408 (grub_normal_do_completion): Use FOR_COMMANDS.
5409 * normal/handler.c: Removed.
5410 * normal/main.c (read_config_file): Remove parser changing.
5411 (grub_normal_execute): Don't call read_handler_list.
5412 (grub_normal_read_line_real): Statically allocate prompt.
5413 (grub_cmdline_run): Use grub_normal_parse_line.
5414 (GRUB_MOD_FINI): Don't call free_handler_list.
5415 * normal/menu_entry.c (run): Likewise.
5416 * script/function.c (grub_script_function_list): Make global.
5417 (grub_script_function_iterate): Removed.
5418 * script/main.c (grub_normal_parse_line): Make global.
5419 (grub_sh_parser): Removed.
5420 (GRUB_MOD_INIT): Likewise.
5421 (GRUB_MOD_FINI): Likewise.
5422 * tests/lib/functional_test.c (grub_functional_test): Use
5423 FOR_LIST_ELEMENTS.
5424 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
5425 (grub_test_run): Use FOR_LIST_ELEMENTS.
5426 * tests/lib/unit_test.c (main): Likewise.
5427 * util/deviceiter.c (grub_util_iterate_devices): Don't use
5428 grub_list_pop.
5429 * util/grub-fstest.c (grub_term_input_class): Removed.
5430 (grub_term_output_class): Likewise.
5431 * util/grub-probe.c: Likewise.
5432 * util/i386/pc/grub-setup.c: Likewise.
5433 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5434 * util/grub-script-check.c (main): Don't call grub_init_all and
5435 grub_fini_all.
5436 * video/video.c (grub_video_adapter_list): Make global.
5437 (grub_video_register): Removed.
5438 (grub_video_unregister): Likewise.
5439 (grub_video_iterate): Likewise.
5440
6289c3a7
VS
54412010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
5444 reported by Henrique Ferreiro.
5445
91460247
RM
54462010-06-09 Robert Millan <rmh@gnu.org>
5447
5448 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
5449 ones, when both are available.
5450
0ea7c4f9
GS
54512010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5452
5453 Make --version uniform and avoid hard-coded program name.
5454
5455 * util/grub-mkimage.c (main): Use `program_name' instead of
5456 hard-coded string.
5457 * util/i386/pc/grub-setup.c (main): Likewise.
5458 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
5459 * util/grub-install.in: Save the basename of $0 in $self, and use the
5460 latter in informational messages. Use the same format for --version
5461 as the binary programs.
5462 * util/grub-mkconfig.in: Likewise.
5463 * util/grub-mkrescue.in: Likewise.
5464 * util/grub-reboot.in: Likewise.
5465 * util/grub-set-default.in: Likewise.
5466 * util/i386/efi/grub-install.in: Likewise.
5467 * util/ieee1275/grub-install.in: Likewise.
5468 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5469
e8a6f3b6
GS
54702010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5471
5472 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
5473 embedding area. Use <= instead of == when checking for non-emptiness.
5474
f4d095d7
GS
54752010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5476
5477 * configure.ac: Add `.' to the directories searched for unifont.
5478
50e532ca
CW
54792010-06-08 Colin Watson <cjwatson@ubuntu.com>
5480
5481 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
5482 grub_script.yy.h.
5483
d39f3dec
CW
54842010-06-08 Colin Watson <cjwatson@ubuntu.com>
5485
5486 * docs/grub.texi (History): Expand to cover GRUB 2.
5487 (Serial terminal): Refer to `terminal_input' and `terminal_output'
5488 commands, not `terminal'.
5489 (serial): Likewise.
5490 (terminal_input): New section.
5491 (terminal_output): New section.
5492 (uppermem): New section (stub).
5493 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
5494
6ef0ddb4
CW
54952010-06-08 Colin Watson <cjwatson@ubuntu.com>
5496
5497 * docs/grub.texi (Security): Menu entries are unrestricted by
5498 default, not restricted to superusers as I had previously thought.
5499 Reword to account for this.
5500
e0f4c438
CW
55012010-06-07 Colin Watson <cjwatson@ubuntu.com>
5502
5503 * kern/emu/misc.c (device_mapper_null_log): New function.
5504 (grub_device_mapper_supported): New function.
5505 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
5506 prototype.
5507 * kern/emu/hostdisk.c (find_partition_start): Check whether
5508 device-mapper is supported before trying to use it.
5509 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
5510
da908200
CW
55112010-06-07 Colin Watson <cjwatson@ubuntu.com>
5512
5513 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
5514 (File name syntax): Likewise.
5515 (help): --all is no longer supported in GRUB 2. Be more precise
5516 about pattern matching.
5517
fb55c3ac
CW
55182010-06-07 Colin Watson <cjwatson@ubuntu.com>
5519
5520 * normal/completion.c (grub_normal_do_completion): When completing
5521 arguments to "set" and the current word contains an equals sign,
5522 skip to after the equals sign before starting completion.
5523
258c2573
CW
55242010-06-07 Colin Watson <cjwatson@ubuntu.com>
5525
5526 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
5527
ee75515e
CW
55282010-06-07 Colin Watson <cjwatson@ubuntu.com>
5529
5530 * docs/grub.texi (Network): New section.
5531 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
5532 `(nd)' as in GRUB Legacy.
5533 (pxe_unload): New section.
5534
a6a700aa
CW
55352010-06-07 Colin Watson <cjwatson@ubuntu.com>
5536
5537 * docs/grub.texi (Troubleshooting): `echo' is not usually available
5538 in the rescue shell, so recommend using `set' instead. Thanks,
5539 Jordan Uggla.
5540
4003dd38
CW
55412010-06-07 Colin Watson <cjwatson@ubuntu.com>
5542
5543 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
5544 (password): New section.
5545 (password_pbkdf2): New section.
5546 (search): New section.
5547 (Security): New section.
5548 (Troubleshooting): New section, currently very incomplete.
5549 (Invoking grub-mkpasswd-pbkdf2): New section.
5550 (Internals): New section, currently very incomplete.
5551
e1cbcc40
CW
55522010-06-07 Colin Watson <cjwatson@ubuntu.com>
5553
5554 * util/grub.d/00_header.in: Add some more quoting (of
5555 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
5556 work again.
5557 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
5558
db8fa1ad
CW
55592010-06-07 Colin Watson <cjwatson@ubuntu.com>
5560
5561 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
5562 to `count', fixing variable shadowing that broke the -c option.
5563
55642010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
5565
5566 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
5567 in case they contain spaces.
5568
f28a9212
CW
55692010-06-04 Colin Watson <cjwatson@ubuntu.com>
5570
5571 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
5572 "part_" to partmap module names, in line with grub-install.
5573 Reported by: Jindřich Makovička (Debian bug #584426).
5574
9cdfe32f
CW
55752010-06-04 Colin Watson <cjwatson@ubuntu.com>
5576
5577 * util/grub-mkimage.c: Make target-related error messages slightly
5578 more helpful; -O talks about "format". Explicitly point to the use
5579 of -O if no target is specified.
5580 Reported by: Didier Raboud (Debian bug #584415).
5581
795b593a
CW
55822010-06-03 Colin Watson <cjwatson@ubuntu.com>
5583
5584 * INSTALL: Document several build requirements for optional features
5585 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
5586
9d9b5833
GS
55872010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5588
5589 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
5590 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
5591 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
5592
0819fec8
CW
55932010-06-02 Colin Watson <cjwatson@ubuntu.com>
5594
5595 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
5596 Thanks to Jordan Uggla for spotting this.
5597
49396b4f
VS
55982010-06-02 Aleš Nesrsta <starous@volny.cz>
5599
5600 Finally make USB usable.
5601
5602 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
5603 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
5604 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
5605 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
5606 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
5607 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
5608 (GRUB_OHCI_FSMPS): Likewise.
5609 (GRUB_OHCI_PERIODIC_START): Likewise.
5610 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
5611 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
5612 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
5613 (GRUB_OHCI_SET_PORT_RESET): Likewise.
5614 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
5615 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
5616 (grub_ohci_transaction): Likewise.
5617 (grub_ohci_transfer): Improve condition detection algorithms.
5618 Handle toggle property. Program the transactions correctly.
5619 Improve error handling. Various important fixups.
5620 (grub_ohci_portstatus): Put register writes in right order.
5621 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
5622 (grub_uhci_transfer): Don't show "failed" message on success.
5623 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
5624 array.
5625 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
5626 determine its size.
5627 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
5628 before initialization is completed. Use IN direction for empty
5629 transfers. Use last_trans and compute toggle.
5630 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
5631 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
5632 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
5633 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
5634 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
5635 (grub_usb_device): Increase toggle to 256.
5636 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
5637 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
5638 GRUB_USBMS_SUBCLASS_SFF8070.
5639 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
5640 (grub_scsi_inquiry): New member page and alloc_length.
5641 (grub_scsi_request_sense): New structure.
5642 (grub_scsi_request_sense_data): Likewise.
5643 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
5644 control.
5645 * disk/scsi.c (grub_scsi_request_sense): New function.
5646 (grub_scsi_test_unit_ready): Likewise.
5647 (grub_scsi_inquiry): Fill new fields.
5648 (grub_scsi_read_capacity): Likewise.
5649 (grub_scsi_read10): Add request sense at the end.
5650 (grub_scsi_read12): Likewise.
5651 (grub_scsi_write10): Likewise.
5652 (grub_scsi_write12): Likewise.
5653 (grub_scsi_open): Add Test Unit Ready.
5654 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
5655 Support additional subclasses. Con't clear halt yet. Activate the
5656 proper config. Calculate LUNs correctly.
5657 (grub_usbms_transfer): Various important fixups.
5658
56592010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
5662 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
5663 (grub_ohci_fini_hw): New function.
5664 (grub_ohci_restore_hw): Likewise.
5665 (GRUB_MOD_INIT(ohci)): Register preboot hook.
5666 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
5667 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
5668
56692010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 Dedicated DMA allocations.
5672
5673 * bus/pci.c (grub_memalign_dma32): New function
5674 (grub_dma_free): Likewise.
5675 (grub_dma_get_virt): Likewise.
5676 (grub_dma_get_phys): Likewise.
5677 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
5678 (grub_ohci_pci_iter): Use dma32_alloc.
5679 (grub_ohci_transfer): Likewise.
5680 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5681 (grub_usb_bulk_readwrite): Likewise.
5682 * include/grub/pci.h: Add declarations.
5683
56842010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 CS5536 support.
5687
5688 * bus/cs5536.c: New file.
5689 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
5690 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
5691 (cs5536_mod_SOURCES): New variable.
5692 (cs5536_mod_CFLAGS): Likewise.
5693 (cs5536_mod_LDFLAGS): Likewise.
5694 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
5695 machine/pci.h.
5696 (kernel_img_SOURCES): Add bus/cs5536.c.
5697 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
5698 usb_keyboard.mod.
5699 (usb_mod_SOURCES): New variable.
5700 (usb_mod_CFLAGS): New variable.
5701 (usb_mod_LDFLAGS): New variable.
5702 (usbtest_mod_SOURCES): New variable.
5703 (usbtest_mod_CFLAGS): New variable.
5704 (usbtest_mod_LDFLAGS): New variable.
5705 (ohci_mod_SOURCES): New variable.
5706 (ohci_mod_CFLAGS): New variable.
5707 (ohci_mod_LDFLAGS): New variable.
5708 (usbms_mod_SOURCES): New variable.
5709 (usbms_mod_CFLAGS): New variable.
5710 (usbms_mod_LDFLAGS): New variable.
5711 (usb_keyboard_mod_SOURCES): New variable.
5712 (usb_keyboard_mod_CFLAGS): New variable.
5713 (usb_keyboard_mod_LDFLAGS): New variable.
5714 * include/grub/smbus.h: New file.
5715 * include/grub/cs5536.h: New file.
5716
0b35b2a9
CW
57172010-06-02 Colin Watson <cjwatson@ubuntu.com>
5718
5719 * util/grub.d/00_header.in: Add safety check to make sure that
5720 ${locale_dir} exists before trying to probe it.
5721
ca0afd5b
CW
57222010-06-02 Colin Watson <cjwatson@ubuntu.com>
5723
5724 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
5725 per the GNU Coding Standards; this is now too obscure to be worth
5726 documenting.
5727 (QNX): Likewise.
5728 (chainloader): Remove cross-reference to `SCO UnixWare'.
5729
1c41aa78
CW
57302010-06-02 Colin Watson <cjwatson@ubuntu.com>
5731
5732 * docs/grub.texi (Chain-loading): New section.
5733 (DOS/Windows): New section, borrowed from GRUB Legacy with details
5734 adjusted for GRUB 2.
5735 (SCO UnixWare): Likewise.
5736 (QNX): Likewise.
5737 (chainloader): Add reference to `Block list syntax'.
5738 (drivemap): New section.
5739 (parttool): New section.
5740
bb8ea0f5
CW
57412010-06-02 Colin Watson <cjwatson@ubuntu.com>
5742
5743 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
5744 the grub shell'.
5745 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
5746 (Installing GRUB using grub-install): Remove reference to the grub
5747 shell; mention `grub-mkimage' and `grub-setup' instead.
5748 (Invoking grub-install): Likewise.
5749 (Interface): Add reference to `Menu entry editor'.
5750 (serial): Remove `--device' option.
5751
288dd6ed
CW
57522010-06-02 Colin Watson <cjwatson@ubuntu.com>
5753
5754 * docs/grub.texi (Configuration): New section, documenting
5755 configuration file generation using grub-mkconfig. I've left a slot
5756 for documenting the full shell scripting format but have not yet
5757 started on writing that up.
5758 (Invoking grub-mkconfig): New section.
5759
34c9f0e9
CW
57602010-06-02 Colin Watson <cjwatson@ubuntu.com>
5761
5762 * docs/grub.texi (direntry): Remove grub-terminfo reference.
5763 (GNU GRUB manual): Likewise.
5764 (General commands): Update description of `terminfo' for GRUB 2.
5765
9121567e
CW
57662010-06-02 Colin Watson <cjwatson@ubuntu.com>
5767
5768 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
5769 (GRUB_MOD_INIT): Fix capitalisation.
5770 * docs/grub.texi (Command-line and menu entry commands): Document
5771 gettext and gptsync commands.
5772
ab631611
CW
57732010-06-02 Colin Watson <cjwatson@ubuntu.com>
5774
5775 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
5776 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
5777
bde4a9ac
CW
57782010-06-01 Colin Watson <cjwatson@ubuntu.com>
5779
5780 Add btrfs probing support, currently only in the single-device case.
5781
5782 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
5783 function.
5784 (grub_guess_root_device): Call find_root_device_from_mountinfo
5785 before looking in /dev.
5786
b1d17e10
VS
57872010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
5790 GRUB_DISK_SIZE_UNKNOWN.
5791 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
5792
dfbfe004
JS
57932010-05-31 Jiro SEKIBA <jir@unicus.jp>
5794
5795 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
5796 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
5797 corrupted or not synced properly.
5798
c2ffc8e9
VS
57992010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
5802 Reported by: Seth Goldberg.
5803
56293166
VS
58042010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
5807 addition of dest.
5808 Reported by: Seth Goldberg.
5809
7620e7de
VS
58102010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
5813 Reported by: Seth Goldberg.
5814
c837af3f
VS
58152010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
5818 64-bit address as signed on MIPS.
5819
c7c75cf4
CW
58202010-05-28 Colin Watson <cjwatson@ubuntu.com>
5821
5822 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
5823 to the empty string.
5824
fa4b8490
BC
58252010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
5826
5827 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
5828
5829 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
5830 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
5831 * kern/misc.c (__enable_execute_stack): Disable on
5832 GRUB_MACHINE_EMU.
5833
a33075b9
CW
58342010-05-28 Colin Watson <cjwatson@ubuntu.com>
5835
5836 Make grub-probe work with symbolic links under /dev/mapper as well
5837 as with real block devices. The Linux world seems to be (at best)
5838 in transition here, and GRUB shouldn't get caught in the middle.
5839
5840 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
5841 /dev/mapper.
5842
d8708134
CW
58432010-05-27 Colin Watson <cjwatson@ubuntu.com>
5844
5845 * util/grub-script-check.c (main): Ensure defined behaviour on empty
5846 input files (in which case exit zero).
5847
db2102a0
CW
58482010-05-27 Colin Watson <cjwatson@ubuntu.com>
5849
5850 * kern/emu/misc.c (canonicalize_file_name): realpath can still
5851 return NULL for various reasons even if it has a maximum-length
5852 buffer: for example, there might be a symlink loop, or the path
5853 might exceed PATH_MAX. If this happens, return NULL.
5854
5fdba519
RM
58552010-05-27 Robert Millan <rmh@gnu.org>
5856
5857 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
5858 partmap module to handle cross-partmap setups.
5859 Reported by Orestes Mas. Gràcies!
5860
d1d368e4
CW
58612010-05-27 Colin Watson <cjwatson@ubuntu.com>
5862
5863 * util/grub-mkrescue.in: Initialise override_dir rather than
5864 assuming that it's unset or empty in the environment.
5865
95ac3c73
GS
58662010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
5867
5868 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
5869 variable index into p_index to suppress a warning with -Wshadow.
5870
7d8c0213
BC
58712010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
5872
5873 * INSTALL: Added flex >= 2.5.35 requirement.
5874
db4d5813
VS
58752010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
5878
f24f4300
VS
58792010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 cmostest support.
5882
5883 * commands/i386/cmostest.c: New file.
5884 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
5885 (cmostest_mod_SOURCES): New variable.
5886 (cmostest_mod_CFLAGS): Likewise.
5887 (cmostest_mod_LDFLAGS): Likewise.
5888 * conf/i386-pc.rmk: Likewise.
5889 * docs/grub.texi (Vendor power-on keys): New section.
5890 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
5891 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
5892 and GRUB_BUTTON_CMOS_ADDRESS.
5893 * util/grub.d/00_header.in: Handle powering-on by separate button.
5894
ad603f61
VS
58952010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
5898 Removed drawing_scrollbar argument. All users updated
5899 Fixes #29792.
5900 Reported by Jo Shields
5901
3ecb080a
VS
59022010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
5905 buffer since gfxterm handles double repaint.
5906
5f2316c1
VS
59072010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
5910 * term/gfxterm.c (real_scroll): Likewise.
5911
9a25f885
VS
59122010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
5915 before calling BIOS.
5916
39fbb79a
VS
59172010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * include/grub/i18n.h: Always enable grub_gettext.
5920
228cfa97
VS
59212010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
5924 partition naming style.
5925
21717c8f
CW
59262010-05-21 Colin Watson <cjwatson@ubuntu.com>
5927
5928 * util/grub-mkconfig.in: Fix handling of -o so that it works when
5929 not the first option.
5930
c0f48e65
CW
59312010-05-20 Colin Watson <cjwatson@ubuntu.com>
5932
5933 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
5934
96779aec
CW
59352010-05-20 Colin Watson <cjwatson@ubuntu.com>
5936
5937 * util/misc.c: Move inclusion of <limits.h> to ...
5938 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
5939
fa9d256e
GS
59402010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5941
5942 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
5943 Fix merge error in NetBSD code.
5944 (find_partition_start) [__NetBSD__]: Likewise.
5945
123b7a85
BC
59462010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
5947
5948 Fix grub-mkrescue usage unit testing.
5949
5950 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
5951
74276c0d
CF
59522010-05-18 Christian Franke <franke@computer.org>
5953
5954 * util/grub.d/10_windows.in: Use path names instead of
5955 drive letters to prevent warning from Cygwin 1.7.
5956 Add drivemap command to menuentry if needed.
5957
c4f7b523
ST
59582010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
5959
5960 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
5961 gnumach and gnumach.gz.
5962
95b97950
VS
59632010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * include/grub/i18n.h (gettext): Inline instead of using #define.
5966 (grub_gettext): Likewise.
5967 (_): Likewise.
5968
01b8d2d7
VS
59692010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
5972 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
5973 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
5974 (main): Add a slash after pkglibdirroot.
5975
654e1d1e
VS
59762010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * util/grub-install.in: Add missing "in" keyword.
5979
26966aeb
VS
59802010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
5983 Reported by: Seth Goldberg.
5984
75006747
VS
59852010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
5988
74cbf5bd
CW
59892010-05-18 Colin Watson <cjwatson@ubuntu.com>
5990
5991 * configure.ac: Check for Linux device-mapper support.
5992
5993 * util/hostdisk.c (device_is_mapped): New function.
5994 (find_partition_start): New function, partly broken out from
5995 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
5996 device-mapper support added.
5997 (linux_find_partition): Use find_partition_start.
5998 (convert_system_partition_to_system_disk): Add `st' argument.
5999 Support Linux /dev/mapper/* devices if device-mapper support is
6000 available; only DM-RAID devices are understood at present.
6001 (find_system_device): Add `st' argument. Pass it to
6002 convert_system_partition_to_system_disk.
6003 (grub_util_biosdisk_get_grub_dev): Pass stat result to
6004 find_system_device and convert_system_partition_to_system_disk. Use
6005 find_partition_start.
6006
6007 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
6008 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
6009 * util/deviceiter.c [__linux__]: Define MINOR.
6010 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
6011 * util/mkdevicemap.c (grub_putchar): New function.
6012 (grub_getkey): New function.
6013 (grub_refresh): New function.
6014 (main): Set debug=all if -v -v is used.
6015
355b51e9
CW
60162010-05-18 Colin Watson <cjwatson@ubuntu.com>
6017
6018 Fix build with non-GNU libcs.
6019
6020 * util/misc.c (canonicalize_file_name): Move to ...
6021 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
6022 grub_make_system_path_relative_to_its_root.
6023
7fb5c25f
CW
60242010-05-18 Colin Watson <cjwatson@ubuntu.com>
6025
6026 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
6027 we handle finding grub-mkimage. Default to finding grub-mkimage in
6028 ${bindir} with program_transform_name applied, and provide a
6029 --grub-mkimage option to override this.
6030
1d3293d6
VS
60312010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 Remove grub-mkisofs.
6034
6035 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
6036 (grub_mkisofs_SOURCES): Removed.
6037 (grub_mkisofs_CFLAGS): Removed.
6038 * util/mkisofs/defaults.h: Removed.
6039 * util/mkisofs/eltorito.c: Likewise.
6040 * util/mkisofs/exclude.h: Likewise.
6041 * util/mkisofs/hash.c: Likewise.
6042 * util/mkisofs/include/: Likewise.
6043 * util/mkisofs/include/fctldefs.h: Likewise.
6044 * util/mkisofs/include/mconfig.h: Likewise.
6045 * util/mkisofs/include/prototyp.h: Likewise.
6046 * util/mkisofs/include/statdefs.h: Likewise.
6047 * util/mkisofs/iso9660.h: Likewise.
6048 * util/mkisofs/joliet.c: Likewise.
6049 * util/mkisofs/match.c: Likewise.
6050 * util/mkisofs/match.h: Likewise.
6051 * util/mkisofs/mkisofs.c: Likewise.
6052 * util/mkisofs/mkisofs.h: Likewise.
6053 * util/mkisofs/msdos_partition.h: Likewise.
6054 * util/mkisofs/multi.c: Likewise.
6055 * util/mkisofs/name.c: Likewise.
6056 * util/mkisofs/rock.c: Likewise.
6057 * util/mkisofs/tree.c: Likewise.
6058 * util/mkisofs/write.c: Likewise.
6059
5dde9afe
VS
60602010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 Unify grub-mkimage accross platforms.
6063
6064 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
6065 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
6066 (grub_mkelfimage_SOURCES): Removed.
6067 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
6068 (util/grub-mkimage.c_DEPENDENCIES): .. this.
6069 (bin_UTILITIES): Add grub-mkimage.
6070 (grub_mkimage_SOURCES): New variable.
6071 (kernel_img_HEADERS): Remove machine/kernel.h.
6072 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
6073 (pkglib_PROGRAMS): Add kernel.img.
6074 (kernel_img_HEADERS): Add machine/kernel.h.
6075 (kernel_img_FORMAT): Removed.
6076 (bin_UTILITIES): Remove grub-mkimage.
6077 (grub_mkimage_SOURCES): Removed.
6078 (grub_mkimage_CFLAGS): Likewise.
6079 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6080 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
6081 (pkglib_PROGRAMS): Add kernel.img.
6082 (bin_UTILITIES): Remove grub-mkimage.
6083 (grub_mkimage_SOURCES): Removed.
6084 (grub_mkimage_CFLAGS): Likewise.
6085 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6086 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
6087 (pkglib_PROGRAMS): Add kernel.img.
6088 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
6089 (pkglib_PROGRAMS): Add kernel.img.
6090 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
6091 (grub_mkimage_SOURCES): Removed.
6092 (grub_mkimage_CFLAGS): Likewise.
6093 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6094 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
6095 (pkglib_PROGRAMS): Add kernel.img.
6096 (bin_UTILITIES): Remove grub-mkimage.
6097 (grub_mkimage_SOURCES): Removed.
6098 (grub_mkimage_CFLAGS): Likewise.
6099 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6100 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
6101 (grub_mkimage_SOURCES): Removed.
6102 (grub_mkimage_CFLAGS): Likewise.
6103 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6104 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
6105 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
6106 (grub_pe32_optional_header): ... this.
6107 (grub_pe64_optional_header): ... and this. All users updated.
6108 (GRUB_PE32_PE32_MAGIC): Split into ..
6109 (GRUB_PE32_PE32_MAGIC): .. this.
6110 (GRUB_PE32_PE64_MAGIC): .. and this.
6111 (GRUB_PE32_SIGNATURE_SIZE): New definition.
6112 * include/grub/elf.h (PT_GNU_STACK): New definition.
6113 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
6114 * include/grub/i386/efi/kernel.h: Likewise.
6115 * include/grub/i386/kernel.h: Likewise.
6116 * include/grub/i386/pc/kernel.h: Likewise.
6117 * include/grub/i386/qemu/boot.h: Likewise.
6118 * include/grub/mips/kernel.h: Likewise.
6119 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6120 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6121 * include/grub/powerpc/kernel.h: Likewise.
6122 * include/grub/sparc64/ieee1275/boot.h: Likewise.
6123 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6124 * include/grub/sparc64/kernel.h: Likewise.
6125 * include/grub/x86_64/efi/kernel.h: Likewise.
6126 * include/grub/x86_64/kernel.h: Likewise.
6127 * include/grub/offsets.h: New file.
6128 * include/grub/kernel.h (grub_module_info): Split into ...
6129 (grub_module_info32): ... this.
6130 (grub_module_info64): ... and this.
6131 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
6132 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
6133 (grub_boot_blocklist): Moved from here ...
6134 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
6135 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
6136 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
6137 * include/grub/types.h (grub_target_to_host16): Removed.
6138 (grub_target_to_host32): Likewise.
6139 (grub_target_to_host64): Likewise.
6140 (grub_host_to_target16): Likewise.
6141 (grub_host_to_target32): Likewise.
6142 (grub_host_to_target64): Likewise.
6143 (grub_host_to_target_addr): Likewise.
6144
6145 Support grub-mkrescue for efi, coreboot and qemu.
6146
6147 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
6148 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
6149 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
6150 * util/grub-mkrawimage.c: Moved from here ...
6151 * util/grub-mkimage.c: ... here. All users updated.
6152 (ALIGN_ADDR): Use image_target.
6153 (TARGET_NO_FIELD): New const.
6154 (image_target_desc): New type.
6155 (image_targets): New array.
6156 (grub_target_to_host64): Use image_target.
6157 (grub_target_to_host32): Likewise.
6158 (grub_target_to_host16): Likewise.
6159 (grub_host_to_target64): Likewise.
6160 (grub_host_to_target32): Likewise.
6161 (grub_host_to_target16): Likewise.
6162 (grub_host_to_target_addr): Likewise.
6163 (generate_image): Handle multiimage.
6164 (main): Require -O parameter. All users updated.
6165 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
6166 util/efi/grub-mkimage.c
6167 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
6168 New option --rom-directory.
6169 Use xorriso.
6170 * util/i386/efi/grub-mkimage.c: Removed.
6171 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
6172 (grub_target_to_host32): Likewise.
6173 (grub_target_to_host64): Likewise.
6174 (grub_host_to_target16): Likewise.
6175 (grub_host_to_target32): Likewise.
6176 (grub_host_to_target64): Likewise.
6177 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
6178 (grub_target_to_host32): Likewise.
6179 (grub_target_to_host64): Likewise.
6180 (grub_host_to_target16): Likewise.
6181 (grub_host_to_target32): Likewise.
6182 (grub_host_to_target64): Likewise.
6183
f4fc97d0
BC
61842010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
6185
6186 Source tree is reorganized for emu build.
6187
6188 * include/grub/util/console.h: Move from here...
6189 * include/grub/emu/console.h: ...to here.
6190 * include/grub/util/getroot.h: Move from here...
6191 * include/grub/emu/getroot.h: ...to here.
6192 * include/grub/util/hostdisk.h: Move from here...
6193 * include/grub/emu/hostdisk.h: ...to here.
6194 * util/console.c: Move from here...
6195 * kern/emu/console.c: ...to here.
6196 * util/getroot.c: Move from here...
6197 * kern/emu/getroot.c: ...to here.
6198 * util/grub-emu.c: Move from here...
6199 * kern/emu/main.c: ...to here.
6200 * util/hostdisk.c: Move from here...
6201 * kern/emu/hostdisk.c: ...to here.
6202 * util/hostfs.c: Move from here...
6203 * kern/emu/hostfs.c: ...to here.
6204 * util/mm.c: Move from here...
6205 * kern/emu/mm.c: ...to here.
6206 * util/pci.c: Move from here...
6207 * bus/emu/pci.c: ...to here.
6208 * util/sdl.c: Move from here...
6209 * video/emu/sdl.c: ...to here.
6210 * util/time.c: Move from here...
6211 * kern/emu/time.c: ...to here.
6212 * util/usb.c: Move from here...
6213 * bus/usb/emu/usb.c: ...to here.
6214
6215 * include/grub/emu/misc.h: New header for grub-emu functions.
6216 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
6217
6218 * conf/any-emu.rmk: Rule updates for above renames.
6219 * conf/common.rmk: Likewise.
6220 * conf/i386-pc.rmk: Likewise.
6221 * conf/i386-qemu.rmk: Likewise.
6222 * conf/mips.rmk: Likewise.
6223 * conf/sparc64-ieee1275.rmk: Likewise.
6224 * conf/x86-efi.rmk: Likewise.
6225
6226 * disk/lvm.h: #include updates for above renames.
6227 * util/grub-mkrelpath.c: Likewise.
6228 * util/grub-probe.c: Likewise.
6229 * util/i386/pc/grub-setup.c: Likewise.
6230 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6231 * kern/emu/console.c: Likewise.
6232 * kern/emu/getroot.c: Likewise.
6233 * kern/emu/hostdisk.c: Likewise.
6234 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
6235
6236 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
6237 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
6238 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
6239 * util/misc.c: Remove grub-emu functions.
6240
cced9145
VS
62412010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Fix gfxmenu crash.
6244 Reported by: Thorsten Grützmacher.
6245
6246 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
6247 timeout hook.
6248 (circprog_set_property): Register and unregister timeout hook.
6249 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
6250 (label_destroy): Free template. and unregister hook.
6251 (label_set_state): New function.
6252 (label_set_property): Handle templates and hooks.
6253 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
6254 timeout hook.
6255 (progress_bar_set_property): Register and unregister timeout hook.
6256 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
6257 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
6258 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
6259 (update_timeout_visit): Removed.
6260 (update_timeouts): New function.
6261 (redraw_timeouts): Likewise.
6262 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
6263 (grub_gfxmenu_clear_timeout): Likewise.
6264 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
6265 (grub_gfxmenu_timeout_notify): Likewise.
6266 (grub_gfxmenu_timeout_notifications): New external variable.
6267 (grub_gfxmenu_timeout_register): New function.
6268 (grub_gfxmenu_timeout_unregister): Likewise.
6269
c6e5caab
VS
62702010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 Transform (broken) vga terminal into (working) vga video driver.
6273
6274 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
6275 video/i386/pc/vga.c.
6276 * include/grub/video.h (grub_video_driver_id):
6277 Add GRUB_VIDEO_DRIVER_VGA.
6278 * term/i386/pc/vga.c: Renamed to ...
6279 * video/i386/pc/vga.c: ...this
6280 (DEBUG_VGA): Removed.
6281 (CHAR_WIDTH): Likewise.
6282 (CHAR_HEIGHT): Likewise.
6283 (TEXT_WIDTH): Likewise.
6284 (TEXT_HEIGHT): Likewise.
6285 (DEFAULT_FG_COLOR): Likewise.
6286 (DEFAULT_BG_COLOR): Likewise.
6287 (colored_char): Likewise.
6288 (xpos): Likewise.
6289 (ypos): Likewise.
6290 (cursor_state): Likewise.
6291 (fg_color): Likewise.
6292 (bg_color): Likewise.
6293 (text_buf): Likewise.
6294 (page): Likewise.
6295 (font): Likewise.
6296 (framebuffer): New variable.
6297 (set_read_map): Disabled.
6298 (setup): New variable.
6299 (is_target): Likewise.
6300 (grub_vga_mod_init): Likewise.
6301 (grub_vga_mod_fini): Likewise.
6302 (check_vga_mem): Likewise.
6303 (write_char): Likewise.
6304 (write_cursor): Likewise.
6305 (scroll_up): Likewise.
6306 (grub_vga_putchar): Likewise.
6307 (grub_vga_getcharwidth): Likewise.
6308 (grub_vga_getwh): Likewise.
6309 (grub_vga_getxy): Likewise.
6310 (grub_vga_gotoxy): Likewise.
6311 (grub_vga_cls): Likewise.
6312 (grub_vga_setcolorstate): Likewise.
6313 (grub_vga_setcursor): Likewise.
6314 (grub_video_vga_init): New function.
6315 (grub_video_vga_setup): Likewise.
6316 (grub_video_vga_fini): Likewise.
6317 (update_target): Likewise.
6318 (grub_video_vga_blit_bitmap): Likewise.
6319 (grub_video_vga_blit_render_target): Likewise.
6320 (grub_video_vga_set_active_render_target): Likewise.
6321 (grub_video_vga_get_active_render_target): Likewise.
6322 (grub_video_vga_swap_buffers): Likewise.
6323 (grub_video_vga_set_palette): Likewise.
6324 (grub_video_vga_get_info_and_fini): Likewise.
6325 (grub_vga_term): Removed.
6326 (grub_video_vga_adapter): New variable.
6327 (GRUB_MOD_INIT): Register a video driver instead of terminal.
6328 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
6329
2bf61a98
VS
63302010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * video/readers/jpeg.c: Indented.
6333
09ddcd11
VS
63342010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 Various jpeg cleanups.
6337
6338 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
6339 (grub_jpeg_decode_quan_table): Use sizeof.
6340 (grub_jpeg_decode_du): Use ARRAY_SIZE.
6341
e5507505
PH
63422010-05-05 Peter Hurley <No e-mail available> (tiny change)
6343
6344 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
6345 tables. Ignore non-last ac bit.
6346 (grub_jpeg_decode_quan_table): Likewise.
6347
7e720a9b
VS
63482010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6351 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
6352 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6353 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
6354 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
6355 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
6356
a7fc080b
VS
63572010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
6360 error.
6361
2bf6012d
VS
63622010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
6365
265d68cd
VS
63662010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
6369 condition.
6370
63712010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
6372
6373 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
6374 part.
6375
265d68cd 63762010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
6377
6378 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
6379 pointers.
6380
265d68cd 63812010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
6382
6383 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
6384
d1b61374
CF
63852010-05-01 Christian Franke <franke@computer.org>
6386
6387 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
6388 Remove broken Cygwin path conversion.
6389 * util/misc.c: [__CYGWIN__] Add include and define.
6390 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
6391 for Cygwin 1.7.
6392 (make_system_path_relative_to_its_root): Simplify loop, replace early
6393 return by break.
6394 [__CYGWIN__] Add conversion to win32 path.
6395 Include "/" case in trailing slash removal.
6396
3558c6e9
VS
63972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * kern/main.c (grub_load_config): Fix copy-pasted comment.
6400 Reported by: Seth Goldberg
6401
f5f3ff93
VS
64022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * commands/help.c (grub_cmd_help): Fix a typo.
6405 Reported by: Seth Goldberg
6406
d8b5cd40
VS
64072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
6410 name and add N_.
6411 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
6412 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
6413 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
6414 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
6415 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
6416 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
6417 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6418 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6419 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6420 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6421 * normal/context.c (GRUB_MOD_INIT): Likewise.
6422 * normal/main.c (GRUB_MOD_INIT): Likewise.
6423 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6424 * term/serial.c (GRUB_MOD_INIT): Likewise.
6425 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6426
88c14915
VS
64272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
6430 extra == 0.
6431
165134bc
VS
64322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 * commands/iorw.c: New file.
6435 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
6436 (iorw_mod_SOURCES): New variable.
6437 (iorw_mod_CFLAGS): Likewise.
6438 (iorw_mod_LDFLAGS): Likewise.
6439
c5ac9b32
VS
64402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 Hotkey support
6443
6444 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
6445 * normal/main.c (hotkey_aliases): New variable.
6446 (grub_normal_add_menu_entry): Parse "--hotkey".
6447 * normal/menu_text.c (run_menu): Handle hotkeys.
6448
ce60689c
VS
64492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * kern/i386/coreboot/init.c (grub_machine_init): Call
6452 grub_machine_mmap_init on qemu.
6453
0359d006
VS
64542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * boot/i386/qemu/boot.S: Add a missing .code16.
6457
7819a456
VS
64582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 Use LBIO on coreboot.
6461
6462 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
6463 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
6464 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
6465 New declaration.
6466 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
6467 grub_machine_mmap_init on coreboot.
6468 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
6469 GRUB_LINUXBIOS_MEMBER_LINK.
6470 (grub_machine_mmap_iterate): Fix declaration.
6471 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
6472
7210dca9
VS
64732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 Split coreboot and multiboot ports.
6476
6477 * conf/i386-multiboot.rmk: New file.
6478 * configure.ac: Add multiboot port.
6479 * include/grub/i386/multiboot/boot.h: New file.
6480 * include/grub/i386/multiboot/console.h: Likewise.
6481 * include/grub/i386/multiboot/init.h: Likewise.
6482 * include/grub/i386/multiboot/kernel.h: Likewise.
6483 * include/grub/i386/multiboot/loader.h: Likewise.
6484 * include/grub/i386/multiboot/memory.h: Likewise.
6485 * include/grub/i386/multiboot/serial.h: Likewise.
6486 * include/grub/i386/multiboot/time.h: Likewise.
6487 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
6488 * loader/multiboot.c: Likewise.
6489 * loader/multiboot_mbi2.c: Likewise.
6490 * util/grub-mkrescue.in: Generate multiboot rescue.
6491
6f8aaf68
VS
64922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6493
3080f7a7
VS
6494 * kern/parser.c (grub_parser_execute): Cope with read-only config.
6495
64962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
6499
6500 * commands/terminal.c (abstract_terminal): New struct.
6501 (handle_command): New function. Based on grub_cmd_terminal_input.
6502 (grub_cmd_terminal_input): Use handle_command.
6503 (grub_cmd_terminal_output): Use handle_command.
6504
a8ebb841
BC
65052010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
6506
6507 Fix comment handling.
6508
6509 * tests/grub_script_comments.in: New testcase.
6510 * conf/tests.rmk: Rules for new testcase.
6511 * script/yylex.l: Updated flex rules.
6512
bb06ba08
ST
65132010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
6514
6515 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
6516 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
6517 if argc is 1.
bb06ba08 6518
cc9d2425
VS
65192010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
6522 autogen issues.
6523
460d8402
CF
65242010-04-26 Christian Franke <franke@computer.org>
6525
6526 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
6527 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
6528 (grub_get_prefix): Remove function.
6529 * util/grub-emu.c (main): Replace grub_get_prefix () call by
6530 make_system_path_relative_to_its_root ().
6531 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6532
553c01f9
CF
65332010-04-24 Christian Franke <franke@computer.org>
6534
6535 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
6536 (kernel_img_LDFLAGS): Remove -static-libgcc.
6537
2aec1692
CF
65382010-04-24 Christian Franke <franke@computer.org>
6539
6540 * configure.ac: Do not CHECK_BSS_START_SYMBOL
6541 and CHECK_END_SYMBOL if grub-emu is built.
6542 Unset TARGET_OBJ2ELF if grub-emu is built
6543 without module support.
6544
f67dc308
JS
65452010-04-24 Jiro SEKIBA <jir@unicus.jp>
6546
6547 Nilfs2 support.
6548
6549 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
6550 (grub_fstest_SOURCES): Likewise.
6551 (pkglib_MODULES): Add nilfs2.mod.
6552 (nilfs2_mod_SOURCES): New variable.
6553 (nilfs2_mod_CFLAGS): Likewise.
6554 (nilfs2_mod_LDFLAGS): Likewise.
6555 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6556 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6557 * fs/nilfs2.c: New file.
6558
4ba8d354
VS
65592010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
6562 is not supported.
6563
0d2c20c6
GS
65642010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
6565
6566 Add grub-mkconfig support for NetBSD.
6567
6568 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
6569 * util/grub-mkconfig.in: export new NetBSD specific variables.
6570 * po/POTFILES-shell: added 10_netbsd.in.
6571 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
6572
bc4a2d83
BC
65732010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
6574
6575 Fix emu build with grub-emu-pci and grub-emu-modules.
6576
6577 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
6578 functions.
6579 * include/grub/libpciaccess.h: New file.
6580 * conf/any-emu.rmk: Update kernel headers for emu build.
6581
f48c87aa
VS
65822010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
6585
18959385
VS
65862010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
6589
0037de3f
VS
65902010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
6593 Retrieve chosen/bootpath if bootpath isn't hardcoded.
6594 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
6595 util/ieee1275/ofpath.c.
6596 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
6597 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
6598 * include/grub/sparc64/ieee1275/boot.h
6599 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
6600 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
6601 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
6602 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
6603 const char *.
6604 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
6605 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
6606 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
6607 install.
6608
38e55e90
GS
66092010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6610
6611 * util/grub-mkconfig.in: Corrected two == equality tests.
6612 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
6613 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
6614 expect a number appended to it.
6615 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
6616 expects a number appended to it.
6617
a9e6ff28
VS
66182010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
6621
0b830b8f
VS
66222010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * util/hostdisk.c (make_device_name): Change to new partition naming.
6625
0973daeb
VS
66262010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
6629
460d8402 66302010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
6631
6632 * Makefile.in: Add missing localedir setting.
6633
0b456309
CW
66342010-04-14 Colin Watson <cjwatson@ubuntu.com>
6635
6636 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
6637 mistake in r2156. Noticed by Anthony Fok.
6638
6639 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
6640 @localedir@.
6641 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6642
08f46d62
BC
66432010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
6644
6645 Fix a spurious, uninitialized variable warning.
6646
6647 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
6648 Initialize variable, shdr.
6649 (grub_freebsd_load_elfmodule): Likewise.
6650 (grub_freebsd_load_elf_meta): Likewise.
6651
8c4a72d4
BC
66522010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
6653
6654 Fix for escaped dollar in double quoted strings.
6655
6656 * script/yylex.l: Updated flex rules.
6657 * conf/tests.rmk: Rule for new testcase.
6658 * tests/grub_script_dollar.in: New testcase.
6659
ce44826e
CPE
66602010-04-13 Carles Pina i Estany <carles@pina.cat>
66612010-04-13 Colin Watson <cjwatson@ubuntu.com>
6662
6663 Enclose all translated strings in grub.cfg in single quotes, and
6664 escape them appropriately (Ubuntu bug #552921).
6665
6666 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
6667 * util/grub.d/10_hurd.in: Use it.
6668 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6669 * util/grub.d/10_linux.in (linux_entry): Likewise.
6670
4b0cd8f8
VS
66712010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 Fix cygwin compilation.
6674
6675 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
6676 * include/grub/misc.h (__register_frame_info)
6677 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
6678 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6679 * kern/misc.c (__register_frame_info)
6680 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
6681 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6682
01fcf061
VS
66832010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
6686
5d04b11e
VS
66872010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 Unify libgcc processing.
6690
6691 * Makefile.in (kernel_img_LDFLAGS): New variable.
6692 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
6693 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
6694 overwriting.
6695 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
6696 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
6697 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
6698 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
6699 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
6700 overwriting. Remove -lgcc and -static-libgcc
6701 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
6702 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6703 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6704 (kernel_img_LDFLAGS): Append instead of overwriting.
6705 Remove -lgcc and -static-libgcc
6706 * conf/sparc64-ieee1275.rmk: Likewise.
6707 * include/grub/powerpc/libgcc.h: Move to ...
6708 * include/grub/libgcc.h: .. this.
6709 * include/grub/libgcc.h: Don't export most of the function on x86.
6710 (__bswapsi2): New export.
6711 (__bswapdi2): Likewise.
6712 * include/grub/mips/libgcc.h: Removed.
6713 * include/grub/sparc64/libgcc.h: Likewise.
6714
b7f3ac29
VS
67152010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
6718 disk_info_msg (conflicts with gettexting into languages with cases).
6719
2c7031b1
GS
67202010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6721
6722 Add grub-probe support for NetBSD.
6723
6724 * util/getroot.c (find_root_device): Convert block device to
6725 character device on NetBSD.
6726 * util/probe.c (probe): Require character device on NetBSD.
6727 * util/hostdisk.c: NetBSD specific headers.
6728 (configure_device_driver): new function to tune device driver
6729 parameters (currently only for NetBSD floppy driver).
6730 (grub_util_biosdisk_open): NetBSD specific code (get disk size
6731 via disklabel ioctl).
6732 (open_device): call configure_device_driver on NetBSD.
6733 (convert_system_partition_to_system_disk): NetBSD specific code.
6734 (device_is_wholedisk): Likewise.
6735 (grub_util_biosdisk_get_grub_dev): Likewise.
6736 (make_device_name): Fixed a typo in bsd_part_str.
6737 * configure.ac: check for opendisk() and getrawpartition() on
6738 NetBSD and set LIBUTIL.
6739 * Makefile.in: add LIBUTIL to LIBS.
6740
f516290c
BC
67412010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6742
6743 Documentation fix.
6744
6745 * util/grub-script-check.c: Better help message.
6746
d8dcc0df
BC
67472010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6748
6749 Fix FreeBSD build.
6750
6751 * configure.ac: Flex version check.
6752 * conf/common.rmk: Add -Wno-error to sh.mod.
6753 * script/yylex.l: Remove all #pragma.
6754
6734334a
VS
67552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 * include/grub/util/misc.h (canonicalise_file_name): Add missing
6758 prototype.
6759 Reported by: Seth Goldberg.
6760
daea6abd
VS
67612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
6764 Rename "module" to "module2".
6765 Reported by: Seth Goldberg.
6766
f2fd9d2b
VS
67672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
6770 EXPORT_FUNC.
6771 Reported by: Seth Goldberg.
6772
be124579
VS
67732010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * lib/posix_wrap/locale.h: Add missing file.
6776 Reported by: Seth Goldberg.
6777
ef5da797
VS
67782010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 grub-emu module load support.
6781
6782 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
6783 NO_DYNAMIC_MODULES switched to this.
6784 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
6785 (CFLAGS): Likewise.
6786 * conf/any-emu.rmk: Generate symlist.
6787 (kernel_img_HEADERS): Add util/datetime.h.
6788 (kernel_img_HEADERS) [sdl]: Add sdl.h.
6789 (kernel_img_HEADERS) [libusb]: Add libusb.h.
6790 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
6791 kern/$(target_cpu)/cache.S.
6792 * configure.ac (grub-emu-modules): New option.
6793 * genmk.rb: Handle multiple source lists.
6794 * include/grub/sdl.h: New file.
6795 * include/grub/libusb.h: Likewise.
6796 * util/grub-emu.c (main): Hanle (host) root.
6797 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
6798 GRUB_ERR_UNKNOWN_DEVICE.
6799 * util/misc.c: Move mm functions to ...
6800 * util/mm.c: ... here. All users updated.
6801
47822096
VS
68022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
6805 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
6806 missing files.
6807 (maintainer-clean): Remove libgcrypt-grub.
6808
5d7e7445
VS
68092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
6812
25f4e252
EC
68132010-04-09 EFI Coder <eficoder@hotmail.com>
6814
6815 * normal/menu_text.c (print_message): Clean up the message and show
6816 the Fn information when on EFI
6817 * term/efi/console.c (grub_console_checkkey): Add F4 support.
6818
027de555
VS
68192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
6822 All users updated.
6823 * normal/crypto.c (read_crypto_list): Likewise.
6824 * normal/dyncmd.c (read_command_list): Likewise.
6825 * normal/term.c (read_terminal_list): Likewise.
6826 * normal/main.c (read_lists): Use explicit prefix.
6827 (read_lists_hook): Use read_lists.
6828 (grub_normal_execute): Likewise.
6829
47779711
VS
68302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
6833 Reported by: Thomas Schmitt.
6834 Add -no-emul-boot to grub-mkisofs parameters.
6835
1118c32e
VS
68362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * font/font.c: Indented.
6839
7d652447
BC
68402010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6841
6842 Elif support to GRUB script (by Deepak Vankadaru).
6843
6844 * tests/grub_script_if.in: New testcase.
6845 * conf/tests.rmk: Rule for new testcase.
6846 * script/parser.y: Grammar rules for elif.
6847
34bb22df
BC
68482010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6849
6850 While and until loops support to GRUB script.
6851
6852 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
6853 (grub_script_create_cmdwhile): New function prototype.
6854 (grub_script_execute_cmdwhile): New function prototype.
6855 * script/execute.c (grub_script_execute_cmdwhile): New function.
6856 * script/parser.y (command): New commands.
6857 (whilecmd): New grammar rule.
6858 (untilcmd): New grammar rule.
6859 * script/script.c (grub_script_create_cmdwhile): New function.
6860 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
6861 function.
6862
6863 * tests/grub_script_while1.in: New testcase.
6864 * conf/tests.rmk: Rule for new testcase.
6865
e215d8e0
VS
68662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
6869 as *.jpg.
6870
d7c43ba1
MV
68712010-04-09 Mario Vazquez <mariovazq@gmail.com>
6872
6873 GRUB_BACKGROUND support.
6874
6875 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
6876 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
6877
d64795c0
VS
68782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 6881 Idea by: Mario Vazquez
d64795c0
VS
6882
6883 * util/grub.d/00_header.in: Load pf2 and image modules.
6884
f267f83a
VS
68852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 grub-mkconfig multiple terminal support.
6888
6889 * util/grub-mkconfig.in: Handle multiple terminals correctly.
6890 * util/grub.d/00_header.in: Likewise.
6891
b7841ceb
VS
68922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * Makefile.in: Specify files explicitly instead of using $< and $@ since
6895 we use cd $(srcdir).
6896
df60998c
CW
68972010-04-08 Colin Watson <cjwatson@ubuntu.com>
6898
6899 * util/grub.d/10_linux.in: Only use the first word of
6900 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
6901 spaces in GRUB_DISTRIBUTOR.
6902 * util/grub.d/10_kfreebsd.in: Likewise.
6903 * util/grub.d/10_hurd.in: Likewise.
6904
fa09c82e
BC
69052010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
6906
14e18ae3 6907 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
6908
6909 * tests/util/grub-shell.in: Remove -serial stdio option.
6910
daf892b3
BC
69112010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 POSIX header file wrappers.
6914
6915 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
6916 equivalents.
6917 * lib/posix_wrap/ctype.h: Likewise.
6918 * lib/posix_wrap/errno.h: Likewise.
6919 * lib/posix_wrap/langinfo.h: Likewise.
6920 * lib/posix_wrap/limits.h: Likewise.
6921 * lib/posix_wrap/localcharset.h: Likewise.
6922 * lib/posix_wrap/stdint.h: Likewise.
6923 * lib/posix_wrap/stdio.h: Likewise.
6924 * lib/posix_wrap/stdlib.h: Likewise.
6925 * lib/posix_wrap/string.h: Likewise.
6926 * lib/posix_wrap/sys/types.h: Likewise.
6927 * lib/posix_wrap/unistd.h: Likewise.
6928 * lib/posix_wrap/wchar.h: Likewise.
6929 * lib/posix_wrap/wctype.h: Likewise.
6930 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
6931 (grub_script.yy.h): Likewise.
6932 * script/yylex.l: Remove POSIX emulation #defines.
6933 * Makefile.in (POSIX_CFLAGS): New variable.
6934 (GNULIB_UTIL_CFLAGS): Likewise.
6935
6936 Regexp support.
6937
6938 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
6939 (regexp_mod_SOURCES): New variable.
6940 (regexp_mod_CFLAGS): Likewise.
6941 (regexp_mod_LDFLAGS): Likewise.
6942 * commands/regexp.c: New file.
6943 * gnulib/regcomp.c: New file. Imported from gnulib.
6944 * gnulib/regex.c: Likewise.
6945 * gnulib/regex_internal.c: Likewise.
6946 * gnulib/regex_internal.h: Likewise.
6947 * gnulib/regexec.c: Likewise.
6948 * gnulib/regex.h: Likewise.
6949
974ac4f7
VS
69502010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
6953 unsupported video mode types.
6954
2622c3ff
VS
69552010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
6958
064cb524
VS
69592010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
6962 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
6963
a8c3b552
VS
69642010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 Remove unused grub_vga_get_font.
6967
6968 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
6969 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
6970
187bbe3d
GS
69712010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6972
6973 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
6974 * include/grub/misc.h: Likewise.
6975
b9396631
GS
69762010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6977
6978 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
6979 for which failure is fatal.
6980
50479feb
GS
69812010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6982
6983 * util/grub-install.in: Use mkdir -p to create grub directory.
6984 * util/i386/efi/grub-install.in: Likewise.
6985 * util/ieee1275/grub-install.in: Likewise.
6986
b1654fdf
GS
69872010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6988
6989 * Makefile.in (LEX): new variable.
6990
bd5a6415
GS
69912010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6992
6993 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
6994 `=' and added double quotes on operands of this equality test.
6995
3db3a82b
VS
69962010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * Makefile.in (uninstall): Remove a leftover debug echo.
6999 Reported by: Grégoire Sutre
7000
38023412
VS
70012010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 MIPS multiboot2 support.
7004
7005 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
7006 (multiboot2_mod_SOURCES): New variable.
7007 (multiboot2_mod_CFLAGS): Likewise.
7008 (multiboot2_mod_LDFLAGS): Likewise.
7009 (multiboot2_mod_ASFLAGS): Likewise.
7010 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
7011 definition.
7012 (MULTIBOOT_ENTRY_REGISTER): Likewise.
7013 (MULTIBOOT_MBI_REGISTER): Likewise.
7014 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
7015 (MULTIBOOT_ELF32_MACHINE): Likewise.
7016 (MULTIBOOT_ELF64_MACHINE): Likewise.
7017 * include/grub/mips/multiboot.h: New file.
7018 * include/grub/video.h (grub_video_driver_id): New type
7019 GRUB_VIDEO_DRIVER_SM712.
7020 (grub_video_get_info_and_fini): Export.
7021 (grub_video_get_palette): Likewise.
7022 (grub_video_get_driver_id): Likewise.
7023 * include/multiboot2.h: Resynced with spec.
7024 * loader/i386/multiboot.c: Moved from here ...
7025 * loader/multiboot.c: ... here. All users updated.
7026 (grub_multiboot_boot): Use platform-specific macros.
7027 * loader/i386/multiboot_elfxx.c: Moved from here ...
7028 * loader/multiboot_elfxx.c: ... here. All users updated.
7029 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
7030 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
7031 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
7032
47674667
VS
70332010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 Import gnulib argp module.
7036
7037 * gnulib/argp-ba.c: New file.
7038 * gnulib/argp-eexst.c: Likewise.
7039 * gnulib/argp-fmtstream.c: Likewise.
7040 * gnulib/argp-fmtstream.h: Likewise.
7041 * gnulib/argp-fs-xinl.c: Likewise.
7042 * gnulib/argp-help.c: Likewise.
7043 * gnulib/argp-namefrob.h: Likewise.
7044 * gnulib/argp-parse.c: Likewise.
7045 * gnulib/argp-pin.c: Likewise.
7046 * gnulib/argp-pv.c: Likewise.
7047 * gnulib/argp-pvh.c: Likewise.
7048 * gnulib/argp-version-etc.c: Likewise.
7049 * gnulib/argp-version-etc.h: Likewise.
7050 * gnulib/argp-xinl.c: Likewise.
7051 * gnulib/argp.h: Likewise.
7052
495442ed
VS
70532010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * kern/device.c (grub_device_iterate): Clear errors after failed
7056 opening device.
7057
f9fd65df
VS
70582010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7059
7060 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
7061 returned by firmware.
7062
af09641e
VS
70632010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
7066 compilation on coreboot and qemu
7067
016883a5
VS
70682010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * include/multiboot2.h: Resync with spec.
7071
f97e1f7d
VS
70722010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 Multiboot2 tag support
7075
7076 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
7077 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
7078 Remove loader/multiboot_loader.c.
7079 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
7080 (grub_multiboot2_real_boot): Likewise.
7081 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
7082 (grub_get_multiboot_mmap_count): New proto.
7083 (grub_fill_multiboot_mmap): Likewise.
7084 (grub_multiboot_set_video_mode): Likewise.
7085 (grub_multiboot_set_console): Likewise.
7086 (grub_multiboot_load): Likewise.
7087 (grub_multiboot_load_elf): Likewise.
7088 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
7089 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
7090 * include/multiboot.h: Resynced with specification.
7091 * include/multiboot2.h: Resynced with specification.
7092 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
7093 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
7094 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
7095 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
7096 users updated.
7097 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
7098 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
7099 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
7100 Removed.
7101 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
7102 Moved from here...
7103 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
7104 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7105 Moved from here...
7106 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
7107 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
7108 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
7109 All users updated.
7110 * loader/i386/multiboot_mbi2.c: New file.
7111
3506b90b
VS
71122010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 Resync with gnulib.
7115
7116 * Makefile.in (GNULIB_CFLAGS): New variable.
7117 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
7118 (grub_script_check_CFLAGS): New variable.
7119 * gnulib/alloca.h: Resync with gnulib.
7120 * gnulib/error.c: Likewise.
7121 * gnulib/error.h: Likewise.
7122 * gnulib/fnmatch.c: Likewise.
7123 * gnulib/fnmatch_loop.c: Likewise.
7124 * gnulib/getdelim.c: Likewise.
7125 * gnulib/getline.c: Likewise.
7126 * gnulib/getopt.c: Likewise.
7127 * gnulib/getopt1.c: Likewise.
7128 * gnulib/getopt_int.h: Likewise.
7129 * gnulib/gettext.h: Likewise.
7130 * gnulib/progname.c: Likewise.
7131 * gnulib/progname.h: Likewise.
7132
394a3120
GS
71332010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
7134
7135 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
7136 which is the case with --disabled-nls.
7137
7138 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7139 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
7140 * util/misc.c: Likewise.
7141 * util/mkisofs/mkisofs.c: Likewise.
7142 * util/mkisofs/mkisofs.h: Likewise.
7143
969d1c78
VS
71442010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 Simplify Apple CC support.
7147
7148 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
7149 Add 0 byte at the end not to have a symbol with empty target.
7150 * mmap/i386/pc/mmap_helper.S: Likewise.
7151 * genmk.rb: Ignore errors 2030 and 2050.
7152 * kern/i386/pc/startup.S: Use LOCAL when possible.
7153
8d2977bb
BC
71542010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
7155
7156 Testcase and the fix for final semicolon on cmdline.
7157
7158 * tests/grub_script_final_semicolon.in: New testcase.
7159 * conf/tests.rmk: Rules for the new testcase.
7160 * script/parser.y: Grammar fix.
7161
a7bd6915
BC
71622010-03-26 BVK Chaitanya <bvk@localhost>
7163
7164 Blank lines testcase for GRUB script.
7165
7166 * tests/grub_script_blanklines.in: New testcase.
7167 * conf/tests.rmk: Rules for the new testcase.
7168
e4ff6628
VS
71692010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 Don't use __FILE__.
7172
7173 * genmk.rb: Add -DGRUB_FILE to all C targets.
7174 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
7175 * include/grub/list.h: Likewise.
7176 * include/grub/misc.h: Likewise.
7177 * include/grub/mm.h: Likewise.
7178 * include/grub/test.h: Likewise.
7179 * kern/mm.c: Likewise.
7180 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7181
6a5cf6b6
VS
71822010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 Sunpc partitions support.
7185
7186 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
7187 (grub_fstest_SOURCES): Likewise.
7188 (pkglib_MODULES): Add part_sunpc.mod.
7189 (part_sunpc_mod_SOURCES): New variable.
7190 (part_sunpc_mod_CFLAGS): Likewise.
7191 (part_sunpc_mod_LDFLAGS): Likewise.
7192 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
7193 * partmap/sunpc.c: New file.
7194
746d9045
BC
71952010-03-26 BVK Chaitanya <bvk@localhost>
7196
7197 For loop support to GRUB script.
7198
7199 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
7200 (grub_script_create_cmdfor): New function prototype.
7201 (grub_script_execute_cmdfor): New function prototype.
7202 * script/execute.c (grub_script_execute_cmdfor): New function.
7203 * script/parser.y (command): New for command.
7204 (forcmd): New grammar rule.
7205 * script/script.c (grub_script_create_cmdfor): New function.
7206 * util/grub-script-check.c (grub_script_execute_cmdfor): New
7207 function.
7208 * tests/grub_script_for1.in: New testcase.
7209 * conf/tests.rmk: Rules for new testcase.
7210
18486b18
VS
72112010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 Nested partitions
7214
7215 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
7216 'partition' is NULL, grub_partition_get_start already does that.
7217 * commands/loadenv.c (check_blocklists): Likewise.
7218 (write_blocklists): Likewise.
7219 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
7220 (grub_fstest_SOURCES): Likewise.
7221 (pkglib_MODULES): Add part_bsd.mod.
7222 (part_bsd_mod_SOURCES): New variable.
7223 (part_bsd_mod_CFLAGS): Likewise.
7224 (part_bsd_mod_LDFLAGS): Likewise.
7225 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
7226 (grub_emu_SOURCES): Likewise.
7227 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7228 * include/grub/bsdlabel.h: New file.
7229 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
7230 'get_name'.
7231 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
7232 (grub_partition_map_list): New variable.
7233 (grub_partition_map_register): Inline.
7234 (grub_partition_map_unregister): Likewise.
7235 (FOR_PARTITION_MAPS): New macro.
7236 (grub_partition_map_iterate): Removed.
7237 (grub_partition_get_start): Handle nested partitions.
7238 * include/grub/msdos_partition.h: Remove bsd-related entries.
7239 (grub_pc_partition): Remove.
7240 * kern/disk.c (grub_disk_close): Free partition data.
7241 (grub_disk_adjust_range): Handle nested partitions.
7242 * kern/partition.c (grub_partition_map_probe): New function.
7243 (grub_partition_probe): Parse name to number, handle subpartitions.
7244 (get_partmap): New function.
7245 (grub_partition_iterate): Handle subpartitions.
7246 (grub_partition_get_name): Likewise.
7247 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
7248 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
7249 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
7250 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
7251 Set 'number'.
7252 (acorn_partition_map_probe): Remove.
7253 (acorn_partition_map_get_name): Likewise.
7254 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
7255 Set 'number'.
7256 Set 'index' to 0 since there can be only one partition entry per sector.
7257 (amiga_partition_map_probe): Remove.
7258 (amiga_partition_map_get_name): Likewise.
7259 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
7260 Set 'number'.
7261 Set 'offset' and 'index' to real positions of partitions.
7262 (apple_partition_map_probe): Remove.
7263 (apple_partition_map_get_name): Likewise.
7264 * partmap/bsdlabel.c: New file.
7265 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
7266 Set 'number'.
7267 Allocate 'data' so it can be correctly freed.
7268 Set 'index' to offset inside sector.
7269 (gpt_partition_map_probe): Remove.
7270 (gpt_partition_map_get_name): Likewise.
7271 * partmap/msdos.c (grub_partition_parse): Remove.
7272 (pc_partition_map_iterate): Don't force raw access.
7273 Set 'number'.
7274 Make 'ext_offset' a local variable.
7275 (pc_partition_map_probe): Remove.
7276 (pc_partition_map_get_name): Remove.
7277 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
7278 Set 'number'.
7279 (sun_partition_map_probe): Remove.
7280 (sun_partition_map_get_name): Likewise.
7281 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
7282 (grub_pcpart_type): Likewise.
7283 * util/hostdisk.c (open_device): Handle new numbering scheme.
7284 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
7285 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
7286 * util/grub-probe.c (probe_partmap): Handle nested paritions.
7287 * util/grub-install.in: Insert all subpartition modules.
7288 * util/ieee1275/grub-install.in: Likewise.
7289
a3940f88
AG
72902010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
7291
7292 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
7293 grammar.
7294
21b99926 72952010-03-24 Colin Watson <cjwatson@ubuntu.com>
7296
7297 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
7298
bed1d352
CW
72992010-03-21 Colin Watson <cjwatson@ubuntu.com>
7300
7301 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
7302 match where 'make install' puts them.
7303 * util/i386/efi/grub-install.in: Likewise.
7304
c9f58427
CW
73052010-03-19 Colin Watson <cjwatson@ubuntu.com>
7306
7307 * .bzrignore: Add gentrigtables, grub-script-check,
7308 grub_script_check_init.c, grub_script_check_init.h, and
7309 trigtables.c.
7310
f84afb27
VS
73112010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * kern/parser.c: Indented.
7314
ed0e3d30
VS
73152010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
7318
0ea81d98
VS
73192010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
7322 alpha_mask_size == 0 case.
7323
0cdc2a09
BC
73242010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
7325
7326 GRUB shell lexer and parser improvements.
7327
7328 * conf/any-emu.rmk: Build rule updates.
7329 * conf/common.rmk: Likewise.
7330 * conf/i386-coreboot.rmk: Likewise.
7331 * conf/i386-efi.rmk: Likewise.
7332 * conf/i386-ieee1275.rmk: Likewise.
7333 * conf/i386-pc.rmk: Likewise.
7334 * conf/powerpc-ieee1275.rmk: Likewise.
7335 * conf/x86_64-efi.rmk: Likewise.
7336
7337 * configure.ac: Configure check for flex.
7338
7339 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
7340 types.
7341 (grub_lexer_param): Struct member updates.
7342 (grub_parser_param): Likewise.
7343 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
7344 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
7345 (grub_script_lexer_init): Prototype update.
7346 (grub_script_lexer_record_start): Likewise.
7347 (grub_script_lexer_record_stop): Likewise.
7348 (grub_script_lexer_yywrap): New function prototype.
7349 (grub_script_lexer_fini): Likewise.
7350 (grub_script_execute_argument_to_string): Removed by...
7351 (grub_script_execute_argument_to_argv): ...better version.
7352
7353 * script/execute.c (ROUND_UPTO): New macro.
7354 (grub_script_execute_cmdline): Out of memory fixes.
7355 (grub_script_execute_menuentry): Likewise.
7356 (grub_script_execute_argument_to_string): Removed. Update all
7357 users by...
7358 (grub_script_execute_argument_to_argv): ...better version.
7359 * script/function.c (grub_script_function_create): Use
7360 grub_script_execute_argument_to_argv instead of
7361 grub_script_execute_argument_to_string.
7362
7363 * script/lexer.c (check_varstate): Removed.
7364 (check_textstate): Removed.
7365 (grub_script_lexer_record_start): Likewise.
7366 (grub_script_lexer_record_stop): Likewise.
7367 (recordchar): Replaced with...
7368 (grub_script_lexer_record): ...new function.
7369 (nextchar): Removed.
7370 (grub_script_lexer_init): Rewritten.
7371 (grub_script_yylex): Rewritten.
7372 (append_newline): New function.
7373 (grub_script_lexer_yywrap): New function.
7374 (grub_script_lexer_fini): New function.
7375 (grub_script_yyerror): Sets error flag.
7376
7377 * script/yylex.l: New file.
7378 (grub_lexer_yyfree): Wrapper for flex yyffre.
7379 (grub_lexer_yyalloc): Likewise.
7380 (grub_lexer_yyrealloc): Likewise.
7381 * script/parser.y: Refactored.
7382
7383 * script/script.c (grub_script_arg_add): Out of memory fixes.
7384 (grub_script_add_arglist): Likewise.
7385 (grub_script_create_cmdline): Likewise.
7386 (grub_script_create_cmdmenu): Likewise.
7387 (grub_script_add_cmd): Likewise.
7388 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
7389 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
7390 unnecessary code.
7391
7392 * tests/grub_script_echo1.in: New testcase.
7393 * tests/grub_script_vars1.in: New testcase.
7394 * tests/grub_script_echo_keywords.in: New testcase.
7395
1d63a066
VS
73962010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 Remove some redundancy in build system.
7399
7400 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
7401 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
7402 (TARGET_LDFLAGS): Add -nostdlib.
7403 (TARGET_IMG_LDFLAGS): Likewise.
7404 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
7405 anything since mmap isn't available.
7406 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
7407 Add util/time.c.
7408 (pkglib_MODULES): Remove reboot.mod.
7409 (reboot_mod_SOURCES): Removed.
7410 (reboot_mod_CFLAGS): Likewise.
7411 (reboot_mod_LDFLAGS): Likewise.
7412 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
7413 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
7414 (DEFSYMFILES): Add kernel_syms.lst.
7415 (kernel_img_HEADERS): Add common headers.
7416 (symlist.c): New target.
7417 (kernel_syms.lst): Likewise.
7418 (pkglib_MODULES): Add memdisk.mod.
7419 (memdisk_mod_SOURCES): New variable.
7420 (memdisk_mod_CFLAGS): Likewise.
7421 (memdisk_mod_LDFLAGS): Likewise.
7422 (pkglib_MODULES): Add reboot.mod.
7423 (reboot_mod_SOURCES): New variable.
7424 (reboot_mod_CFLAGS): Likewise.
7425 (reboot_mod_LDFLAGS): Likewise.
7426 (pkglib_MODULES): Add date.mod.
7427 (date_mod_SOURCES): New variable.
7428 (date_mod_CFLAGS): Likewise.
7429 (date_mod_LDFLAGS): Likewise.
7430 (pkglib_MODULES): Add datehook.mod.
7431 (datehook_mod_SOURCES): New variable.
7432 (datehook_mod_CFLAGS): Likewise.
7433 (datehook_mod_LDFLAGS): Likewise.
7434 (pkglib_MODULES): Add lsmmap.mod.
7435 (lsmmap_mod_SOURCES): New variable.
7436 (lsmmap_mod_CFLAGS): Likewise.
7437 (lsmmap_mod_LDFLAGS): Likewise.
7438 (pkglib_MODULES): Add boot.mod.
7439 (boot_mod_SOURCES): New variable.
7440 (boot_mod_CFLAGS): Likewise.
7441 (boot_mod_LDFLAGS): Likewise.
7442 * conf/i386-coreboot.rmk: Removed redundant parts.
7443 * conf/i386-ieee1275.rmk: Likewise.
7444 * conf/i386-pc.rmk: Likewise.
7445 * conf/mips-yeeloong.rmk: Likewise.
7446 * conf/mips.rmk: Likewise.
7447 * conf/powerpc-ieee1275.rmk: Likewise.
7448 * conf/sparc64-ieee1275.rmk: Likewise.
7449 * conf/x86_64-efi.rmk: Likewise.
7450 * conf/i386-coreboot.rmk: Moved qemu parts ..
7451 * conf/i386-qemu.rmk: ... here
7452 * conf/i386-efi.rmk: Moved common parts to...
7453 * conf/x86-efi.rmk: ... here.
7454 * conf/i386.rmk: Added modules common to all x86 variants.
7455 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
7456 * disk/memdisk.c: Remove grub/machine/kernel.h.
7457 * gensymlist.sh.in: Include symbol.h.
7458 * hook/datehook.c: Correct module name.
7459 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
7460 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
7461 * include/grub/i386/efi/serial.h: New file.
7462 * include/grub/x86_64/efi/serial.h: Likewise.
7463 * util/time.c: Likewise.
7464 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
7465
463ac55f
CK
74662010-03-14 Colin King <colin.king@ubuntu.com>
74672010-03-14 Colin Watson <cjwatson@ubuntu.com>
7468
7469 Shrink the pre-partition-table part of boot.img by eight bytes.
7470
7471 * boot/i386/pc/boot.S (ERR): New macro.
7472 (chs_mode): Use ERR.
7473 (geometry_error): Likewise.
7474 (hd_probe_error): Remove. This is only used once, so we wrwite
7475 it inline instead.
7476 (read_error): Instead of printing read_error_string, just set up
7477 %si and fall through to ...
7478 (error_message): ... this new function, also used by ERR.
7479
08e46ede
CW
74802010-03-14 Colin Watson <cjwatson@ubuntu.com>
7481
7482 Speed up consecutive hostdisk operations on the same device.
7483
7484 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
7485 (grub_util_biosdisk_open): Initialise disk->data.
7486 (struct linux_partition_cache): New structure.
7487 (linux_find_partition): Cache partition start positions; these are
7488 expensive to compute on every read and write.
7489 (open_device): Cache open file descriptor in disk->data, so that we
7490 don't have to reopen it and flush the buffer cache for consecutive
7491 operations on the same device.
7492 (grub_util_biosdisk_close): New function.
7493 (grub_util_biosdisk_dev): Set `close' member.
7494
7495 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
7496 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
7497 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7498 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7499 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
7500
4a6d2d06
VS
75012010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 Compile parts of grub-emu as modules.
7504
7505 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
7506 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
7507 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
7508 (all-local): Add $(GRUB_EMU).
7509 (install-local): Install $(GRUB_EMU).
7510 (uninstall): Uninstall $(GRUB_EMU).
7511 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
7512 * kern/dl.c: Likewise.
7513 * commands/sleep.c: Not include machine/time.h.
7514 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
7515 (COMMON_CFLAGS): Likewise.
7516 (sbin_UTILITIES): Remove grub-emu.
7517 (grub_emu_SOURCES): Removed.
7518 (kernel_img_RELOCATABLE): New variable.
7519 (pkglib_PROGRAMS): Add kernel.img.
7520 (kernel_img_SOURCES): New variable
7521 (kernel_img_CFLAGS): Likewise.
7522 (kernel_img_LDFLAGS): Likewise.
7523 (TARGET_NO_STRIP): Likewise.
7524 (TARGET_NO_DYNAMIC_MODULES): Likewise.
7525 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
7526 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
7527 (grub-emu): New target.
7528 (GRUB_EMU): New variable.
7529 * configure.ac: Whitelist -emu as possible x86_64 architecture.
7530 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
7531 * loader/xnu.c: Likewise.
7532 * include/grub/pci.h: Likewise.
7533 * genemuinit.sh: New file.
7534 * genemuinitheader.sh: Likewise.
7535 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
7536 Support TARGET_NO_DYNAMIC_MODULES.
7537 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
7538 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
7539 * disk/loopback.c: Likewise.
7540 * font/font_cmd.c: Likewise.
7541 * partmap/acorn.c: Likewise.
7542 * partmap/amiga.c: Likewise.
7543 * partmap/apple.c: Likewise.
7544 * partmap/gpt.c: Likewise.
7545 * partmap/msdos.c: Likewise.
7546 * partmap/sun.c: Likewise.
7547 * parttool/msdospart.c: Likewise.
7548 * term/gfxterm.c: Likewise.
7549 * video/bitmap.c: Likewise.
7550 * video/readers/jpeg.c: Likewise.
7551 * video/readers/png.c: Likewise.
7552 * video/readers/tga.c: Likewise.
7553 * video/video.c: Likewise.
7554 * util/grub-emu.c (read_command_list): Removed.
7555 (main): Don't call util_init_nls.
7556 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
7557 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
7558
91fdd2ed
VS
75592010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
7562 date.mod, datehook.mod.
7563 (datetime_mod_SOURCES): New variable.
7564 (datetime_mod_CFLAGS): Likewise.
7565 (datetime_mod_LDFLAGS): Likewise.
7566 (date_mod_SOURCES): Likewise.
7567 (date_mod_CFLAGS): Likewise.
7568 (date_mod_LDFLAGS): Likewise.
7569 (datehook_mod_SOURCES): Likewise.
7570 (datehook_mod_CFLAGS): Likewise.
7571 (datehook_mod_LDFLAGS): Likewise.
7572 * conf/sparc64-ieee1275.rmk: Likewise.
7573 * lib/ieee1275/datetime.c: New file.
7574
873ccae6
VS
75752010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
7578 (ieee1275_fb_mod_SOURCES): New variable.
7579 (ieee1275_fb_mod_CFLAGS): Likewise.
7580 (ieee1275_fb_mod_LDFLAGS): Likewise.
7581 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
7582 New proto.
7583 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
7584 (HEAP_MAX_ADDR): Likewise.
7585 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
7586 type.
7587 Correct stop condition.
7588 (grub_ieee1275_devices_iterate): New function.
7589 * video/ieee1275.c: New file.
7590
601c97c0
VS
75912010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
7594
7595 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
7596 as scratch.
7597 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
7598 SCRATCH_PAD_DISKBOOT as scratch.
7599 (bootit): Pass Openfirmware pointer in %o4.
7600 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
7601 of 0x200000.
7602 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
7603 with util/grub-mkrawimage.c.
7604 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
7605 * include/grub/aout.h (AOUT_MID_SUN): New definition.
7606 (grub_aout_get_type) [GRUB_UTIL]: Removed.
7607 (grub_aout_load) [GRUB_UTIL]: Likewise.
7608 * include/grub/kernel.h (grub_modules_get_end): New proto.
7609 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
7610 (SCRATCH_PAD_BOOT): New definition.
7611 (SCRATCH_PAD_DISKBOOT): Likewise.
7612 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
7613 * include/grub/sparc64/ieee1275/ieee1275.h
7614 (grub_ieee1275_original_stack): New variable
7615 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
7616 New definition
7617 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
7618 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
7619 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
7620 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
7621 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
7622 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
7623 (grub_platform_image_format_t): New type.
7624 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
7625 * kern/main.c (grub_modules_get_end)
7626 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
7627 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
7628 (codestart): Switch stacks.
7629 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
7630 variable.
7631 (grub_heap_init): Use grub_modules_get_end.
7632 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
7633 stack.
7634 * util/grub-mkrawimage.c (generate_image): Support sparc64.
7635 (main): Likewise.
7636 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
7637
d68b491e
TG
76382010-03-14 Thorsten Glaser <tg@mirbsd.org>
7639
7640 * util/grub-mkrescue.in: Base ISO UUID on UTC.
7641
4e02ed50
MK
76422010-03-08 Matt Kraai <kraai@ftbfs.org>
7643
7644 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
7645 bug #559005).
7646
1f15fc1e
VS
76472010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * genmoddep.awk: Output all missing symbols and not only first.
7650
fce5d8ff
VS
76512010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * NEWS: Put the date of 1.98 release.
7654
d1e8a02f
VS
76552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
7658 ft2build.h.
7659
696fd607
VS
76602010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
7663 completition in the middle of string.
7664
33e2e6f3
VS
76652010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * util/grub-mkrescue.in: Use mktemp with explicit template.
7668
b1f6d291
VS
76692010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
7672
2ac227c7
VS
76732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
7676 right pointer.
7677
8f9a632b
VS
76782010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 Fix FreeBSD compilation.
7681
7682 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
7683 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
7684
60b03859
VS
76852010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
7688
48a5a769
VS
76892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
7692
3ab4bd77
VS
76932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
7696
d116e0d8
RM
76972010-03-04 Robert Millan <rmh.grub@aybabtu.com>
7698
7699 Support relative image path in theme file.
7700
7701 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
7702 (image_set_property): Handle theme_dir and relative path.
7703
c7ef54aa
VS
77042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * configure.ac: Alias amd64 to x86_64.
7707
fcee14ed
VS
77082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * NEWS: mention multiboot on EFI.
7711
d0780363
VS
77122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * kern/main.c (grub_load_modules): Handle errors from init functions of
7715 embeded modules.
7716
41168ea4
VS
77172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * normal/autofs.c (autoload_fs_module): Handle errors.
7720
b54d93ac
VS
77212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 Disable linux.mod on qemu-mips since it's not functional and leads
7724 to compilation failure.
7725
7726 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
7727 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
7728 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
7729 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
7730 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
7731 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
7732 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
7733 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
7734 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
7735 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
7736 Reported by: BVK Chaitanya
7737
fc8345da
JU
77382010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
7739
7740 * INSTALL: Add gettext as a dependency and add qemu to a new section
7741 "Prerequisites for make-check".
7742
4760f979
CF
77432010-03-04 Christian Franke <franke@computer.org>
7744
7745 * util/grub-pe2elf.c: Add missing include "progname.h".
7746
f209b5b2
VS
77472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * normal/crypto.c (read_crypto_list): Fix a typo.
7750 Reported by: Seth Goldberg.
7751
b4b7be98
VS
77522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 7755 Reported by: Seth Goldberg.
b4b7be98 7756
c0ee0385
VS
77572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
7760 ascii.bitmaps.
7761
a8efbf64
VS
77622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 7765 Reported by: Seth Goldberg.
a8efbf64 7766
08dcd913
VS
77672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * util/i386/efi/grub-install.in: Copy gettext files.
7770
c4d0b332
VS
77712010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
7774
c6f2fe52
VS
77752010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 Wait for user entry basing on presence of output rather than on errors.
7778
7779 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
7780 (grub_install_newline_hook): Likewise.
7781 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
7782 * normal/menu.c (show_menu): Check line_counter to determine presence
7783 of output.
7784 * normal/term.c (grub_normal_line_counter): New variable.
7785 (grub_normal_get_line_counter): New function.
7786 (grub_install_newline_hook): Likewise.
7787
5382b1e4
VS
77882010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
7791
5519963b
VS
77922010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * configure.ac: Update version to 1.98.
7795
72b28631
VS
77962010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * util/grub.d/10_linux.in (linux_entry): Don't default to
7799 gfxpayload=keep if Linux doesn't support video handover.
7800
c140a180
VS
78012010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 Don't compile video modules on yeeloong since video subsystem is part
7804 of kernel.
7805
7806 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
7807 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
7808 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
7809 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
7810 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
7811 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
7812 * include/grub/bitmap_scale.h: Likewise.
7813 * include/grub/bufio.h: Likewise.
7814 * include/grub/font.h: Likewise.
7815 * include/grub/gfxterm.h: Likewise.
7816 * include/grub/video.h: Likewise.
7817 * include/grub/vbe.h: Don't include video_fb.h.
7818 * video/i386/pc/vbe.c: Include video_fb.h.
7819 * commands/i386/pc/vbetest.c: Include video.h.
7820
a0ca21c2
CW
78212010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
7822
7823 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
7824 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
7825 default entry if GRUB_SAVEDEFAULT=true. This allows using
7826 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
7827 saving a new default on every boot.
7828
4a8a763c
VS
78292010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * normal/crypto.c (read_crypto_list): Fix a memory leak.
7832 * normal/term.c (read_terminal_list): Likewise.
7833 * normal/main.c (grub_normal_init_page): Likewise.
7834 (grub_normal_read_line_real): Likewise.
7835
607ffde2
VS
78362010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
7839 memory leak.
7840 Reported by: Seth Goldberg.
7841
2b8fa975
CW
78422010-02-24 Joey Korkames <joey+lists@kidfixit.com>
7843
7844 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
7845 duplicate declaration of `start'.
7846
618307dd
VS
78472010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7848
7849 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
7850 filename.
7851 Reported by: Georgy Buranov
7852
7dd05b96 78532010-02-20 Carles Pina i Estany <carles@pina.cat>
7854
7855 * util/grub-mkrawimage.c (usage): Change string formatting to
7856 improve gettext.
7857
d1484a42
MRA
78582010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7859
7860 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
7861 backspace keys.
7862
42b1d186
VS
78632010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
7866 Reported by: Michael Suchanek.
7867
78682010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
7869
7870 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
7871 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
7872
d9f31a41
VS
78732010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 Remove any reference to non-free fonts.
7876
7877 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
7878 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
7879 uses non-free components.
7880 * font/font.c (grub_font_get_name): Remove example name.
7881 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
7882 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7883 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
7884 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
7885
2793c71e
GB
78862010-02-16 Georgy Buranov <gburanov@gmail.com>
7887
7888 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
7889
402e3779
VS
78902010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
7893 Double divisor.
7894 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
7895 features.
7896 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
7897
0dd1e0dd
VS
78982010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * gensymlist.sh.in: Use TARGET_CC instead of CC.
7901
6fa7cfce
ST
79022010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7903
7904 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
7905 * docs/grub.texi (Command-line and menu entry commands): Document play
7906 command.
7907
37c8483b
ST
79082010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7909
7910 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
7911 parse arguments as inline tempo and notes. Move code for playing notes
7912 to...
7913 (play): ... new function.
7914
14da0fb7
ST
79152010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7916
7917 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
7918 grub_uint16_t instead of short.
7919 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
7920 disk from little endian to cpu endianness.
7921
04459e70
ST
79222010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
7923
7924 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
7925 GRUB_TICKS_PER_SECOND instead of 120.
7926
a0876943
VS
79272010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
7930 escape sequence after \e.
7931
e29f95dc
VS
79322010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
7935 non-ASCII characters.
7936
d27859b2
VS
79372010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
7940 set root in single quotes to prevent \, from being unescaped.
7941
bc028f2f
VS
79422010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 Prevent unknown commands from stopping menuentry execution.
7945
7946 * script/execute.c (grub_script_execute_cmdline): Print error after
7947 unknown command.
7948
095f5f82
VS
79492010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
7952 Reported by: Pavel Pisa.
7953
8c717950
VS
79542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
7957
904935c3
VS
79582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 Merge grub_ieee1275_map_physical into grub_map and rename to
7961 grub_ieee1275_map
7962
7963 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
7964 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
7965 Remove.
7966 * kern/ieee1275/openfw.c (grub_map): Rename to ...
7967 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
7968 necessary.
7969 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
7970
5b59a4e3
VS
79712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
7974 opening and not after.
7975
69e137e8
VS
79762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
7979 constants.
7980
2c0fcc36
VS
79812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
7984 (alloc_phys): Use ALIGN_UP instead of align_addr.
7985
8c6052ce
VS
79862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7987
7988 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
7989
17cec782
VS
79902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
7993
e0128bbd
VS
79942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
7997 verbose dprintf.
7998
ca62070b
VS
79992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 Fix over-4GiB seek on sparc64.
8002
8003 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
8004 Replace pos_i and pos_lo with pos. All users updated.
8005 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8006 New constant.
8007 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8008 Likewise.
8009 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
8010 and pos_lo.
8011
bdca2607
VS
80122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * util/grub-mkrawimage.c (main): Call set_program_name.
8015
da278c4d
VS
80162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 Properly align 64-bit targets.
8019
8020 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
8021 (generate_image): Use ALIGN_ADDR.
8022
b274d734
VS
80232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 Properly create cross-endian images.
8026
8027 * include/grub/types.h (grub_host_to_target_addr): New macro
8028 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
8029
82da2062
VS
80302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
8033
7cae4377
VS
80342010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
8037
8038 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
8039 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
8040 (grub_linux_boot): Divide by 64K when on VESA.
8041
65a533e7
VS
80422010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 Support GRUB_GFXPAYLOAD_LINUX.
8045
8046 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
8047 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
8048
dd01d397
VS
80492010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
8052 to show messages instead of discarding them.
8053 Process errors after executing command and not before. Keep old method
8054 too as precaution.
8055
660960d6
VS
80562010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * configure.ac: Check for ft2build.h.
8059
62509f04
VS
80602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
8063
473df63d
VS
80642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * genkernsyms.sh.in: Use TARGET_CC.
8067
c98d2a13
CW
80682010-02-07 Colin Watson <cjwatson@ubuntu.com>
8069
8070 * NEWS: Update.
8071
6e14234c
VS
80722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
8075 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
8076 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 8077
b255e9cf
YB
80782010-02-07 Yves Blusseau <blusseau@zetam.org>
8079
6e14234c 8080 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 8081
98e6959d
VS
80822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 Fix warnings in grub-emu when compiling with maximum warning options.
8085
8086 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
8087 (grub_arch_modules_addr): Return 0 and not NULL.
8088 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 8089 (xstrdup): Use newstr instead of dup.
f88d801b
VS
8090 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
8091 of disk to dsk to avoid shadowing.
74e4934e
VS
8092 (find_free_slot): Fix prototype.
8093 * util/getroot.c (grub_util_is_dmraid): Make static.
8094 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
8095 Add missing prototype.
8096 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 8097
74e31b5c
VS
80982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * loader/i386/linux.c (grub_linux_setup_video): Handle error
8101 appropriately.
8102
6b2ad14b
VS
81032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
8106 code out.
8107
8f891adc
VS
81082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
8111 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
8112 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
8113 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
8114 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
8115 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
8116
74b45184
VS
81172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * include/grub/err.h (grub_err_printf): Don't export.
8120
a4bced77
VS
81212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
8124
007d0695
VS
81252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * include/grub/i18n.h (grub_gettext_dummy): Removed.
8128 * kern/misc.c (grub_gettext_dummy): Make static.
8129
b6c0d9c2
VS
81302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
8133 by non-valid ones.
8134 * kern/term.c (grub_putchar): Likewise.
8135
f51a90d0
VS
81362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
8139 buggy hook call and memory leak.
8140
6846cec5
VS
81412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
8144
468d69fe
VS
81452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
8148
51906b8c
VS
81492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
8152 modevar.
8153 Return grub_errno on allocation error.
8154
09706ce5
VS
81552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
8158
911df80c
YB
81592010-02-06 Yves Blusseau <blusseau@zetam.org>
8160
8161 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
8162 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
8163
3746a6bc
VS
81642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
8167 non-pxe disk.
8168 (grub_pxefs_open): Likewise.
8169
09706ce5
VS
81702010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8171
8172 * util/grub.d/10_hurd.in: Add --class information to menuentries.
8173 * util/grub.d/10_kfreebsd.in: Likewise.
8174 * util/grub.d/10_linux.in: Likewise.
8175
7cc192d9
VS
81762010-02-06 Colin D Bennett <colin@gibibit.com>
8177
8178 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
8179 (gfxmenu_mod_SOURCES): New variable.
8180 (gfxmenu_mod_CFLAGS): Likewise.
8181 (gfxmenu_mod_LDFLAGS): Likewise.
8182 * include/grub/term.h (grub_term_set_current_output): Declare
8183 argument as const.
8184 * docs/gfxmenu-theme-example.txt: New file.
8185 * gfxmenu/gfxmenu.c: Likewise.
8186 * gfxmenu/gui_box.c: Likewise.
8187 * gfxmenu/gui_canvas.c: Likewise.
8188 * gfxmenu/gui_circular_progress.c: Likewise.
8189 * gfxmenu/gui_image.c: Likewise.
8190 * gfxmenu/gui_label.c: Likewise.
8191 * gfxmenu/gui_list.c: Likewise.
8192 * gfxmenu/gui_progress_bar.c: Likewise.
8193 * gfxmenu/gui_string_util.c: Likewise.
8194 * gfxmenu/gui_util.c: Likewise.
8195 * gfxmenu/icon_manager.c: Likewise.
8196 * gfxmenu/model.c: Likewise.
8197 * gfxmenu/named_colors.c: Likewise.
8198 * gfxmenu/theme_loader.c: Likewise.
8199 * gfxmenu/view.c: Likewise.
8200 * gfxmenu/widget-box.c: Likewise.
8201 * include/grub/gfxmenu_model.h: Likewise.
8202 * include/grub/gfxmenu_view.h: Likewise.
8203 * include/grub/gfxwidgets.h: Likewise.
8204 * include/grub/gui.h: Likewise.
8205 * include/grub/gui_string_util.h: Likewise.
8206 * include/grub/icon_manager.h: Likewise.
8207
82082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 Agglomerate scrolling in gfxterm.
8211
8212 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
8213 (grub_virtual_screen_setup): Initialise 'total_screen'.
8214 (write_char): Split to ...
8215 (paint_char): ... this ...
8216 (write_char): ... and this.
8217 (paint_char): Handle delayed scrolling.
8218 (draw_cursor): Likewise.
8219 (scroll_up): Split to ...
8220 (real_scroll): ... this ...
8221 (scroll_up): ... and this.
8222 (real_scroll): Handle multi-line scroll and draw below-the-bottom
8223 characters.
8224 (grub_gfxterm_refresh): Call real_scroll.
8225
82262010-02-06 Colin D Bennett <colin@gibibit.com>
8227
8228 * include/grub/misc.h (grub_iscntrl): New inline function.
8229 (grub_isalnum): Likewise.
8230 (grub_strtol): Likewise.
8231
82322010-02-06 Colin D Bennett <colin@gibibit.com>
8233
8234 * normal/menu_text.c (get_entry_number): Move from here ...
8235 * normal/menu.c (get_entry_number): ... moved here.
8236 * include/grub/menu.h (grub_menu_get_default_entry_index):
8237 New prototype.
8238 * normal/menu.c (grub_menu_get_default_entry_index): New function.
8239 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
8240 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
8241 (grub_menu_viewer_should_return): Likewise.
8242 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
8243 * normal/menu_text.c (run_menu): Enable menu switching.
8244 * normal/menu_viewer.c (should_return): New variable.
8245 (menu_viewer_changed): Likewise.
8246 (grub_menu_viewer_show_menu): Handle menu viewer changes.
8247 (grub_menu_viewer_should_return): New function.
8248 (menuviewer_write_hook): Likewise.
8249 (grub_menu_viewer_init): Likewise.
8250
82512010-02-06 Colin D Bennet <colin@gibibit.com>
82522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 Support for gfxterm in a window.
8255
8256 * include/grub/gfxterm.h: New file.
8257 * include/grub/video.h (struct grub_video_rect): New declaration.
8258 (grub_video_rect_t): Likewise.
8259 * term/gfxterm.c (struct grub_gfxterm_window): New type.
8260 (refcount): New variable.
8261 (render_target): Likewise.
8262 (window): Likewise.
8263 (repaint_callback): Likewise.
8264 (grub_virtual_screen_setup): Use 'render_target'.
8265 (init_window): New function.
8266 (grub_gfxterm_init_window): Likewise.
8267 (grub_gfxterm_init): Check reference counter.
8268 Use init_window.
8269 (destroy_window): New function.
8270 (grub_gfxterm_destroy_window): Likewise.
8271 (grub_gfxterm_fini): Check reference counter.
8272 Use destroy_window.
8273 (redraw_screen_rect): Restore viewport.
8274 Use 'render_target' and 'window'.
8275 Call 'repaint_callback'.
8276 (write_char): Use 'render_target'.
8277 (draw_cursor): Likewise.
8278 (scroll_up): Restore viewport.
8279 Use 'render_target' and 'window'.
8280 Call 'repaint_callback'.
8281 (grub_gfxterm_cls): Likewise.
8282 (grub_gfxterm_refresh): Use 'window'.
8283 (grub_gfxterm_set_repaint_callback): New function.
8284 (grub_gfxterm_background_image_cmd): Use 'window'.
8285 (grub_gfxterm_get_term): New function.
8286 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
8287
82882010-02-06 Colin D Bennett <colin@gibibit.com>
8289
8290 Bitmap scaling support.
8291
8292 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
8293 (bitmap_scale_mod_SOURCES): New variable.
8294 (bitmap_scale_mod_CFLAGS): Likewise.
8295 (bitmap_scale_mod_LDFLAGS): Likewise.
8296 * include/grub/bitmap_scale.h: New file.
8297 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
8298 (background_image_cmd_options): New variable.
8299 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
8300 (cmd): Rename and change type to ...
8301 (background_image_cmd_handle): ... this. All users updated.
8302 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
8303 * video/bitmap_scale.c: New file.
8304
83052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 SDL support.
8308
8309 * Makefile.in (LIBSDL): New variable.
8310 (enable_grub_emu_sdl): Likewise.
8311 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
8312 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
8313 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
8314 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
8315 * util/sdl.c: New file.
8316
83172010-02-06 Colin D Bennett <colin@gibibit.com>
83182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 Double buffering support.
8321
8322 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
8323 * include/grub/video.h: Update comment.
8324 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8325 New type.
8326 (grub_video_fb_doublebuf_blit_init): New prototype.
8327 * term/gfxterm.c (scroll_up): Support double buffering.
8328 (grub_gfxterm_refresh): Likewise.
8329 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
8330 (grub_video_fb_doublebuf_blit_init): Likewise.
8331 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
8332 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
8333 'displayed_page', 'render_page' and 'update_screen'.
8334 (grub_video_vbe_fini): Free offscreen buffer.
8335 (doublebuf_pageflipping_commit): New function.
8336 (doublebuf_pageflipping_update_screen): Likewise.
8337 (doublebuf_pageflipping_init): Likewise.
8338 (double_buffering_init): Likewise.
8339 (grub_video_vbe_setup): Enable doublebuffering.
8340 (grub_video_vbe_swap_buffers): Implement.
8341 (grub_video_vbe_set_active_render_target): Handle double buffering.
8342 (grub_video_vbe_get_active_render_target): Likewise.
8343 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
8344 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
8345 (grub_video_vbe_enable_double_buffering): Likewise.
8346 (grub_video_vbe_swap_buffers): Use update_screen.
8347 (grub_video_set_mode): Use double buffering.
8348
83492010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8350
8351 * maintainance/gentrigtables.py: Remove.
8352 * lib/trig.c: Likewise.
8353
8354 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
8355
8356 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
8357 `trigtables.c'.
8358 (trigtables.c): New rule.
8359 (gentrigtables): Likewise.
8360 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
8361
83622010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8363
8364 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
8365 integer constants.
8366
83672010-02-06 Colin D Bennet <colin@gibibit.com>
8368
8369 Trigonometry support.
8370
8371 * include/grub/trig.h: New file.
8372 * lib/trig.c: Likewise.
8373 * maintainance/gentrigtables.py: Likewise.
8374 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
8375 (trig_mod_SOURCES): New variable.
8376 (trig_mod_CFLAGS): Likewise.
8377 (trig_mod_LDFLAGS): Likewise.
8378
5562834e
VS
83792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
8382 disk devices.
8383
4f8528fc
VS
83842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
8387 error.
8388
2b4068e9
VS
83892010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * util/hostdisk.c (open_device): Don't use partition device when reading
8392 before the partition.
8393 (grub_util_biosdisk_read): Don't read from partition and before the
8394 partition in single operation.
8395 (grub_util_biosdisk_write): Don't write to partition and before the
8396 partition in single operation.
8397
399f6e4d
TL
83982010-02-03 Torsten Landschoff <torsten@debian.org>
8399
8400 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8401 last sectors.
8402
996649b0
VS
84032010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
8406 CDROM reads.
8407 (grub_biosdisk_write): Refuse to write to CDROM.
8408
3b205d4d
VS
84092010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
8412
61e89d9d
VS
84132010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 * font/font.c (find_glyph): Check that bmp_idx is available before
8416 using it.
8417 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
8418 with (font == NULL).
8419
bf7fcba2
CS
84202010-01-28 Christian Schmitt <chris@ilovelinux.de>
8421
8422 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
8423
f45d2663
BC
84242010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
8425
8426 * include/grub/script_sh.h (sourcecode): Add const qualifier.
8427 * util/grub-script-check.c (getline): Fix empty lines case.
8428
ec1444e6
RM
84292010-01-28 Robert Millan <rmh.grub@aybabtu.com>
8430
8431 * Makefile.in (check): Exit with fail status when one of the tests
8432 fails.
8433 * tests/example_functional_test.c (example_test): Fix reversed assert.
8434 * tests/example_unit_test.c (example_test): Likewise.
8435
2e1cb9bb
CW
84362010-01-28 Colin Watson <cjwatson@ubuntu.com>
8437
8438 * util/grub.d/10_linux.in: This script does not use any of the
8439 contents of gettext.sh, only the external command `gettext', so stop
8440 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
8441 the same prefix as GRUB.)
8442 * util/grub.d/10_kfreebsd.in: Likewise.
8443
63533ab0
VS
84442010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
8447 of the line.
8448
989e1f93
VS
84492010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8452 last sectors.
8453
e709ebe2
VS
84542010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
8457 having a 4KiB and not 32KiB buffer size.
8458
27dea7ed
RM
84592010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8460
8461 * util/hostfs.c: Include `<errno.h>'.
8462 (grub_hostfs_read): Handle errors from fseeko() and fread().
8463
67667b9c
RM
84642010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8465
8466 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
8467 loop when using read hooks on files whose size isn't sector-aligned.
8468
c294d9d8
RM
84692010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8470
8471 Remove unused parameter.
8472
8473 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
8474 (grub_iso9660_open): Remove initialization of `data->length'.
8475
af75a9f1
RM
84762010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8477
8478 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
8479 memleak conditions.
8480
254e2ce5 84812010-01-27 Carles Pina i Estany <carles@pina.cat>
8482
8483 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
8484 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
8485
b510928c 84862010-01-26 Carles Pina i Estany <carles@pina.cat>
8487
8488 * util/bin2h.c (usage): Fix warning (space after backslash).
8489
aa2f9dd2 84902010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 8491
8492 * font/font.c: Include `grub/fontformat.h.
8493 Remove font file format constants.
8494 (grub_font_load): Use the new macros.
8495 * include/grub/fontformat.h: New file.
8496 * util/grub-mkfont.c: Include `grub/fontformat.c'.
8497 (write_font_pf2): Use the new macros.
8498
94e7e712
RM
84992010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8500
8501 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
8502 does.
8503
3973a59a
RM
85042010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8505
8506 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
8507
8508 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
8509 (_start): Macroify `0x7F'.
8510
8511 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
8512 (make_install_device): Use "(pxe)" as fallback prefix when booting
8513 via PXE.
8514
42e0cba3
GS
85152010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * configure.ac: Reset LIBS after check for libgcc symbols.
8518
847effd8
CW
85192010-01-25 Colin Watson <cjwatson@ubuntu.com>
8520
8521 * util/hostdisk.c (open_device): Add trailing newline to debug
8522 message.
8523
ea4a7e35
GS
85242010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8525
8526 * configure.ac: Check for `limits.h'.
8527 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
8528
67951a53
RM
85292010-01-24 Robert Millan <rmh.grub@aybabtu.com>
8530
8531 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
8532 capitalize error strings.
8533
c273d4ce
ST
85342010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
8535
8536 * util/grub.d/10_hurd.in: Add a recovery mode.
8537
69be5b74
VS
85382010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * configure.ac: Check for libgcc symbols with -nostdlib.
8541
fc9e5810
BC
85422010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
8543
8544 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
8545
4b358c0a
VS
85462010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
8549 stack since heap may be unavailable at that point.
8550 (grub_ofconsole_gotoxy): Likewise.
8551
454fcd1c
VS
85522010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * configure.ac: Check for _restgpr_14_x.
8555 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
8556 and _savegpr_* prototypes.
8557
566863ca
RM
85582010-01-22 Robert Millan <rmh.grub@aybabtu.com>
8559
8560 Use generic grub_reboot() for i386-efi.
8561
8562 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
8563 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
8564 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
8565
bf86e59a
VS
85662010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
8569 presence of "prefix" variable as it breaks when normal.mod is
8570 embedded.
8571
d645e0f8
VS
85722010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
8575 stack since heap is unavailable at that point.
8576
f9ab2e25
VS
85772010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
8580 (grub_freebsd_bootinfo): Rewritten.
8581 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
8582
01fc7054
VS
85832010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
8586
caab4fd6
RM
85872010-01-21 Robert Millan <rmh.grub@aybabtu.com>
8588
8589 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
8590 domain now.
8591
67eb1427
FZ
85922010-01-20 Felix Zielcke <fzielcke@z-51.de>
8593
8594 * util/misc.c (make_system_path_relative_to_its_root): Change the work
8595 around for handling "/" to the correct fix. Fix a memory leak. Use
8596 xstrdup instead of strdup.
8597
a9ed4ff3
VS
85982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
8601
86022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
8603
8604 Optimise glyph lookup by Basic Multilingual Plane lookup array.
8605
8606 * font/font.c (struct grub_font): New member 'bmp_idx'.
8607 (font_init): Initialise 'bmp_idx'.
8608 (load_font_index): Fill 'bmp_idx'.
8609 (find_glyph): Make inline. Use bmp_idx for BMP characters.
8610
48209f4f
VS
86112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
8614 unnecessary calls.
8615
9f0a4bb7
VS
86162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 Move context handling out of the kernel.
8619
8620 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
8621 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
8622 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
8623 * conf/i386-efi.rmk: Likewise.
8624 * conf/i386-ieee1275.rmk: Likewise.
8625 * conf/i386-pc.rmk: Likewise.
8626 * conf/powerpc-ieee1275.rmk: Likewise.
8627 * conf/sparc64-ieee1275.rmk: Likewise.
8628 * conf/x86_64-efi.rmk: Likewise.
8629 * include/grub/env.h: Include grub/menu.h.
8630 (grub_env_var_type): Removed.
8631 (grub_env_var): Replaced field 'type' with 'global'.
8632 (grub_env_find): New prototype.
8633 (grub_env_context_open): Remove EXPORT_FUNC.
8634 (grub_env_context_close): Likewise.
8635 (grub_env_export): Likewise.
8636 (grub_env_set_data_slot): Removed.
8637 (grub_env_get_data_slot): Likewise.
8638 (grub_env_unset_data_slot): Likewise.
8639 (grub_env_unset_menu): New prototype.
8640 (grub_env_set_menu): Likewise.
8641 (grub_env_get_menu): Likewise.
8642 * include/grub/env_private.h: New file.
8643 * include/grub/normal.h (grub_context_init): New prototype.
8644 (grub_context_fini): Likewise.
8645 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
8646 * normal/context.c (grub_cmd_export): ... to here.
8647 * kern/env.c: Include env_private.h.
8648 (HASHSZ): Moved to include/grub/env_private.h.
8649 (grub_env_context): Likewise.
8650 (grub_env_sorted_var): Likewise.
8651 (current_context): Renamed from this ...
8652 (grub_current_context): ...to this. 'static' removed. All users updated.
8653 (grub_env_find): Removed 'static'.
8654 (grub_env_context_open): Moved to normal/context.c.
8655 (grub_env_context_close): Likewise.
8656 (grub_env_export): Likewise.
8657 (mangle_data_slot_name): Removed.
8658 (grub_env_set_data_slot): Likewise.
8659 (grub_env_get_data_slot): Likewise.
8660 (grub_env_unset_data_slot): Likewise.
8661 * kern/main.c (grub_set_root_dev): Don't export root.
8662 It will be done later.
8663 (grub_main): Don't export prefix.
8664 It will be done later.
8665 * normal/context.c: New file.
8666 * normal/main.c (free_menu): Use grub_env_unset_menu.
8667 (grub_normal_add_menu_entry): Use grub_env_get_menu.
8668 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
8669 (GRUB_MOD_INIT(normal)): Call grub_context_init.
8670 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
8671
8dd35b8c
VS
86722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 setpci support.
8675
8676 * commands/setpci.c: New file.
8677 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
8678 (setpci_mod_SOURCES): New variable.
8679 (setpci_mod_CFLAGS): Likewise.
8680 (setpci_mod_LDFLAGS): Likewise.
8681
449193d5
VS
86822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 Byte-addressable PCI configuration space.
8685
8686 * bus/pci.c (grub_pci_make_address): Use byte address instead of
8687 dword address.
8688 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
8689 GRUB_PCI_REG_CACHELINE.
8690 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
8691 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
8692 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
8693 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
8694 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
8695 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
8696 grub_pci_make_address.
8697 (lock_rom_area): Likewise.
8698 * commands/lspci.c (grub_lspci_iter): Use macroses
8699 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
8700 of grub_pci_make_address.
8701 * disk/ata.c (grub_ata_pciinit): Likewise.
8702 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
8703 (GRUB_PCI_REG_VENDOR): Likewise.
8704 (GRUB_PCI_REG_DEVICE): Likewise.
8705 (GRUB_PCI_REG_COMMAND): Likewise.
8706 (GRUB_PCI_REG_STATUS): Likewise.
8707 (GRUB_PCI_REG_REVISION): Likewise.
8708 (GRUB_PCI_REG_CLASS): Likewise.
8709 (GRUB_PCI_REG_CACHELINE): Likewise.
8710 (GRUB_PCI_REG_LAT_TIMER): Likewise.
8711 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
8712 (GRUB_PCI_REG_BIST): Likewise.
8713 (GRUB_PCI_REG_ADDRESSES): Likewise.
8714 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8715 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8716 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8717 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8718 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8719 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8720 (GRUB_PCI_REG_CIS_POINTER): Likewise.
8721 (GRUB_PCI_REG_SUBVENDOR): Likewise.
8722 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
8723 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
8724 (GRUB_PCI_REG_CAP_POINTER): Likewise.
8725 (GRUB_PCI_REG_IRQ_LINE): Likewise.
8726 (GRUB_PCI_REG_IRQ_PIN): Likewise.
8727 (GRUB_PCI_REG_MIN_GNT): Likewise.
8728 (GRUB_PCI_REG_MAX_LAT): Likewise.
8729 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
8730 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
8731 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 8732 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
8733 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
8734 space.
8735
96d73208
RM
87362010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8737
8738 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
8739 can be reliably determined to be supported.
8740
d4484482
RM
87412010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8742
8743 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
8744 that VESA is supported.
8745 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
8746 supported.
8747
00308ecf
VS
87482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
8751
f66924a4
RM
87522010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8753
8754 * util/misc.c (make_system_path_relative_to_its_root): Work around
8755 special-casing of "/", as previous incarnation of this routine did.
8756
cbca0ada
VS
87572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 Fix any-emu compilation.
8760
8761 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
8762 * grub_bin2h_SOURCES: New variable.
8763
34a66d99
RM
87642010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8765
8766 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
8767
94fabf58
RM
87682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8769
8770 * util/grub.d/00_header.in: Fix handling of locale_dir.
8771
02cf98ca
VS
87722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
8775 as possible unifont location (Gentoo).
8776 Reported by: Alexander Brüning
8777
327dbcd7
VS
87782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Don't try to generate lists for kernel.img.
8781
8782 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
8783 (pkglib_MODULES): Remove kernel.img.
8784 (kernel_img_EXPORTS): Removed.
8785 (kernel_img_RELOCATABLE): New variable.
8786 * conf/x86_64-efi.rmk: Likewise.
8787 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
8788
ca467290
VS
87892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
8792 grub_xasprintf or grub_snprintf.
8793 (grub_vsprintf): Likewise.
8794 (grub_snprintf): New proto.
8795 (grub_vsnprintf): Likewise.
8796 (grub_xasprintf): Likewise.
8797 (grub_xvasprintf): Likewise.
8798 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
8799 (grub_sprintf): Removed.
8800 (grub_vsnprintf): New function.
8801 (grub_snprintf): Likewise.
8802 (grub_xvasprintf): Likewise.
8803 (grub_xasprintf): Likewise.
8804 (grub_vsprintf): Renamed to ...
8805 (grub_vsnprintf_real): ...this. New argument max_len.
8806
aca655fd
BC
88072010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
8808
8809 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
8810 fix grub-script-check warning.
8811
7ee92c32
VS
88122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * include/grub/font.h (grub_font_load): Fix prototype.
8815
f80927ca
VS
88162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
8819
119c50ea
VS
88202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 * include/grub/x86_64/at_keyboard.h: New file.
8823
47d5f3c1
VS
88242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * loader/mips/linux.c: Include missing grub/i18n.h.
8827
55ff5266
RM
88282009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8829
8830 * normal/menu.c (notify_execution_failure): Clarify error message.
8831
c893cc87
RM
88322009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8833
8834 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
8835 return value (and revert all return statements). Update users.
8836
917dd370
CW
88372010-01-20 Dan Merillat <debian@dan.merillat.org>
8838
8839 * kern/device.c (grub_device_iterate): Allocate new part_ent
8840 structure based on sizeof (*p) rather than sizeof (p->next), to
8841 account for structure padding.
8842
8843 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
8844 disk is NULL, which might happen for LVM physical volumes with no
8845 LVM signature.
8846
d4a4ee57
RM
88472009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8848
8849 * loader/mips/linux.c (grub_cmd_initrd)
8850 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
8851
88522009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8853
8854 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
8855 (grub_video_video_init, grub_video_bitmap_init)
8856 (grub_font_manager_init, grub_term_gfxterm_init)
8857 (grub_at_keyboard_init): New extern declarations.
8858 (grub_machine_init): Initialize gfxterm and at_keyboard.
8859
8860 * kern/main.c (grub_main): Revert grub_printf delay kludge.
8861
8862 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
8863 `gfxterm.mod' into core image.
8864
8865 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8866 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8867 (kernel_img_FORMAT): Copy to ...
8868
8869 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8870 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8871 (kernel_img_FORMAT): ... here, and ...
8872
8873 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8874 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8875 (kernel_img_FORMAT): ... here.
8876
8877 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
8878 and input (at_keyboard) terminals in kernel.
8879 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
8880
8881 (pkglib_MODULES): Remove `pci.mod'.
8882 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
8883 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
8884 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
8885 (at_keyboard_mod_LDFLAGS): Remove variables.
8886
88872010-01-11 Felix Zielcke <fzielcke@z-51.de>
8888
8889 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
8890
88912009-12-10 Robert Millan <rmh.grub@aybabtu.com>
8892
8893 * include/grub/mips/libgcc.h: Only export symbols for functions
8894 that libgcc provides.
8895
88962009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 MIPS support.
8899
8900 * bus/bonito.c: New file.
8901 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
8902 GRUB_PCI_NUM_DEVICES.
8903 * term/i386/pc/serial.c: Move to ...
8904 * term/serial.c: ... here. All users updated.
8905 * util/i386/pc/grub-mkimage.c: Move to ...
8906 * util/grub-mkrawimage.c: ... here. All users updated.
8907 * term/i386/pc/at_keyboard.c: Move to ...
8908 * term/at_keyboard.c: ... here. All users updated.
8909 * conf/mips-qemu-mips.rmk: New file.
8910 * conf/mips-yeeloong.rmk: Likewise.
8911 * conf/mips.rmk: Likewise.
8912 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
8913 mipsel-qemu-mips.
8914 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
8915 to port addresses.
8916 (grub_ata_pciinit): Support CS5536.
8917 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
8918 * font/font_cmd.c (loadfont_command): Open file before passing it to
8919 grub_font_load.
8920 (pseudo_file_read): New function.
8921 (pseudo_file_close): Likewise.
8922 (pseudo_fs): New structure.
8923 (load_font_module): New function.
8924 (GRUB_MOD_INIT(font_manager)): Load embedded font.
8925 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
8926 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
8927 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
8928 * include/grub/i386/at_keyboard.h: Split into ...
8929 * include/grub/at_keyboard.h: ... this ...
8930 * include/grub/i386/at_keyboard.h: ... and this.
8931 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
8932 New prototype.
8933 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
8934 updated.
8935 (grub_elf64_size): Likewise.
8936 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
8937 filename.
8938 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
8939 * include/grub/i386/coreboot/serial.h: Rewritten.
8940 * include/grub/i386/ieee1275/serial.h: Include
8941 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
8942 * include/grub/i386/pc/serial.h: Moved from here ...
8943 * include/grub/serial.h: ... to here. All users updated.
8944 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
8945 (GRUB_PCI_NUM_BUS): Likewise.
8946 (GRUB_PCI_NUM_DEVICES): Likewise.
8947 (grub_pci_device_map_range): Add missing volatile keyword.
8948 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
8949 * include/grub/mips/at_keyboard.h: New file.
8950 * include/grub/mips/cache.h: Likewise.
8951 * include/grub/mips/io.h: Likewise.
8952 * include/grub/mips/kernel.h: Likewise.
8953 * include/grub/mips/libgcc.h: Likewise.
8954 * include/grub/mips/pci.h: Likewise.
8955 * include/grub/mips/qemu-mips/boot.h: Likewise.
8956 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8957 * include/grub/mips/qemu-mips/loader.h: Likewise.
8958 * include/grub/mips/qemu-mips/memory.h: Likewise.
8959 * include/grub/mips/qemu-mips/serial.h: Likewise.
8960 * include/grub/mips/qemu-mips/time.h: Likewise.
8961 * include/grub/mips/relocator.h: Likewise.
8962 * include/grub/mips/time.h: Likewise.
8963 * include/grub/mips/types.h: Likewise.
8964 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
8965 * include/grub/mips/yeeloong/boot.h: Likewise.
8966 * include/grub/mips/yeeloong/kernel.h: Likewise.
8967 * include/grub/mips/yeeloong/loader.h: Likewise.
8968 * include/grub/mips/yeeloong/memory.h: Likewise.
8969 * include/grub/mips/yeeloong/pci.h: Likewise.
8970 * include/grub/mips/yeeloong/serial.h: Likewise.
8971 * include/grub/mips/yeeloong/time.h: Likewise.
8972 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
8973 * kern/elf.c (grub_elf32_size): New parameter. All users
8974 updated.
8975 (grub_elf64_size): Likewise.
8976 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
8977 Load modules before saying "Welcome to GRUB!".
8978 Call grub_refresh after saying "Welcome to GRUB!".
8979 * kern/mips/cache.S: New file.
8980 * kern/mips/cache_flush.S: Likewise.
8981 * kern/mips/dl.c: Likewise.
8982 * kern/mips/init.c: Likewise.
8983 * kern/mips/qemu-mips/init.c: Likewise.
8984 * kern/mips/startup.S: Likewise.
8985 * kern/mips/yeeloong/init.c: Likewise.
8986 * kern/term.c (grub_putcode): Handle NULL terminal.
8987 (grub_getcharwidth): Likewise.
8988 (grub_getkey): Likewise.
8989 (grub_checkkey): Likewise.
8990 (grub_getkeystatus): Likewise.
8991 (grub_getxy): Likewise.
8992 (grub_getwh): Likewise.
8993 (grub_gotoxy): Likewise.
8994 (grub_cls): Likewise.
8995 (grub_setcolorstate): Likewise.
8996 (grub_setcolor): Likewise.
8997 (grub_getcolor): Likewise.
8998 (grub_refresh): Likewise.
8999 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
9000 (write_jump): Add hatch nop.
9001 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
9002 * lib/mips/setjmp.S: New file.
9003 * loader/mips/linux.c: Likewise.
9004 * term/i386/pc/at_keyboard.c: Move from here ...
9005 * term/at_keyboard.c: ... to here.
9006 * term/i386/pc/serial.c: Moved from here ...
9007 * term/serial.c: ... to here. All users updated.
9008 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
9009 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
9010 (serial_translate_key_sequence): Avoid deadlock.
9011 (grub_serial_getkey): Handle backspace.
9012 (grub_serial_putchar): Fix newline handling.
9013 * util/i386/pc/grub-mkimage.c: Move from here ...
9014 * util/grub-mkrawimage.c: ... to here. All users updated.
9015 (generate_image): New parameters 'font_path' and 'format'.
9016 Support embedding font.
9017 Use grub_host_to_target* instead of grub_cpu_to_le*.
9018 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
9019 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
9020 (options): New option "--font".
9021 (usage): Likewise.
9022 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
9023 (main): Handle "--font".
9024 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
9025 (grub_virtual_screen_setup): Set bg_color_display.
9026 (redraw_screen_rect): Use bg_color_display instead of incorrect
9027 bg_color.
9028 (grub_gfxterm_cls): Likewise.
9029 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
9030 Support embedding config file.
9031 (add_segments): Likewise.
9032 (options): New option "--config".
9033 (main): Handle "--config".
9034 * video/sm712.c: New file.
9035
25c2b5b3
RM
90362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9037
9038 Fix parallel builds.
9039
9040 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
9041 font.c depend on ascii.h).
9042
90432010-01-12 Carles Pina i Estany <carles@pina.cat>
9044
9045 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
9046
90472010-01-11 Carles Pina i Estany <carles@pina.cat>
9048
9049 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
9050 By default: disabled.
9051 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
9052 parameter.
9053
90542010-01-10 Carles Pina i Estany <carles@pina.cat>
9055
9056 * font/font.c: Update copyright years.
9057 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
9058
90592010-01-10 Carles Pina i Estany <carles@pina.cat>
9060
9061 * font/font.c: Include `ascii.h'.
9062 (ASCII_BITMAP_SIZE): New macro.
9063 (ascii_font_glyph): Define.
9064 (ascii_glyph_lookup): New function.
9065 (grub_font_get_string_width): Change comment. If glyph not found, use
9066 ascii_glyph_lookup.
9067 (grub_font_get_glyph_with_fallback): If glyph not available returns
9068 ascii_glyph_lookup.
9069 * util/grub-mkfont.c (file_formats): New enum.
9070 (options): Add `ascii-bitmaps' new option.
9071 (usage): Add `asii-bitmaps' new option.
9072 (write_font_ascii_bitmap): New function.
9073 (write_font): Rename to ...
9074 (write_font_p2): ... this. Remove print_glyphs call.
9075 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
9076 used. Call print_glyphs.
9077 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
9078
90792010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9080
9081 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
9082 (grub_bin2h_SOURCES): New variable.
9083 * util/bin2h.c: New file.
9084
915fc1b8
VS
90852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * include/multiboot.h: Resynced with spec.
9088 * include/multiboot2.h: Likewise.
9089 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
9090 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
9091
9444b678
RM
90922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9093
9094 * include/grub/term.h (grub_term_register_input,
9095 grub_term_register_output): Check return of terminal init()
9096 routines, and abort if errors are raised.
9097
9098 * commands/terminal.c: Update copyright year.
9099
cba98e8d
RM
91002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9101
9102 * commands/terminal.c (grub_cmd_terminal_input)
9103 (grub_cmd_terminal_output): Check return of terminal init()
9104 routines, and abort if errors are raised.
9105
6f7db5d6
VS
91062010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * include/grub/i386/bsd.h: Fix include pathes.
9109
262bff8d
VS
91102010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 Add missing *BSD copyright headers.
9113
9114 * include/grub/aout.h: Add BSD licence.
9115 * include/grub/i386/bsd.h: Parts under different licences moved to ...
9116 * include/grub/i386/freebsd_linker.h: ... here,
9117 * include/grub/i386/freebsd_reboot.h: ... here,
9118 * include/grub/i386/netbsd_bootinfo.h: ... here,
9119 * include/grub/i386/netbsd_reboot.h: ... here,
9120 * include/grub/i386/openbsd_bootarg.h: ... here,
9121 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
9122 licence to each file.
9123
b2cab848
RM
91242010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9125
9126 * acinclude.m4: Remove `nop' assembly instruction; it's not
9127 implemented by all architectures.
9128
2cb6be4b
RM
91292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9130
9131 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
9132 ELILO. This is no longer necessary.
9133
a2eaee15
BC
91342010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
9135
9136 Added new tool, grub-scrit-check to verify grub.cfg syntax.
9137
9138 * util/grub-script-check.c: grub-script-check tool.
9139 * conf/common.rmk: Make rules for grub-script-check.
9140
88d17012
RM
91412010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9142
9143 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
9144 spotting it back in 2008. Shame on me for forgetting he did.
9145
9146 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
9147
8040619d
RM
91482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9149
9150 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
9151 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
9152 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
9153 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
9154 (GRUB_VIDEO_TYPE_EFI): Rename to ...
9155 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
9156
a0c2a0f6
RM
91572010-01-17 Robert Millan <rmh.grub@aybabtu.com>
9158
9159 * include/grub/test.h: Add license header.
9160 * tests/example_functional_test.c: Likewise.
9161 * tests/example_unit_test.c: Likewise.
9162 * tests/lib/functional_test.c: Likewise.
9163 * tests/lib/test.c: Likewise.
9164 * tests/lib/unit_test.c: Likewise.
9165
b0b13907
VS
91662010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 Use flag-based instead of hook-based video mode selection and "auto"
9169 keyword.
9170
9171 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
9172 (grub_video_set_mode): Changed prototype. All users updated.
9173 (grub_video_check_mode_flag): New inline function.
9174 * video/video.c (parse_modespec): New function.
9175 (grub_video_set_mode): Parse flags and keywords.
9176
ea379330 91772010-01-17 Carles Pina i Estany <carles@pina.cat>
9178
9179 * util/misc.c (grub_util_info): Fix the order of the parameters in a
9180 fprintf call.
9181
e15c215e
FZ
91822010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
9183
9184 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
9185
409ae1c9 91862010-01-16 Carles Pina i Estany <carles@pina.cat>
9187
9188 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
9189 string.
9190 * util/grub-emu.c (usage): Likewise.
9191 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
9192 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9193 * util/i386/pc/grub-mkimage.c (usage): Likewise.
9194 * util/i386/pc/grub-setup.c (usage): Likewise.
9195
70a14d3d 91962010-01-16 Carles Pina i Estany <carles@pina.cat>
9197
9198 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
9199 the message.
9200 (grub_util_info): Likewise.
9201 (grub_util_error): Likewise.
9202 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
9203 and/or new lines in `grub_util_warna', `grub_util_info',
9204 `grub_util_error' calls.
9205 * util/getroot.c: Likewise.
9206 * util/grub-editenv.c: Likewise.
9207 * util/grub-emu.c: Likewise.
9208 * util/grub-fstest.c: Likewise.
9209 * util/grub-mkdevicemap.c: Likewise.
9210 * util/grub-mkfont.c: Likewise.
9211 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9212 * util/grub-mkrelpath.c: Likewise.
9213 * util/grub-pe2elf.c: Likewise.
9214 * util/grub-probe.c: Likewise.
9215 * util/hostdisk.c: Likewise.
9216 * util/i386/efi/grub-mkimage.c: Likewise.
9217 * util/i386/pc/grub-mkimage.c: Likewise.
9218 * util/i386/pc/grub-setup.c: Likewise.
9219 * util/ieee1275/ofpath.c: Likewise.
9220 * util/mkisofs/eltorito.c: Likewise.
9221 * util/mkisofs/rock.c: Likewise.
9222 * util/mkisofs/write.c: Likewise.
9223 * util/raid.c: Likewise.
9224 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9225 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9226
a0b766fc
VS
92272010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 Enable multiboot on non-pc.
9230
9231 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
9232 multiboot.mod and multiboot2.mod to ...
9233 * conf/i386.rmk (pkglib_MODULES): ... here.
9234 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
9235 Moved to ...
9236 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
9237 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
9238 Moved to ...
9239 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
9240 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
9241 Moved to ...
9242 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
9243 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
9244 Moved to ...
9245 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
9246 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
9247 relocator.mod.
9248 (ata_mod_SOURCES): Removed.
9249 (ata_mod_CFLAGS): Likewise.
9250 (ata_mod_LDFLAGS): Likewise.
9251 (relocator_mod_SOURCES): Removed.
9252 (relocator_mod_CFLAGS): Likewise.
9253 (relocator_mod_ASFLAGS): Likewise.
9254 (relocator_mod_LDFLAGS): Likewise.
9255 Include i386.mk.
9256 * include/grub/x86_64/multiboot.h: New file.
9257 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
9258 Terminate EFI.
9259
884ade56
VS
92602010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 Video multiboot support.
9263
9264 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
9265 New prototype.
9266 * include/multiboot.h: Resynced with multiboot specification.
9267 * include/multiboot2.h: Likewise.
9268 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
9269 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
9270 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
9271 (HAS_VGA_TEXT): Likewise.
9272 (accepts_video): New variable.
9273 (grub_multiboot_set_accepts_video): New function.
9274 (grub_multiboot_get_mbi_size): Account for video structures.
9275 (set_video_mode): New function.
9276 (retrieve_video_parameters): Likewise.
9277 (grub_multiboot_make_mbi): Fill video fields.
9278
0d90e8a6
VS
92792010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 Video driver ids.
9282
9283 * include/grub/video.h (grub_video_driver_id): New type.
9284 (grub_video_adapter): New member 'id'. All users updated.
9285 (grub_video_get_driver_id): New proto.
9286 * video/video.c (grub_video_get_driver_id): New function.
9287
5c71db1b 92882010-01-14 Carles Pina i Estany <carles@pina.cat>
9289
9290 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
9291 `var=val'.
9292
cca15b52 92932010-01-14 Carles Pina i Estany <carles@pina.cat>
9294
9295 * normal/cmdline.c (print_completion): Gettextizze.
9296
c586fbb2 92972001-01-14 Carles Pina i Estany <carles@pina.cat>
9298
9299 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
9300
ba2f6848 93012010-01-14 Carles Pina i Estany <carles@pina.cat>
9302
9303 * gettext/gettext.c (grub_gettext_translate): Push and pop
9304 grub_errno.
9305 (grub_gettext_delete_list): Change comment style.
9306 * kern/err.c (grub_error): Gettextizze.
9307 (grub_fatal): Gettextizze.
9308
0a46429a
RM
93092010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9310
9311 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
9312 (grub_linux16_real_boot): ... this.
9313 * kern/i386/loader.S: Likewise.
9314 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
9315 (grub_linux16_boot): New function. Switches to text mode and calls
9316 grub_linux16_real_boot().
9317
9318 * loader/i386/bsd.c: Include `<grub/video.h>'.
9319 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
9320 text mode before calling grub_unix_real_boot().
9321
9322 * loader/i386/multiboot.c: Include `<grub/video.h>'.
9323 (grub_multiboot_boot): Switch to text mode before calling
9324 grub_relocator32_boot().
9325
9326 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
9327 (grub_chainloader_boot): Switch to text mode before calling
9328 grub_chainloader_real_boot().
9329
d6f93a66
RM
93302010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
93312010-01-05 Colin Watson <cjwatson@ubuntu.com>
9332
9333 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
9334 non-empty value.
9335
93362010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
93372010-01-05 Colin Watson <cjwatson@ubuntu.com>
9338
9339 * util/grub.d/00_header.in: Define a "savedefault" function for use
9340 in menu entries.
9341 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
9342
93432010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
93442010-01-05 Colin Watson <cjwatson@ubuntu.com>
9345
9346 * util/grub-mkconfig_lib.in (save_default_entry): Only set
9347 saved_entry if boot_once is unset.
9348 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
9349 previous saved entry (i.e. grub-reboot).
9350
93512009-12-08 Colin Watson <cjwatson@ubuntu.com>
9352
9353 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
9354
93552009-12-08 Colin Watson <cjwatson@ubuntu.com>
9356
9357 * util/grub.d/00_header.in: Use `set var=val' rather than plain
9358 `var=val'.
9359 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
9360
93612009-12-08 Colin Watson <cjwatson@ubuntu.com>
9362
9363 * util/grub-reboot.in: Fix --version output.
9364 * util/grub-set-default.in: Likewise.
9365
93662009-12-08 Colin Watson <cjwatson@ubuntu.com>
9367
9368 * util/grub.d/00_header.in: Silently ignore zero-sized environment
9369 blocks.
9370
93712009-12-08 Colin Watson <cjwatson@ubuntu.com>
9372
9373 * util/grub.d/00_header.in: Quote the value assigned to `default',
9374 in case it contains spaces.
9375
93762009-12-08 Colin Watson <cjwatson@ubuntu.com>
9377
9378 * util/grub.d/30_os-prober.in: Fix merge error that moved a
9379 `save_default_entry' call from the macosx case to the linux case.
9380
93812009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
93822009-10-25 Colin Watson <cjwatson@ubuntu.com>
9383
9384 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
9385 in `chosen' environment variable.
9386 * normal/menu_text.c (get_entry_number): Check if the variable
9387 matches the title of a menu entry.
9388 (run_menu): Pass menu to get_entry_number.
9389
9390 * util/grub-reboot.in: New file.
9391 * util/grub-set-default.in: New file.
9392 * conf/common.rmk (grub-reboot): New utility.
9393 (grub-set-default): New utility.
9394
9395 * util/grub-mkconfig_lib.in (save_default_entry): New function.
9396 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
9397 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
9398 move it to `saved_entry' for the next boot. Load environment on
9399 initialisation.
9400 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
9401 * util/grub.d/10_hurd.in: Likewise.
9402 * util/grub.d/10_linux.in (linux_entry): Likewise.
9403 * util/grub.d/10_windows.in: Likewise.
9404 * util/grub.d/30_os-prober.in: Likewise.
9405
9406 * util/grub-install.in: Create environment block.
9407 * util/i386/efi/grub-install.in: Likewise.
9408 * util/ieee1275/grub-install.in: Likewise.
9409 * util/sparc64/ieee1275/grub-install.in: Likewise.
9410
0934d184
BC
94112010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
9412
9413 Unit testing framework for GRUB.
9414
9415 * Makefile.in: Test framework build rules for 'make check'.
9416 * conf/tests.rmk: Build rules for individual tests and framework.
9417
9418 * include/grub/test.h: Header file for whitebox tests.
9419 * tests/lib/functional_test.c: Framework support for whitebox
9420 functional tests.
9421 * tests/lib/test.c: Common whitebox testing code for unit and
9422 functional tests.
9423 * tests/lib/unit_test.c: Framework support for whitebox unit
9424 tests.
9425
9426 * tests/util/grub-shell-tester.in: Support utility for grub-script
9427 tests.
9428 * tests/util/grub-shell.in: Utility to execute grub-script
9429 commands in a Qemu instance.
9430
9431 * tests/example_functional_test.c: Example whitebox functional
9432 test.
9433 * tests/example_grub_script_test.in: Example grub-script test.
9434 * tests/example_scripted_test.in: Example scripted test.
9435 * tests/example_unit_test.c: Example whitebox unit test.
9436
9c4ffeeb
VS
94372010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
9440 Add loader/i386/multiboot_mbi.c.
9441 (multiboot2_mod_SOURCES): Likewise.
9442 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
9443 (multiboot2_mod_SOURCES): Likewise.
9444 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
9445 (grub_multiboot_make_mbi): Likewise.
9446 (grub_multiboot_free_mbi): Likewise.
9447 (grub_multiboot_init_mbi): Likewise.
9448 (grub_multiboot_add_module): Likewise.
9449 (grub_multiboot_set_bootdev): Likewise.
9450 * loader/i386/multiboot.c (mbi): Removed.
9451 (mbi_dest): Likewise.
9452 (alloc_mbi): New variable.
9453 (grub_multiboot_payload_size): Removed. All users updated.
9454 (grub_multiboot_pure_size): New variable.
9455 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
9456 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
9457 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
9458 (grub_fill_multiboot_mmap): Likewise.
9459 (grub_multiboot_get_bootdev): Likewise.
9460 (grub_multiboot): Use multiboot_mbi functions.
9461 * loader/i386/multiboot_mbi.c: New file.
9462
17383dfe
VS
94632010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
9466 it would result in module crash.
9467
c1f28820
VS
94682010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
9471 (grub_ofconsole_getwh): Split to ...
9472 (grub_ofconsole_getwh): ... this.
9473 (grub_ofconsole_dimensions): ...and this.
9474 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
9475
58655a16
RM
94762010-01-13 Robert Millan <rmh.grub@aybabtu.com>
9477
9478 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
9479
10891398
VS
94802010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * loader/i386/pc/multiboot2.c: Removed stalled file.
9483
0b8a223c
VS
94842010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
9487 Reported by: Grégoire Sutre
9488
92ab12b0
RM
94892010-01-11 Robert Millan <rmh.grub@aybabtu.com>
9490
9491 * util/misc.c (canonicalize_file_name): New function.
9492 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
9493 instead of realpath().
9494
a788afb6
CW
94952010-01-11 Colin Watson <cjwatson@ubuntu.com>
9496
9497 * util/grub-install.in (usage): Clarify meaning of --root-directory,
9498 and make it clearer that it's optional. Based on confusion
9499 witnessed on IRC.
9500
ffa8e3d2
VS
95012010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
9504 in premature implicit newline.
9505
e9060a9d
VS
95062010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
9509 which resulted in garbled command line at the end of screen.
9510
f0d0c0b7
RM
95112010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9512
9513 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
9514 initialization with similar approach as with other Linux loaders.
9515
0e60bae7
RM
95162010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9517
9518 Fix i386-ieee1275 build.
9519
9520 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
9521 and grub_term_height() for video_{width,height} initialization.
9522
95232010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
9524
9525 Fix grub-emu build.
9526
9527 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
9528
cdb3f378
RM
95292010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
95302010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9531
9532 Support for multiple terminals.
9533
9534 * Makefile.in (pkglib_DATA): terminal.lst.
9535 (terminal.lst): New target.
9536 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
9537 (GRUB_MOD_INIT(handler)): Likewise.
9538 (GRUB_MOD_FINI(handler)): Likewise.
9539 * commands/help.c (grub_cmd_help): Handle multiple terminals.
9540 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
9541 * commands/sleep.c (do_print): Use grub_term_restore_pos.
9542 (grub_cmd_sleep): Use grub_term_save_pos.
9543 * commands/terminal.c: New file.
9544 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
9545 commands/terminal.c and lib/charset.c.
9546 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
9547 (pkglib_MODULES): Add terminal.mod.
9548 (terminal_mod_SOURCES): New variable.
9549 (terminal_mod_CFLAGS): Likewise.
9550 (terminal_mod_LDFLAGS): Likewise.
9551 * genhandlerlist.sh: Don't handle terminals.
9552 * genmk.rb: Generate terminal-*.lst.
9553 * genterminallist.sh: New file.
9554 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
9555 (grub_is_valid_utf8): Likewise.
9556 (grub_utf8_to_ucs4_alloc): Likewise.
9557 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
9558 (grub_menu_register_viewer): Changed argument.
9559 (grub_menu_try_text): New proto.
9560 (grub_gfxmenu_try_hook): New declaration.
9561 * include/grub/normal.h (grub_normal_exit_level): New declaration.
9562 (grub_menu_init_page): Additional argument term.
9563 (grub_normal_init_page): Likewise.
9564 (grub_cmdline_get): Arguments simplified.
9565 (grub_utf8_to_ucs4_alloc): Removed.
9566 (grub_print_ucs4): Additional argument term.
9567 (grub_getstringwidth): Likewise.
9568 (grub_print_message_indented): Likewise.
9569 (grub_menu_text_register_instances): New proto.
9570 (grub_show_menu): Likewise.
9571 (read_terminal_list): Likewise.
9572 (grub_set_more): Likewise.
9573 * include/grub/parser.h: Include handler.h.
9574 * include/grub/reader.h: Rewritten.
9575 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
9576 (GRUB_TERM_WIDTH): Changed to function.
9577 (GRUB_TERM_HEIGHT): Likewise.
9578 (GRUB_TERM_BORDER_WIDTH): Likewise.
9579 (GRUB_TERM_BORDER_HEIGHT): Likewise.
9580 (GRUB_TERM_NUM_ENTRIES): Likewise.
9581 (GRUB_TERM_ENTRY_WIDTH): Likewise.
9582 (GRUB_TERM_CURSOR_X): Likewise.
9583 (grub_term_input_class): Likewise.
9584 (grub_term_output_class): Likewise.
9585 (grub_term_outputs_disabled): New declaration.
9586 (grub_term_inputs_disabled): Likewise.
9587 (grub_term_outputs): Likewise.
9588 (grub_term_inputs): Likewise.
9589 (grub_term_register_input): Rewritten.
9590 (grub_term_register_output): Likewise.
9591 (grub_term_unregister_input): Likewise.
9592 (grub_term_unregister_output): Likewise.
9593 (FOR_ACTIVE_TERM_INPUTS): New macro.
9594 (FOR_DISABLED_TERM_INPUTS): Likewise.
9595 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9596 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9597 * include/grub/terminfo.h: Add oterm argument to all protypes.
9598 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
9599 Use grub_rescue_run.
9600 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
9601 All users updated.
9602 * kern/reader.c: Removed. All users updated.
9603 * kern/rescue_reader.c (grub_rescue_init): Removed.
9604 (grub_rescue_reader): Likewise.
9605 (grub_register_rescue_reader): Likewise.
9606 (grub_rescue_run): New function based on kern/reader.c.
9607 * kern/term.c: Adapted for multiterm.
9608 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
9609 (grub_is_valid_utf8): Likewise.
9610 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
9611 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
9612 right terminal.
9613 * loader/i386/linux.c (grub_linux_boot): Likewise.
9614 * normal/auth.c (grub_username_get): New function.
9615 (grub_auth_check_authentication): Use grub_username_get.
9616 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
9617 * normal/color.c: Adapt for multiterm.
9618 * normal/main.c (read_config_file): Don't use grub_reader_loop.
9619 (grub_normal_init_page): Additional argument term.
9620 (read_lists): Call read_terminal_lists.
9621 (grub_enter_normal_mode): Call grub_cmdline_run.
9622 Handle grub_normal_exit_level.
9623 (grub_cmd_normal): Make reentrant.
9624 (grub_cmd_normal_exit): New function.
9625 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
9626 * normal/menu.c: Adapt for multiterm.
9627 * normal/menu_entry.c: Likewise.
9628 * normal/menu_text.c: Likewise.
9629 * normal/menu_viewer.c: Removed. All users updated.
9630 * normal/term.c: New file.
9631 * util/console.c: Change order of includes to workaround a bug in
9632 ncurses headers.
9633 * term/terminfo.c: New argument oterm on all exported functions.
9634 All users updated.
9635 * util/grub-editenv.c (grub_term_input_class): Removed.
9636 (grub_term_output_class): Likewise.
9637
1a064917
RM
96382010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9639
9640 Make loader output a bit more user-friendly.
9641
9642 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
9643 is being loaded. Likewise for the Hurd.
9644
9645 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
9646 that kernel of FreeBSD ${version} is being loaded.
9647
9648 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
9649 grub_dprintf().
9650 (grub_cmd_initrd): Likewise.
9651 * util/grub.d/10_linux.in (linux_entry): Print message indicating
9652 that Linux ${version} is being loaded. Likewise for initrd.
9653
5ce0a83a 96542010-01-09 Carles Pina i Estany <carles@pina.cat>
9655
9656 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
9657
809bbfeb 96582010-01-08 Carles Pina i Estany <carles@pina.cat>
9659
9660 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
9661 (GRUB_MOD_INIT): Gettextizze.
9662 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
9663 (GRUB_MOD_INIT): Gettextizze.
9664 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
9665 (grub_cmd_linux): Capitalise Linux.
9666 (GRUB_MOD_INIT): Gettextizze.
9667 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
9668 (grub_cmd_linux): Capitalise Linux.
9669 (GRUB_MOD_INIT): Gettextizze.
9670 * loader/i386/linux.c: Include `<grub/i18n.h>'.
9671 (grub_cmd_linux): Capitalise Linux.
9672 (GRUB_MOD_INIT): Gettextizze.
9673 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
9674 (GRUB_MOD_INIT): Gettextizze.
9675 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
9676 (grub_cmd_linux): Capitalise Linux.
9677 (GRUB_MOD_INIT): Gettextizze.
9678 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
9679 (grub_cpu_xnu_init): Gettextizze.
9680 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
9681 (GRUB_MOD_INIT): Gettextizze.
9682 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
9683 (GRUB_MOD_INIT): Gettextizze.
9684 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
9685 (grub_linux_load64): Capitalise Linux.
9686 (GRUB_MOD_INIT): Gettextizze.
9687 * loader/xnu.c: Include `<grub/i18n.h>'.
9688 (GRUB_MOD_INIT): Gettextizze.
9689 * po/POTFILES: Add `loader/efi/appleloader.c',
9690 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
9691 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
9692 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
9693 `loader/i386/xnu.c', `loader/multiboot_loader.c',
9694 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
9695 and `loader/xnu.c'.
9696
b394b2ca
RM
96972010-01-08 Robert Millan <rmh.grub@aybabtu.com>
9698
9699 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
9700
97012010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
9702
9703 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
9704 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
9705 * util/mkisofs/mkisofs.c (main): Readjust --version output.
9706
bc8b32b3
RM
97072010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9708
9709 Reset Multiboot 2 support. New loader implements the draft in
9710 /branches/multiboot2 and shares as much code as possible with the
9711 production Multiboot 1 implementation.
9712
9713 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
9714 * loader/multiboot2.c: Likewise.
9715 * loader/i386/multiboot_helper.S: Likewise.
9716 * include/multiboot2.h: Replace with latest version from the draft
9717 in /branches/multiboot2.
9718
9719 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
9720 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
9721 and `loader/multiboot2.c'.
9722 (pkglib_MODULES): Add `multiboot2.mod'.
9723 (multiboot2_mod_SOURCES): New variable.
9724 (multiboot2_mod_LDFLAGS): Likewise.
9725 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
9726
9727 * conf/i386-pc.rmk: Likewise.
9728
9729 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
9730 (multiboot_mod_SOURCES): Remove variable.
9731 (multiboot_mod_LDFLAGS): Likewise.
9732 (multiboot_mod_CFLAGS): Likewise.
9733
9734 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
9735 `<multiboot2.h>' instead of `<multiboot.h>'.
9736 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
9737 (MULTIBOOT_HEADER_MAGIC): New macros.
9738
9739 * loader/multiboot_loader.c (module_version_status): Remove variable.
9740 (find_multi_boot2_header): Remove function.
9741 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
9742 logic. Always check for the Multiboot version we're compiling for.
9743 (grub_cmd_module_loader): Likewise.
9744 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
9745 command instead of `multiboot'.
9746
5d2c52b8
RM
97472010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9748
9749 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
9750 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
9751 all users.
9752
53108d92
RM
97532010-01-07 Robert Millan <rmh.grub@aybabtu.com>
97542010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 Fix breakage introduced with previous commit.
9757
9758 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
9759 commands.
9760 * normal/handler.c (read_handler_list): Revert part of previous commit
9761 affecting this file.
9762 * normal/main.c (read_lists): Move read_handler_list() call back to ...
9763 (grub_normal_execute): ... here.
9764
e2e936b2
RM
97652010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9766
9767 Merge prefix-redefinition-fix branch.
9768
9769 * normal/autofs.c (read_fs_list): Make function capable of being
9770 run multiple times, gracefuly replacing the previous data
9771 structures.
9772 * normal/dyncmd.c (read_command_list): Likewise.
9773 * normal/handler.c (read_handler_list): Likewise.
9774 * normal/main.c (read_lists): New function. Calls all the
9775 list reading functions.
9776 (grub_normal_execute): Use read_lists() instead of calling all
9777 list reading functions explicitly. Register read_lists() as a
9778 variable hook attached to ${prefix}.
9779
607a3701
VS
97802010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 Merge crypto branch.
9783
9784 * Makefile.in (pkglib_DATA): Add crypto.lst.
9785 (crypto.lst): New target.
9786 * commands/hashsum.c: New file.
9787 * commands/password.c (check_password): Use grub_crypto_memcmp.
9788 * commands/password_pbkdf2.c: New file.
9789 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
9790 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
9791 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
9792 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
9793 -I$(srcdir)/lib/libgcrypt_wrap.
9794 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
9795 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
9796 password_pbkdf2.mod.
9797 (crypto_mod_SOURCES): New variable.
9798 (crypto_mod_CFLAGS): Likewise.
9799 (crypto_mod_LDFLAGS): Likewise.
9800 (hashsum_mod_SOURCES): New variable.
9801 (hashsum_mod_CFLAGS): Likewise.
9802 (hashsum_mod_LDFLAGS): Likewise.
9803 (pbkdf2_mod_SOURCES): New variable.
9804 (pbkdf2_mod_CFLAGS): Likewise.
9805 (pbkdf2_mod_LDFLAGS): Likewise.
9806 (password_pbkdf2_mod_SOURCES): New variable.
9807 (password_pbkdf2_mod_CFLAGS): Likewise.
9808 (password_pbkdf2_mod_LDFLAGS): Likewise.
9809 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
9810 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
9811 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
9812 Include conf/gcry.rmk.
9813 * include/grub/auth.h: Rewritten.
9814 * include/grub/crypto.h: New file.
9815 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
9816 * include/grub/normal.h (read_crypto_list): New prototype.
9817 * lib/crypto.c: New file.
9818 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9819 * lib/pbkdf2.c: Likewise.
9820 * normal/auth.c (grub_auth_strcmp): Removed.
9821 (grub_iswordseparator): Likewise.
9822 (grub_auth_strword): Likewise.
9823 (is_authenticated): Use grub_strword.
9824 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
9825 and grub_strword. Pass entered password to authentication callback.
9826 * normal/crypto.c: New file.
9827 * normal/main.c: Call read_crypto_list.
9828 * util/grub-mkpasswd-pbkdf2.c: New file.
9829 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
9830
42841caa
VS
98312010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 Fix descent and ascent calculation.
9834
9835 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
9836 (options): New option "asce".
9837 (usage): Likewise.
9838 (add_char): Ignore invalid glyphs for descent calculation.
9839 Calculate ascent from actual content.
9840 (print_glyphs): Use 'asce'.
9841 (write_font): Likewise. Allow ascent override.
9842 (main): Handle "asce" option.
9843
e7730de7 98442010-01-06 Carles Pina i Estany <carles@pina.cat>
9845
9846 * kern/err.c: Include `<grub/i18n.h>'.
9847 (grub_print_error): Add full stop. Gettextizze.
9848 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
9849 (grub_bsd_load_elf): Capitalise ELF.
9850 (grub_cmd_freebsd_loadenv): Add `s' in error string.
9851 (grub_cmd_freebsd_module): Likewise.
9852 (grub_cmd_freebsd_module_elf): Likewise.
9853 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
9854
40e3a41f 98552010-01-06 Carles Pina i Estany <carles@pina.cat>
9856
9857 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
9858 * commands/search_file.c (HELP_MESSAGE): New macro.
9859 * commands/search_label.c (HELP_MESSAGE): Likewise.
9860 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
9861 * po/POTFILES: Add `commands/search_file.c',
9862 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
9863 `commands/search.c'.
9864
83507e68
RM
98652010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9866
9867 * config.rpath: Update from Gnulib.
9868
465c787b
YB
98692010-01-05 Yves Blusseau <blusseau@zetam.org>
9870
9871 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
9872
6581dd3a
YB
98732010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
9874
9875 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
9876
3bff18c5
CW
98772010-01-05 Colin Watson <cjwatson@ubuntu.com>
9878
9879 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
9880 arguments to fread so that we get a return value in bytes, rather
9881 than something that will normally be rounded down to 0.
9882 Adjust error handling to avoid producing garbage when size_t is not
9883 the same size as long long.
9884
a1368118
CW
98852010-01-05 Colin Watson <cjwatson@ubuntu.com>
9886
9887 * util/mkisofs/write.c (padblock_write): Check return value of
9888 fread.
9889
7c302978
RM
98902010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9891
9892 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
9893 floppy images now.
9894
9895 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
9896
e33ace06
RM
98972010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9898
9899 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
9900 instead of manual alignment.
9901 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
9902 verbose). Avoid attempts to read past end of the device
9903 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
9904 but GRUB_DISK_CACHE_SIZE may exceed that).
9905
4b856776
RM
99062010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9907
9908 * commands/crc.c (grub_cmd_crc): Abort on read errors.
9909 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
9910 it to upper layer.
9911
52c2d97f
VS
99122010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
9915 New constant.
9916 (grub_efi_piwg_device_path): New structure
9917 (grub_efi_piwg_device_path_t): New type.
9918 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
9919 (devpath_1): Transform to a structure. All users updated.
9920 (devpath_2): Likewise.
9921 (devpath_3): Likewise.
9922 (devpath_4): Likewise.
9923 (devpath_5): Likewise.
9924
98ff6a54
VS
99252010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * loader/efi/appleloader.c: Restored. Update all users.
9928
3a73dcb6
RM
99292010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9930
9931 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
9932
9933 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
9934 (struct boot_blocklist): Move from here ...
9935 * include/grub/i386/pc/boot.h [ASM_FILE]
9936 (struct grub_boot_blocklist): ... to here. Update all users.
9937 (setup): Only initialize `start' member of `first_block'
9938 structure. Add assert() calls to verify the other members.
9939
9940 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
9941 (generate_image): Fix broken blocklist length initialization.
9942 Add assert() call to verify blocklist `segment' field.
9943
ab0eeb0c
RM
99442010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9945
9946 * loader/efi/appleloader.c: Remove. Update all users.
9947
58bc8bd5
RM
99482010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9949
9950 * boot/i386/pc/boot.S: Update copyright year.
9951 * boot/i386/pc/cdboot.S: Likewise.
9952 * boot/i386/pc/diskboot.S: Likewise.
9953 * boot/i386/pc/lnxboot.S: Likewise.
9954 * boot/i386/pc/pxeboot.S: Likewise.
9955 * bus/pci.c: Likewise.
9956 * commands/cmp.c: Likewise.
9957 * commands/help.c: Likewise.
9958 * commands/hexdump.c: Likewise.
9959 * commands/i386/pc/halt.c: Likewise.
9960 * commands/i386/pc/play.c: Likewise.
9961 * commands/i386/pc/vbeinfo.c: Likewise.
9962 * commands/ls.c: Likewise.
9963 * commands/test.c: Likewise.
9964 * disk/dmraid_nvidia.c: Likewise.
9965 * disk/i386/pc/biosdisk.c: Likewise.
9966 * disk/ieee1275/nand.c: Likewise.
9967 * disk/ieee1275/ofdisk.c: Likewise.
9968 * disk/lvm.c: Likewise.
9969 * disk/raid.c: Likewise.
9970 * disk/raid6_recover.c: Likewise.
9971 * disk/scsi.c: Likewise.
9972 * fs/affs.c: Likewise.
9973 * fs/cpio.c: Likewise.
9974 * fs/ext2.c: Likewise.
9975 * fs/hfs.c: Likewise.
9976 * fs/iso9660.c: Likewise.
9977 * fs/ntfs.c: Likewise.
9978 * fs/sfs.c: Likewise.
9979 * fs/udf.c: Likewise.
9980 * fs/ufs.c: Likewise.
9981 * fs/xfs.c: Likewise.
9982 * gencmdlist.sh: Likewise.
9983 * genmk.rb: Likewise.
9984 * include/grub/disk.h: Likewise.
9985 * include/grub/efi/api.h: Likewise.
9986 * include/grub/efi/efi.h: Likewise.
9987 * include/grub/efi/pe32.h: Likewise.
9988 * include/grub/elf.h: Likewise.
9989 * include/grub/fs.h: Likewise.
9990 * include/grub/i386/at_keyboard.h: Likewise.
9991 * include/grub/i386/pc/memory.h: Likewise.
9992 * include/grub/i386/pc/vbe.h: Likewise.
9993 * include/grub/i386/pci.h: Likewise.
9994 * include/grub/i386/tsc.h: Likewise.
9995 * include/grub/ieee1275/ieee1275.h: Likewise.
9996 * include/grub/ntfs.h: Likewise.
9997 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
9998 * include/grub/sparc64/libgcc.h: Likewise.
9999 * include/grub/symbol.h: Likewise.
10000 * include/grub/types.h: Likewise.
10001 * include/multiboot2.h: Likewise.
10002 * io/gzio.c: Likewise.
10003 * kern/device.c: Likewise.
10004 * kern/disk.c: Likewise.
10005 * kern/efi/efi.c: Likewise.
10006 * kern/efi/mm.c: Likewise.
10007 * kern/elf.c: Likewise.
10008 * kern/file.c: Likewise.
10009 * kern/i386/dl.c: Likewise.
10010 * kern/i386/pc/init.c: Likewise.
10011 * kern/i386/pc/startup.S: Likewise.
10012 * kern/ieee1275/ieee1275.c: Likewise.
10013 * kern/ieee1275/init.c: Likewise.
10014 * kern/main.c: Likewise.
10015 * kern/mm.c: Likewise.
10016 * kern/powerpc/dl.c: Likewise.
10017 * kern/sparc64/dl.c: Likewise.
10018 * kern/x86_64/dl.c: Likewise.
10019 * lib/hexdump.c: Likewise.
10020 * loader/efi/appleloader.c: Likewise.
10021 * loader/i386/ieee1275/linux.c: Likewise.
10022 * loader/i386/pc/chainloader.c: Likewise.
10023 * loader/i386/pc/linux.c: Likewise.
10024 * loader/i386/pc/multiboot2.c: Likewise.
10025 * loader/ieee1275/multiboot2.c: Likewise.
10026 * loader/multiboot2.c: Likewise.
10027 * loader/multiboot_loader.c: Likewise.
10028 * loader/powerpc/ieee1275/linux.c: Likewise.
10029 * normal/completion.c: Likewise.
10030 * normal/menu_entry.c: Likewise.
10031 * partmap/apple.c: Likewise.
10032 * util/grub.d/10_hurd.in: Likewise.
10033 * util/hostfs.c: Likewise.
10034 * video/readers/png.c: Likewise.
10035
e2d70b5c
CW
100362010-01-03 Colin Watson <cjwatson@ubuntu.com>
10037
10038 * include/grub/misc.h (GNUC_PREREQ): New macro.
10039 (ATTRIBUTE_ERROR): New macro.
10040 * include/grub/list.h (grub_bad_type_cast_real): Use
10041 ATTRIBUTE_ERROR.
10042
a173283f 100432010-01-03 Carles Pina i Estany <carles@pina.cat>
10044
10045 * normal/menu_text.c (print_message): Change messages.
10046
7fa7ff74 100472010-01-03 Carles Pina i Estany <carles@pina.cat>
10048
10049 * normal/menu_entry.c (store_completion): Gettextizze.
10050
136d24f6 100512010-01-03 Carles Pina i Estany <carles@pina.cat>
10052
10053 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
10054
f936862e 100552010-01-03 Carles Pina i Estany <carles@pina.cat>
10056
10057 * po/POTFILES: Sort correctly.
10058
29c44ad1 100592010-01-03 Carles Pina i Estany <carles@pina.cat>
10060
10061 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
10062 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
10063 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
10064 full stop.
10065 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
10066 summary. Gettextizze the strings.
10067 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
10068 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
10069 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
10070 full stop.
10071 (GRUB_MOD_INIT): Remove command name from summary.
10072 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
10073 summary.
10074 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
10075 * term/i386/pc/serial.c (options): Add full stops.
10076 (GRUB_MOD_INIT): Remove command name from the summary.
10077
77a79592 100782010-01-03 Carles Pina i Estany <carles@pina.cat>
10079
10080 * commands/acpi.c: Gettextizze help strings and/or options. Include
10081 `grub/i18n.h' if needed.
10082 * commands/blocklist.c: Likewise.
10083 * commands/boot.c: Likewise.
10084 * commands/cat.c: Likewise.
10085 * commands/cmp.c: Likewise.
10086 * commands/configfile.c: Likewise.
10087 * commands/crc.c: Likewise.
10088 * commands/date.c: Likewise.
10089 * commands/echo.c: Likewise.
10090 * commands/efi/fixvideo.c: Likewise.
10091 * commands/efi/loadbios.c: Likewise.
10092 * commands/gptsync.c: Likewise.
10093 * commands/halt.c: Likewise.
10094 * commands/handler.c: Likewise.
10095 * commands/hdparm.c: Likewise.
10096 * commands/hexdump.c: Likewise.
10097 * commands/i386/cpuid.c: Likewise.
10098 * commands/i386/pc/drivemap.c: Likewise.
10099 * commands/i386/pc/halt.c: Likewise.
10100 * commands/i386/pc/pxecmd.c: Likewise.
10101 * commands/i386/pc/vbeinfo.c: Likewise.
10102 * commands/i386/pc/vbetest.c: Likewise.
10103 * commands/ieee1275/suspend.c: Likewise.
10104 * commands/keystatus.c: Likewise.
10105 * commands/loadenv.c: Likewise.
10106 * commands/ls.c: Likewise.
10107 * commands/lsmmap.c: Likewise.
10108 * commands/lspci.c: Likewise.
10109 * commands/memrw.c: Likewise.
10110 * commands/minicmd.c: Likewise.
10111 * commands/parttool.c: Likewise.
10112 * commands/password.c: Likewise.
10113 * commands/probe.c: Likewise.
10114 * commands/read.c: Likewise.
10115 * commands/reboot.c: Likewise.
10116 * commands/search.c: Likewise.
10117 * commands/sleep.c: Likewise.
10118 * commands/test.c: Likewise.
10119 * commands/true.c: Likewise.
10120 * commands/usbtest.c: Likewise.
10121 * commands/videotest.c: Likewise.
10122 * commands/xnu_uuid.c: Likewise.
10123 * disk/loopback.c: Likewise.
10124 * hello/hello.c: Likewise.
10125 * loader/i386/bsd.c: Likewise.
10126 * term/i386/pc/serial.c: Likewise.
10127 * po/POTFILES: Add new files.
10128
da8d5c53
CW
101292010-01-02 Colin Watson <cjwatson@ubuntu.com>
10130
10131 * term/i386/pc/at_keyboard.c
10132 (keyboard_controller_wait_untill_ready): Rename to ...
10133 (keyboard_controller_wait_until_ready): ... this. Update all users.
10134
33937904 101352010-01-01 Carles Pina i Estany <carles@pina.cat>
10136
10137 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
10138 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
10139 string using string width.
10140 * normal/menu_text.c (grub_print_message_indented): Use
10141 grub_print_spaces and not print_spaces.
10142 (print_timeout): Likewise.
10143 (print_spaces): Move to...
10144 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
10145
3fd3b8d8
RM
101462010-01-01 Robert Millan <rmh.grub@aybabtu.com>
10147
10148 Import from Gnulib.
10149
10150 * gnulib/getdelim.c: New file.
10151 * gnulib/getline.c: Likewise.
10152
33433555
VS
101532009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
10154
10155 * include/grub/list.h (grub_assert_fail): Removed.
10156 (grub_bad_type_cast_real): New function.
10157 (grub_bad_type_cast): New macro.
10158 (GRUB_AS_LIST): Use grub_bad_type_cast.
10159 (GRUB_AS_LIST_P): Likewise.
e44721e8 10160 (GRUB_AS_NAMED_LIST): Likewise.
33433555 10161 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 10162 (GRUB_AS_PRIO_LIST): Likewise.
33433555 10163 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 10164 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 10165
f5a51306
VS
101662009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
10169 Fix syntax error.
10170
90d1e879
RM
101712009-12-29 Robert Millan <rmh.grub@aybabtu.com>
10172
10173 * configure.ac: Check for TARGET_CFLAGS initialization before we
10174 initialize it ourselves (sigh).
10175 Move a few modifications to TARGET_CFLAGS to be unconditional
10176 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
10177 eh_frame)
10178
10179 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
10180 * term/i386/pc/at_keyboard.c
10181 (keyboard_controller_wait_untill_ready): Likewise.
10182 (keyboard_controller_led): Rename `led_status' paramter to avoid
10183 name conflict.
10184
465b5a81 101852009-12-28 Carles Pina i Estany <carles@pina.cat>
10186
10187 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
10188 quotes.
10189
c181849b
VS
101902009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
10193
9c8739a4
VS
101942009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 * normal/menu_text.c (grub_print_message_indented): Prevent
10197 past-the-end-of-array dereference.
10198
3e74249c
VS
101992009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
10202 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
10203
64fd18ed 102042009-12-27 Carles Pina i Estany <carles@pina.cat>
10205
10206 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
10207 * normal/main.c (grub_normal_read_line): Remove a space from the
10208 default prompt.
10209
714af9b9 102102009-12-27 Carles Pina i Estany <carles@pina.cat>
10211
10212 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
10213 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10214 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10215 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10216 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10217 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10218 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10219
82f3e412 102202009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 10221
10222 * video/readers/jpeg.c (cmd): Declare.
10223 (grub_cmd_jpegtest): Use `grub_command_t' type.
10224 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10225 Assign to `cmd'.
10226 (GRUB_MOD_FINI): Use `cmd' to unregister.
10227 * video/readers/png.c (cmd): Declare.
10228 (grub_cmd_pngtest): Use `grub_command_t' type.
10229 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10230 Assign to `cmd'.
10231 (GRUB_MOD_FINI): Use `cmd' to unregister.
10232 * video/readers/tga.c (cmd): Declare.
10233 (grub_cmd_tgatest): Use `grub_command_t' type.
10234 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10235 Assign to `cmd'.
10236 (GRUB_MOD_FINI): Use `cmd' to unregister.
10237
82f3e412 102382009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 10239
10240 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
10241 stops.
10242 * kern/corecmd.c (grub_register_core_commands): Likewise.
10243 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
10244 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10245 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
10246 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10247 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10248 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
10249 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10250 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
10251 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10252 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10253 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10254 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10255 * normal/handler.c (insert_handler): Likewise.
10256 * normal/main.c (GRUB_MOD_INIT): Likewise.
10257 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10258
fdcdbb66 102592009-12-26 Carles Pina i Estany <carles@pina.cat>
10260
10261 * commands/help.c (grub_cmd_help): Print the command name before the
10262 summary.
10263 (GRUB_MOD_INIT): Remove command name from the summary.
10264 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 10265 string as summary.
fdcdbb66 10266 * lib/arg.c (find_long): Print the command name before the summary.
10267 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
10268 summary.
10269 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
10270 * commands/cat.c (GRUB_MOD_INIT): Likewise.
10271 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
10272 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
10273 * commands/crc.c (GRUB_MOD_INIT): Likewise.
10274 * commands/date.c (GRUB_MOD_INIT): Likewise.
10275 * commands/echo.c (GRUB_MOD_INIT): Likewise.
10276 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
10277 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10278 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10279 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
10280 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
10281 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
10282 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
10283 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10284 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
10285 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
10286 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
10287 * commands/ls.c (GRUB_MOD_INIT): Likewise.
10288 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10289 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10290 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10291 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
10292 * commands/password.c (GRUB_MOD_INIT): Likewise.
10293 * commands/probe.c (GRUB_MOD_INIT): Likewise.
10294 * commands/read.c (GRUB_MOD_INIT): Likewise.
10295 * commands/search.c (GRUB_MOD_INIT): Likewise.
10296 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
10297 * commands/test.c (GRUB_MOD_INIT): Likewise.
10298 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
10299 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10300 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10301 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
10302 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10303 * lib/arg.c (GRUB_MOD_INIT): Likewise.
10304 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
10305 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10306 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10307 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10308 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10309 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
10310 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
10311 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
10312
9c288be2
VS
103132009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 Use search command for preliminar UUID search.
10316
10317 * commands/search.c: Split into ...
10318 * commands/search_wrap.c: ...this
10319 * commands/search.c: ...and this.
10320 * commands/search_file.c: New file.
10321 * commands/search_label.c: New file.
10322 * commands/search_uuid.c: New file.
10323 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
10324 Add commands/search_wrap.c, commands/search_file.c,
10325 commands/search_label.c and commands/search_uuid.c.
10326 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
10327 (search_mod_SOURCES): Set to commands/search_wrap.c.
10328 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
10329 search_label.mod.
10330 (search_fs_file_mod_SOURCES): New variable.
10331 (search_fs_file_mod_CFLAGS): Likewise.
10332 (search_fs_file_mod_LDFLAGS): Likewise.
10333 (search_label_mod_SOURCES): Likewise.
10334 (search_label_mod_CFLAGS): Likewise.
10335 (search_label_mod_LDFLAGS): Likewise.
10336 (search_fs_uuid_mod_SOURCES): New variable.
10337 (search_fs_uuid_mod_CFLAGS): Likewise.
10338 (search_fs_uuid_mod_LDFLAGS): Likewise.
10339 (fs_file_mod_SOURCES): Removed.
10340 (fs_file_mod_CFLAGS): Likewise.
10341 (fs_file_mod_LDFLAGS): Likewise.
10342 (fs_uuid_mod_SOURCES): Removed.
10343 (fs_uuid_mod_CFLAGS): Likewise.
10344 (fs_uuid_mod_LDFLAGS): Likewise.
10345 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
10346 Set to util/grub-install.in.
10347 * disk/fs_file.c: Removed.
10348 * disk/fs_uuid.c: Likewise.
10349 * include/grub/search.h: New file.
10350 * util/grub-install.in: Handle sparc64.
10351 Create and use load.cfg.
10352 * util/sparc64/ieee1275/grub-install.in: Removed.
10353
db943399
VS
103542009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
10357 Ignore return status if CF is cleared.
10358 (grub_biosdisk_get_diskinfo_standard): Likewise.
10359
3fdae612
RM
103602009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10361
10362 * term/i386/pc/at_keyboard.c
10363 (keyboard_controller_wait_untill_ready): New function.
10364 (grub_keyboard_controller_write, grub_keyboard_controller_read)
10365 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
10366 for keyboard polling, rather than duplicate the same loop. This
10367 saves a few bytes in code size.
10368
7ebaa2b4
VS
103692009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 Support for (pxe[:server[:gateway]]) syntax and
10372 use environment variable for PXE.
10373
10374 * commands/i386/pc/pxecmd.c (options): Removed.
10375 (print_ip): Removed.
10376 (grub_cmd_pxe): Removed
10377 (grub_cmd_pxe_unload): New function.
10378 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
10379 (grub_pxe_your_ip): Made static.
10380 (grub_pxe_default_server_ip): Likewise.
10381 (grub_pxe_default_gateway_ip): Likewise.
10382 (grub_pxe_blksize): Likewise.
10383 (parse_ip): New function.
10384 (grub_pxe_open): Support server and gateway specification.
10385 (grub_pxe_close): Free disk->data.
10386 (grub_pxefs_open): Use disk->data.
10387 (grub_pxefs_read): Likewise.
10388 (grub_env_write_readonly): New function.
10389 (set_mac_env): Likewise.
10390 (set_env_limn_ro): Likewise.
10391 (parse_dhcp_vendor): Likewise.
10392 (grub_pxe_detect): Set the environment variables.
10393 (set_ip_env): New function.
10394 (write_ip_env): Likewise.
10395 (grub_env_write_pxe_default_server): Likewise.
10396 (grub_env_write_pxe_default_gateway): Likewise.
10397 (grub_env_write_pxe_blocksize): Likewise.
10398 (GRUB_MOD_INIT(pxe)): Set environment variables.
10399 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
10400 (grub_pxe_mac_addr_t): ... this. All users updated.
10401 (grub_pxe_your_ip): Removed.
10402 (grub_pxe_server_ip): Likewise.
10403 (grub_pxe_gateway_ip): Likewise.
10404 (grub_pxe_blksize): Likewise.
10405
ec5f98ab 104062009-12-25 Carles Pina i Estany <carles@pina.cat>
10407
10408 * commands/help.c: Include `<grub/i18n.h>'.
10409 (grub_cmd_help): Gettextizze.
10410 (GRUB_MOD_INIT): Likewise.
10411 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
10412 (GRUB_MOD_INIT): Gettextizze.
10413 * commands/search.c: Include `<grub/i18n.h>'.
10414 (options): Gettextizze.
10415 (GRUB_MOD_INIT): Gettextizze.
10416 * lib/arg.c: Include `<grub/i18n.h>'.
10417 (help_options): Gettextizze.
10418 (find_long): Likewise.
10419 (grub_arg_show_help): Likewise.
10420 * normal/dyncmd.c: Include `<grub/i18n.h>'.
10421 (read_command_list): Gettextizze.
10422 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 10423 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 10424
22815526
RM
104252009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10426
10427 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
10428 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
10429 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
10430 (led_status): New variable.
10431 (keyboard_controller_led): New function.
10432 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
10433 update led status for caps lock, num lock and scroll lock.
10434
0ad46fd7
FZ
104352009-12-25 Felix Zielcke <fzielcke@z-51.de>
10436
10437 * util/hostdisk.c (open_device): Fix a comment.
10438
d0e158c2
RM
104392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10440
10441 * util/grub-install.in (host_os): New variable.
10442 * util/i386/efi/grub-install.in (host_os): Likewise.
10443
401c0ad6
RM
104442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10445
10446 * util/mkisofs/write.c (padblock_write): Abort when given an
10447 excedingly large embed image, instead of silently truncating it.
10448
d14d3370
RM
104492009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10450
10451 * include/multiboot.h: Indentation fixes.
10452
eeed10b4
RM
104532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10454
10455 * include/multiboot.h (struct multiboot_aout_symbol_table)
10456 (struct multiboot_elf_section_header_table): New structure
10457 declarations (stolen from GRUB Legacy).
10458 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
10459 table information.
10460
10461 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
10462 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
10463 type aliases.
10464
681c70ab
RM
104652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10466
10467 * include/multiboot.h: Make comments src2texi-friendly.
10468
e4d47d8d
RM
104692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10470
10471 For consistency with [multiboot]/docs/boot.S.
10472
10473 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
10474 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
10475 (MULTIBOOT_MAGIC2): Rename from this ...
10476 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
10477
a0b70bda
RM
104782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10479
10480 * include/multiboot.h: Remove `<grub/types.h>'.
10481 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
10482 types. Update all users.
10483
61ba42be 104842009-12-25 Carles Pina i Estany <carles@pina.cat>
10485
10486 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
10487 `couldn't' and `can not' by `cannot'.
10488 * commands/i386/pc/drivemap.c: Likewise.
10489 * disk/ata.c: Likewise.
10490 * disk/ieee1275/nand.c: Likewise.
10491 * fs/affs.c: Likewise.
10492 * fs/fat.c: Likewise.
10493 * fs/hfs.c: Likewise.
10494 * fs/hfsplus.c: Likewise.
10495 * fs/iso9660.c: Likewise.
10496 * fs/jfs.c: Likewise.
10497 * fs/minix.c: Likewise.
10498 * fs/reiserfs.c: Likewise.
10499 * fs/sfs.c: Likewise.
10500 * fs/udf.c: Likewise.
10501 * fs/ufs.c: Likewise.
10502 * fs/xfs.c: Likewise.
10503 * loader/powerpc/ieee1275/linux.c: Likewise.
10504 * loader/sparc64/ieee1275/linux.c: Likewise.
10505 * util/grub-probe.c: Likewise.
10506 * util/misc.c: Likewise.
10507
7fd0baee 105082009-12-24 Carles Pina i Estany <carles@pina.cat>
10509
10510 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
10511 grub_errno calls.
10512 * commands/acpi.c: Likewise.
10513 * commands/blocklist.c: Likewise.
10514 * commands/efi/loadbios.c: Likewise.
10515 * commands/i386/pc/drivemap.c: Likewise.
10516 * commands/loadenv.c: Likewise.
10517 * commands/memrw.c: Likewise.
10518 * commands/password.c: Likewise.
10519 * commands/videotest.c: Likewise.
10520 * disk/ata.c: Likewise.
10521 * disk/ata_pthru.c: Likewise.
10522 * disk/dmraid_nvidia.c: Likewise.
10523 * disk/ieee1275/nand.c: Likewise.
10524 * disk/ieee1275/ofdisk.c: Likewise.
10525 * disk/loopback.c: Likewise.
10526 * disk/lvm.c: Likewise.
10527 * disk/mdraid_linux.c: Likewise.
10528 * disk/raid.c: Likewise.
10529 * disk/raid6_recover.c: Likewise.
10530 * disk/scsi.c: Likewise.
10531 * efiemu/main.c: Likewise.
10532 * efiemu/mm.c: Likewise.
10533 * efiemu/pnvram.c: Likewise.
10534 * efiemu/symbols.c: Likewise.
10535 * font/font.c: Likewise.
10536 * fs/cpio.c: Likewise.
10537 * fs/hfsplus.c: Likewise.
10538 * fs/iso9660.c: Likewise.
10539 * fs/jfs.c: Likewise.
10540 * fs/minix.c: Likewise.
10541 * fs/ntfs.c: Likewise.
10542 * fs/ntfscomp.c: Likewise.
10543 * fs/reiserfs.c: Likewise.
10544 * fs/ufs.c: Likewise.
10545 * fs/xfs.c: Likewise.
10546 * gettext/gettext.c: Likewise.
10547 * include/grub/auth.h: Likewise.
10548 * kern/elf.c: Likewise.
10549 * kern/file.c: Likewise.
10550 * kern/ieee1275/init.c: Likewise.
10551 * kern/ieee1275/mmap.c: Likewise.
10552 * kern/ieee1275/openfw.c: Likewise.
10553 * kern/powerpc/dl.c: Likewise.
10554 * kern/sparc64/dl.c: Likewise.
10555 * lib/arg.c: Likewise.
10556 * loader/i386/bsd.c: Likewise.
10557 * loader/i386/bsdXX.c: Likewise.
10558 * loader/i386/efi/linux.c: Likewise.
10559 * loader/i386/efi/xnu.c: Likewise.
10560 * loader/i386/ieee1275/linux.c: Likewise.
10561 * loader/i386/linux.c: Likewise.
10562 * loader/i386/multiboot.c: Likewise.
10563 * loader/i386/pc/linux.c: Likewise.
10564 * loader/i386/pc/multiboot2.c: Likewise.
10565 * loader/i386/xnu.c: Likewise.
10566 * loader/ieee1275/multiboot2.c: Likewise.
10567 * loader/macho.c: Likewise.
10568 * loader/machoXX.c: Likewise.
10569 * loader/multiboot2.c: Likewise.
10570 * loader/multiboot_loader.c: Likewise.
10571 * loader/powerpc/ieee1275/linux.c: Likewise.
10572 * loader/sparc64/ieee1275/linux.c: Likewise.
10573 * loader/xnu.c: Likewise.
10574 * loader/xnu_resume.c: Likewise.
10575 * mmap/i386/pc/mmap.c: Likewise.
10576 * normal/menu_viewer.c: Likewise.
10577 * partmap/acorn.c: Likewise.
10578 * partmap/amiga.c: Likewise.
10579 * partmap/apple.c: Likewise.
10580 * script/lexer.c: Likewise.
10581 * term/gfxterm.c: Likewise.
10582 * term/i386/pc/serial.c: Likewise.
10583 * term/i386/pc/vga.c: Likewise.
10584 * term/ieee1275/ofconsole.c: Likewise.
10585 * term/terminfo.c: Likewise.
10586 * video/bitmap.c: Likewise.
10587 * video/efi_gop.c: Likewise.
10588 * video/efi_uga.c: Likewise.
10589 * video/fb/video_fb.c: Likewise.
10590 * video/i386/pc/vbe.c: Likewise.
10591 * video/readers/tga.c: Likewise.
10592 * video/video.c: Likewise.
10593
0ad46fd7 105942009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
10595
10596 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
10597 * commands/lspci.c: Likewise.
10598 * commands/probe.c: Likewise.
10599 * commands/xnu_uuid.c: Likewise.
10600 * conf/i386-coreboot.rmk: Likewise.
10601 * conf/i386-efi.rmk: Likewise.
10602 * conf/i386-ieee1275.rmk: Likewise.
10603 * conf/i386-pc.rmk: Likewise.
10604 * conf/powerpc-ieee1275.rmk: Likewise.
10605 * conf/sparc64-ieee1275.rmk: Likewise.
10606 * conf/x86_64-efi.rmk: Likewise.
10607 * fs/i386/pc/pxe.c: Likewise.
10608 * gettext/gettext.c: Likewise.
10609 * include/grub/efi/graphics_output.h: Likewise.
10610 * include/grub/i386/pc/memory.h: Likewise.
10611 * kern/env.c: Likewise.
10612 * kern/i386/qemu/startup.S: Likewise.
10613 * lib/i386/pc/biosnum.c: Likewise.
10614 * lib/i386/relocator.c: Likewise.
10615 * lib/i386/relocator_asm.S: Likewise.
10616 * lib/relocator.c: Likewise.
10617 * loader/i386/bsd.c: Likewise.
10618 * loader/i386/multiboot.c: Likewise.
10619 * loader/i386/pc/chainloader.c: Likewise.
10620 * loader/i386/xnu.c: Likewise.
10621 * loader/xnu.c: Likewise.
10622 * normal/main.c: Likewise.
10623 * normal/menu_text.c: Likewise.
10624 * util/getroot.c: Likewise.
10625 * util/grub-mkconfig_lib.in: Likewise.
10626 * util/grub.d/00_header.in: Likewise.
10627 * util/i386/pc/grub-mkimage.c: Likewise.
10628 * util/mkisofs/eltorito.c: Likewise.
10629 * util/mkisofs/exclude.h: Likewise.
10630 * util/mkisofs/hash.c: Likewise.
10631 * util/mkisofs/iso9660.h: Likewise.
10632 * util/mkisofs/joliet.c: Likewise.
10633 * util/mkisofs/mkisofs.c: Likewise.
10634 * util/mkisofs/mkisofs.h: Likewise.
10635 * util/mkisofs/multi.c: Likewise.
10636 * util/mkisofs/name.c: Likewise.
10637 * util/mkisofs/rock.c: Likewise.
10638 * util/mkisofs/tree.c: Likewise.
10639 * util/mkisofs/write.c: Likewise.
10640 * video/efi_gop.c: Likewise.
10641
009ec743
VS
106422009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
10645 size counting.
10646
0ad46fd7 106472009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
10648
10649 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
10650 * genmk.rb (class SCRIPT): Modify the target file instead of source.
10651
d3d30ea0
VS
106522009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
10655 (GRUB_MOD_INIT(memrw)): Update help line.
10656
a34f5c70
VS
106572009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
10660 Use grub_extcmd_t. All users updated.
10661 (options): New variable.
10662 (grub_cmd_read): Restructure for readability. Support "-v" option.
10663 (grub_cmd_write): Restructure for readability.
10664
0ad46fd7 106652009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
10666
10667 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
10668
0ad46fd7 106692009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
10670
10671 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
10672 with the actual contents of the correspondending make variable.
10673 * util/grub-mkrescue.in (pkglib_DATA): New variable.
10674 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
10675 specifying `*.lst' and `efiemu??.o'
10676
0ad46fd7 106772009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
10678
10679 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
10680 after function name.
10681 Noticed by Rene Engelhard <rene@debian.org>.
10682
dc77a799
VS
106832009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
10686 (options): New variable.
10687 (iospace): Likewise.
10688 (grub_lspci_iter): List IO spaces if "-i" was given.
10689 (grub_cmd_lspci): Parse options.
10690 (GRUB_MOD_INIT(lspci)): Use extcmd.
10691 (GRUB_MOD_FINI(lspci)): Likewise.
10692
0ad46fd7 106932009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
10694
10695 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
10696 `function' keyword.
10697 Patch by Tony Mancill <tmancill@debian.org>.
10698
b5d5993b
VS
106992009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
10702 (grub_uhci_portstatus): Likewise.
10703 (grub_uhci_portstatus): Add necessary delay.
11d18281 10704 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 10705
941903f2 107062009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 10707
941903f2 10708 * commands/acpi.c (options): Fix capitalizations and/or full stops.
10709 (GRUB_MOD_INIT): Likewise.
10710 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 10711 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
10712 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 10713 * commands/efi/loadbios.c (enable_rom_area): Likewise.
10714 (enable_rom_area): Likewise.
10715 (GRUB_MOD_INIT): Likewise.
10716 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10717 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
10718 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10719 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
10720 * commands/hexdump.c (options): Likewise.
10721 * commands/i386/cpuid.c (options): Likewise.
10722 (GRUB_MOD_INIT): Likewise.
10723 * commands/i386/pc/drivemap.c (options): Likewise.
10724 (GRUB_MOD_INIT): Likewise.
10725 * commands/i386/pc/halt (options): Likewise.
10726 (GRUB_MOD_INIT): Likewise.
10727 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10728 * commands/i386/pc/pxecmd.c (options): Likewise.
10729 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
10730 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
10731 * commands/keystatus.c (options): Likewise.
10732 (GRUB_MOD_INIT): Likewise.
10733 * commands/loadenv.c (options): Likewise.
10734 * commands/ls.c (options): Likewise.
10735 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10736 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10737 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10738 * commands/parttool.c (helpmsg): Likewise.
10739 * commands/probe.c (options): Likewise.
10740 * commands/read.c (GRUB_MOD_INIT): Likewise.
10741 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
10742 * commands/search.c (options): Likewise.
10743 * commands/sleep.c (options): Likewise.
10744 * commands/test.c (GRUB_MOD_INIT): Likewise.
10745 * commands/true.c (GRUB_MOD_INIT): Likewise.
10746 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
10747 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
10748 * lib/arg.c (help_options): Likewise.
e9bbb4e7 10749 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
10750 `$(XGETTEXT)'.
98a50553 10751 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 10752
0ad46fd7 107532009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 10754
ef3c2c3a 10755 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
10756 instead of specifying them explicit.
10757
7922f68b
RM
107582009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10759
10760 * NEWS: Add grub-probe support for GNU/Hurd.
10761
537ce47f
RM
107622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10763
10764 * NEWS: gettext was added after 1.97.
10765
9b214e3a
RM
107662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10767
10768 * util/mkisofs/msdos_partition.h: New file (based on
10769 include/grub/msdos_partition.h).
10770 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
10771 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
10772 (ld_options, main): Recognize --protective-msdos-label.
10773 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
10774 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
10775 (padblock_write): If `use_protective_msdos_label' is set, patch a
10776 protective DOS-style label in the output image.
10777
10778 * util/grub-mkrescue.in: Use --protective-msdos-label.
10779
e9309813
RM
107802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10781
10782 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
10783 boot.
10784
0ae56929
RM
107852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10786
10787 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
10788 variables.
10789 (ld_options, main): Recognize `--embedded-boot'.
10790 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
10791 declarations.
10792 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
10793 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
10794 (padblock_write): Likewise. Rewrite to support embedded boot image.
10795
10796 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
10797 for BIOS-based disk boot instead of only ElTorito.
10798
b15937b1
RM
107992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10800
10801 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
10802 build (not needed for bootstrap).
10803
52cc3ce0
RM
108042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10805
10806 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
10807 from i386-pc build (not needed for bootstrap).
10808 Rewrite a pair of strings.
10809
36f5ff04
RM
108102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10811
10812 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
10813
973c6c85 108142009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
10815
10816 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
10817
05d21547
AB
108182009-12-21 Andreas Born <futur.andy@googlemail.com>
10819
10820 * kern/env.c (grub_env_context_open): Mark exported variable for
10821 reexport.
10822
0175d51f
AB
108232009-12-21 Andreas Born <futur.andy@googlemail.com>
10824
10825 * kern/env.c (grub_env_export): Create nonexistent variables before
10826 exporting.
10827
7f39d92f 108282009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 10829
7f39d92f 10830 * include/grub/auth.h: Include `<grub/i18n.h>'.
10831 (GRUB_GET_PASSWORD): Gettextizze string.
10832 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
10833 menu_text.c.
10834 (grub_utf8_to_ucs4_alloc): Fix indentation.
10835 (grub_print_ucs4): Likewise.
10836 (grub_getstringwidth): Likewise.
10837 (print_message_indented): New declaration.
10838 * normal/auth.c: Include `<grub/i18n.h>'.
10839 (grub_auth_check_authentication): Gettexttize string.
10840 * normal/cmdline.c: Include `<grub/i18n.h>'.
10841 (grub_cmdline_get): Gettextizze.
10842 * normal/color.c: Include `<grub/i18n.h>'.
10843 (grub_parse_color_name_pair): Gettexttize strings.
10844 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
10845 string (use `print_message_indented').
10846 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
10847 `include/grub/normal.h'.
10848 (print_message_indented): Renamed to ...
10849 (grub_print_message_indented): ... this. Remove `static' qualifer (now
10850 used in normal/main.c).
10851 (print_message): Use `grub_print_message_indented' instead of
10852 `print_message_indented'.
10853 (print_timeout): Likewise.
10854 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
10855 (grub_normal_print_device_info): Gettexttize strings.
10856 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
10857
3041d898
VS
108582009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
10861 of arguments. Return number of tokens and not arguments. All users
10862 updated.
10863
de15bf8e
VS
108642009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
10867 non-MSDOS paritions.
10868
e0a6ca52
VS
108692009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * include/grub/types.h (UNUSED): Removed since it conflicts with
10872 NetBSD headers. All users changed to direct __attribute__ ((unused)).
10873 Reported by Grégoire Sutre.
10874
b99518d1 108752009-12-19 Carles Pina i Estany <carles@pina.cat>
10876
10877 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
10878 (grub_print_ucs4_alloc): Likewise.
10879 (grub_getstringwidth): Likewise.
10880 * normal/main.c (grub_normal_init_page): Gettextize version string.
10881 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
10882 (getstringwidth): Renamed to ...
10883 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
10884 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
10885 (grub_print_ucs4): Remove `static' qualifer (now used in
10886 normal/main.c).
10887 * po/POTFILES: Add normal/main.c.
10888
bfd5e52b 108892009-12-19 Carles Pina i Estany <carles@pina.cat>
10890
10891 * normal/menu_text.c (STANDARD_MARGIN): New macro.
10892 (print_message_indented): Add `margin_left' and `margin_right'
10893 parameters.
10894 (print_message): Update `print_message_indented' calls. Adds '\n' to the
10895 strings.
10896 (print_timeout): Use `print_message_indented' to print the message.
10897 Deletes `second_stage' parameter.
10898 (run_menu): Update `print_timeout' calls.
10899
5a1ad2b9
VS
109002009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 Fix console palette on OpenFirmware.
10903
10904 * term/ieee1275/ofconsole.c (MAX): Removed.
10905 (colors): Redone based on VGA palette.
10906 (grub_ofconsole_setcolor): Discard brightness bit since only 8
10907 colors are supported.
10908 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
10909
b045f00a
VS
109102009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 Fix potential EfiEmu double prepare.
10913
10914 * efiemu/main.c (prepared): New variable
10915 (grub_efiemu_unload): Set prepare to '0'.
10916 (grub_efiemu_prepare): Return if already prepared. Set prepared.
10917
10918 set_virtual_address_map support.
10919
10920 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
10921 prototype.
10922 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
10923 prototype.
10924 (grub_efiemu_crc32): Likewise.
10925 (grub_efiemu_crc64): Likewise.
10926 (grub_efiemu_set_virtual_address_map): Likewise.
10927 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
10928 New definition.
10929 (grub_autoefi_set_virtual_address_map): Likewise.
10930 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
10931 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
10932 Restructure flow to accomodate it.
10933 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
10934 (grub_efiemu_crc): Recompute CRC32.
10935 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
10936 (efiemu_ptv_relocated): ... this. Made global. All users updated.
10937 * efiemu/symbols.c (relocated_handle): New variable.
10938 (grub_efiemu_free_syms): Free relocated_handle.
10939 (grub_efiemu_alloc_syms): Allocate relocated_handle.
10940 (grub_efiemu_write_sym_markers): New function.
10941 (grub_efiemu_set_virtual_address_map): Likewise.
10942
10943 Newer XNU parameters.
10944
10945 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
10946 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
10947 (grub_xnu_fill_devicetree): New prototype.
10948 (grub_xnu_heap_real_start): New variable.
10949 * loader/xnu.c (get_name_ptr): New function.
10950 (grub_xnu_load_driver): Fill namelen and name.
10951
10952 64-bit xnu support.
10953
10954 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
10955 and 'loader/macho64.c'.
10956 * conf/i386-pc.rmk: Likewise.
10957 * conf/x86_64-efi.rmk: Likewise.
10958 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
10959 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
10960 * include/grub/macho.h (grub_macho_segment64): New structure.
10961 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
10962 (grub_macho_size32): ... to this.
10963 (grub_macho32_get_entry_point): Renamed from ...
10964 (grub_macho_get_entry_point32): ... to this.
10965 (grub_macho_contains_macho64): New prototype.
10966 (grub_macho_size64): Likewise.
10967 (grub_macho_get_entry_point64): Likewise.
10968 (grub_macho32_load): Renamed from ...
10969 (grub_macho_load32): ... to this.
10970 (grub_macho32_filesize): Renamed from ...
10971 (grub_macho_filesize32): ... to this.
10972 (grub_macho32_readfile): Renamed from ...
10973 (grub_macho_readfile32): ... to this.
10974 (grub_macho_filesize64): New prototype.
10975 (grub_macho_readfile64): Likewise.
10976 (grub_macho_parse32): Likewise.
10977 (grub_macho_parse64): Likewise.
10978 * loader/macho.c: Split into ...
10979 * loader/machoXX.c: ... and this. Replace 32 with XX.
10980 * loader/macho32.c: New file.
10981 * loader/macho64.c: Likewise.
10982 * loader/xnu.c (grub_xnu_is_64bit): New variable.
10983 (grub_cmd_xnu_kernel): Make 32-bit only.
10984 (grub_cmd_xnu_kernel64): New function.
10985 (grub_xnu_load_driver): Support Mach-O 64.
10986 (grub_cmd_xnu_mkext): Likewise.
10987 * util/grub.d/30_os-prober.in (osx_entry): New function.
10988 Generate entries for 64-bit boot too.
10989
10990 Eliminate ad-hoc tree format in XNU and EfiEmu.
10991
10992 * efiemu/main.c (grub_efiemu_prepare): Update comment.
10993 * efiemu/pnvram.c: Rewritten to use environment variables.
10994 All users updated.
10995
10996 Inline utf16_to_utf8.
10997
10998 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
10999 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
11000 All users updated.
11001 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
11002
11003 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
11004 * commands/usbtest.c (grub_usb_get_string): ... move here.
11005 (usb_print_str): Fix error handling.
11006 * include/grub/usb.h (grub_usb_get_string): Remove.
11007
11008 UTF-8 to UTF-16 transformation.
11009
11010 * conf/common.rmk (pkglib_MODULES): Add charset.mod
11011 (charset_mod_SOURCES): New variable.
11012 (charset_mod_CFLAGS): Likewise.
11013 (charset_mod_LDFLAGS): Likewise.
11014 * include/grub/utf.h: New file.
11015 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
11016
11017 Support for device properties.
11018
11019 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
11020 (grub_xnu_devprop_device_header): Likewise.
11021 (grub_xnu_devprop_device_descriptor): Likewise.
11022 (grub_xnu_devprop_add_device): New prototype.
11023 (grub_xnu_devprop_remove_device): Likewise.
11024 (grub_xnu_devprop_remove_property): Likewise.
11025 (grub_xnu_devprop_add_property_utf8): Likewise.
11026 (grub_xnu_devprop_add_property_utf16): Likewise.
11027 (grub_cpu_xnu_init): Likewise.
11028 (grub_cpu_xnu_fini): Likewise.
11029 (grub_cpu_xnu_unload): Likewise.
11030 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
11031 (property_descriptor): Likewise.
11032 (devices): New variable.
11033 (grub_xnu_devprop_remove_property): New function.
11034 (grub_xnu_devprop_add_device): Likewise.
11035 (grub_xnu_devprop_remove_device): Likewise.
11036 (grub_xnu_devprop_add_property): Likewise.
11037 (grub_xnu_devprop_add_property_utf8): Likewise.
11038 (grub_xnu_devprop_add_property_utf16): Likewise.
11039 (hextoval): Likewise.
11040 (grub_cpu_xnu_fill_devprop): Likewise.
11041 (grub_cmd_devprop_load): Likewise.
11042 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
11043 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
11044 (cmd_devprop_load): New variable.
11045 (grub_cpu_xnu_init): New function.
11046 (grub_cpu_xnu_fini): Likewise.
11047 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
11048 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
11049 (grub_cmd_xnu_devtree): Likewise.
11050 (hextoval): New function.
11051 (unescape): Likewise.
11052 (grub_xnu_fill_devicetree): Likewise.
11053
11054 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
11055 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
11056
0945f181
VS
110572009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 Workaround for broken ATI VBE.
11060
11061 * video/i386/pc/vbe.c (last_set_mode): New variable.
11062 (grub_vbe_set_video_mode): Set 'last_set_mode'.
11063 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
11064 (grub_video_vbe_setup): Don't check for reserved flag.
11065
0ad46fd7 110662009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
11067
11068 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
11069 the `find' command.
11070
c179ebe4
VS
110712009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 UUID support for HFS.
11074
11075 * fs/hfs.c (grub_hfs_uuid): New function.
11076 (grub_hfs_fs): New value .uuid.
11077 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
11078
0ad46fd7 110792009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
11080
11081 Fix a segfault with parsing unknown long options.
11082
11083 * util/grub-mkrelpath.c (options): Zero terminate it.
11084
c4a3e41a
CPE
110852009-12-13 Carles Pina i Estany <carles@pina.cat>
11086
11087 * include/grub/misc.h (grub_puts): New declaration.
11088 (grub_puts_): Likewise.
a22008a6 11089 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
11090 (grub_puts_): Likewise.
11091
2e8a7602
RM
110922009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11093
11094 * util/grub-probe.c (probe): Improve error message.
11095
b50b77b9
RM
110962009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11097
11098 * loader/i386/multiboot_elfxx.c
11099 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
11100 initialization.
11101
111022009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 Relocator framework
11105
11106 * loader/i386/xnu_helper.S: Removed. All users updated.
11107 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
11108 (relocator_mod_SOURCES): New variable.
11109 (relocator_mod_CFLAGS): Likewise.
11110 (relocator_mod_LDFLAGS): Likewise.
11111 (relocator_mod_ASFLAGS): Likewise.
11112 * conf/x86_64.rmk: Likewise.
11113 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
11114 (grub_multiboot_payload_entry_offset): Likewise.
11115 (grub_multiboot_forward_relocator): Likewise.
11116 (grub_multiboot_forward_relocator_end): Likewise.
11117 (grub_multiboot_backward_relocator): Likewise.
11118 (grub_multiboot_backward_relocator_end): Likewise.
11119 (grub_multiboot_payload_eip): New variable.
11120 (grub_multiboot_payload_orig): Likewise.
11121 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
11122 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
11123 * include/grub/i386/memory.h
11124 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
11125 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
11126 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
11127 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
11128 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
11129 * include/grub/i386/relocator.h: New file.
11130 * include/grub/x86_64/relocator.h: Likewise.
11131 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
11132 (XNU_RELOCATOR): New macro.
11133 (grub_xnu_launcher_start): Remove.
11134 (grub_xnu_launcher_end): Likewise.
11135 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
11136 (grub_xnu_heap_real_start): Remove.
11137 (grub_xnu_heap_start): Change to void *. All users updated.
11138 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
11139 * lib/i386/relocator.c: New file.
11140 * lib/i386/relocator_asm.S: Likewise.
11141 * lib/i386/relocator_backward.S: Likewise.
11142 * lib/mips/relocator.c: Likewise.
11143 * lib/mips/relocator_asm.S: Likewise.
11144 * lib/relocator.c: Likewise.
11145 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
11146 (entry): Removed.
11147 (playground): Likewise.
11148 (grub_multiboot_payload_orig): New variable.
11149 (grub_multiboot_payload_dest): Likewise.
11150 (grub_multiboot_payload_size): Likewise.
11151 (grub_multiboot_payload_eip): Likewise.
11152 (grub_multiboot_payload_esp): Likewise.
11153 (grub_multiboot_boot): Use grub_relocator32_boot.
11154 (grub_multiboot_unload): Free relocators.
11155 (grub_multiboot): Setup stack. Use relocators.
11156 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
11157 (grub_multiboot_load_elfXX): Use relocators.
11158 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
11159 (grub_multiboot_payload_size): Likewise.
11160 (grub_multiboot_payload_dest): Likewise.
11161 (grub_multiboot_payload_entry_offset): Likewise.
11162 (grub_multiboot_forward_relocator): Likewise.
11163 (grub_multiboot_backward_relocator): Likewise.
11164 (grub_multiboot_real_boot): Likewise.
11165 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
11166 (grub_xnu_entry_point): Likewise.
11167 (grub_xnu_arg1): Likewise.
11168 (grub_xnu_stack): Likewise.
11169 (grub_xnu_launch): Removed.
11170 (grub_xnu_boot_resume): New function.
11171 (grub_xnu_boot): Use relocators.
11172 * loader/i386/xnu_helper.S: Removed.
11173 * loader/xnu.c (grub_xnu_heap_start): New variable.
11174 (grub_xnu_heap_size): Likewise.
11175 (grub_xnu_heap_malloc): Use relocators.
11176 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
11177
29eb90c6
VS
111782009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
11181 anything.
11182
31027430
CPE
111832009-12-13 Carles Pina i Estany <carles@pina.cat>
11184
11185 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
11186 GRUB_ERR_NONE before calling grub_env_set.
11187
dc0c71d9
RM
111882009-12-12 Robert Millan <rmh@aybabtu.com>
11189
11190 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
11191 * genmk.rb (video): New variable.
11192 (CLEANFILES, VIDEOFILES): Add #{video}.
11193 (#{video}): New target rule.
11194 * genvideolist.sh: New file.
11195 * Makefile.in (pkglib_DATA): Add video.lst.
11196 (video.lst): New target rule.
11197 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
11198 `video.lst'.
11199 * util/grub.d/30_os-prober.in: Replace `vbe' with
11200 ${GRUB_VIDEO_BACKEND}.
11201
2a4bfcf0
RM
112022009-12-11 Robert Millan <rmh.grub@aybabtu.com>
11203
11204 * THANKS: Add David Miller.
11205
2a3aa4d5
RM
112062009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 libpciaccess support.
11209
11210 * Makefile.in (LIBPCIACCESS): New variable.
11211 (enable_grub_emu_pci): Likewise.
11212 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
11213 util/pci.c and commands/lspci.c.
11214 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
11215 * configure.ac (grub-emu-pci): New option.
11216 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
11217 (grub_pci_device_unmap_range): Likewise.
11218 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
11219 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
11220 (grub_pci_address_t) [!GRUB_UTIL]: New type.
11221 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
11222 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
11223 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
11224 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
11225 * include/grub/pciutils.h: New file.
11226 * util/pci.c: Likewise.
11227
0ad46fd7 112282009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
11229
11230 * util/misc.c: Don't include <errno.h> twice.
11231
0ad46fd7 112322009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
11233
11234 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
11235 name in an error message.
11236 (grub_biosdisk_rw): Likewise.
11237
2e59983c
VS
112382009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 Eliminate NTFS 4Gib barrier.
11241
11242 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
11243 (read_run_data): Likewise.
11244 (grub_ntfs_read_run_list): Likewise.
11245 (grub_ntfs_read_block): Likewise.
11246 (grub_ntfs_iterate_dir): Likewise.
11247 (read_mft): Likewise.
11248 (read_data): Likewise.
11249 Use COM_LOG_LEN.
11250 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
11251 to avoid 64-bit division
11252 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
11253 (grub_ntfs_rlst): Use grub_disk_addr_t.
11254
71ee178a
VS
112552009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 Eliminate grub-fstest 4Gib barrier.
11258
11259 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
11260 (read_file): Fix error reporting.
11261
2520d4b8
VS
112622009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 Eliminate hexdump 4Gib barrier.
11265
11266 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
11267 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
11268
e1f27065
VS
112692009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
11272 Fixes amarsh bug.
11273
1a0f7f45
RM
112742009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
11275
11276 Remove miscellaneous files in distclean target.
11277
11278 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
11279
c631d9fb
CW
112802009-12-09 Colin Watson <cjwatson@ubuntu.com>
11281
11282 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
11283 if they're already set. This resolves the conflict between my
11284 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
11285 fixing the --grub-probe option again.
11286 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
11287 change on 2009-10-06, so that we now once again source
11288 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11289
7c7b6106
RM
112902009-12-08 Robert Millan <rmh.grub@aybabtu.com>
11291
11292 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
11293 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
11294 `util/devicemap.c'.
11295
e3069ec1
CPE
112962009-12-08 Carles Pina i Estany <carles@pina.cat>
11297
11298 * include/grub/misc.h (grub_printf_): New declaration.
11299 * kern/misc.c (grub_printf_): New definition.
11300 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
11301 instead of `grub_printf' and `_'.
11302 * normal/menu_entry.c (store_completion): Likewise.
11303 (run): Likewise.
11304 (grub_menu_entry_run): Likewise.
11305 * normal/menu_text.c (grub_wait_after_message): Likewise.
11306 (notify_booting): Likewise.
11307 (notify_fallback): Likewise.
11308 (notify_execution_failure): Likewise.
11309
d6ceebf1
CW
113102009-12-07 Colin Watson <cjwatson@ubuntu.com>
11311
11312 * configure.ac: Check for vasprintf.
11313 * util/misc.c (asprintf): Move allocation from here ...
11314 (vasprintf): ... to here. New function.
11315 (xasprintf): New function.
11316 * include/grub/util/misc.h (vasprintf, xasprintf): Add
11317 prototypes.
11318 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11319 * util/grub-mkfont.c (write_font): Likewise.
11320 * util/grub-probe.c (probe): Likewise.
11321 * util/hostdisk.c (make_device_name): Likewise.
11322
de6daa8b
DM
113232009-12-06 David S. Miller <davem@sunset.davemloft.net>
11324
11325 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
11326 anything even prefixed with 'cdrom' as a cdrom.
11327
0ad46fd7 113282009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
11329
11330 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
11331 mount points.
11332
98d3dc02
CPE
113332009-12-05 Carles Pina i Estany <carles@pina.cat>
11334
11335 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
11336 grub_gettext_msg_list.
11337 (grub_gettext_gettranslation_from_position): Return const char *
11338 and not char *.
a2c1332b 11339 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
11340 returns from the list if existing there.
11341 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
11342 (grub_gettext_delete_list): Delete the list.
11343 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
11344 lang environment variable is changed.
11345 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
11346
b283f108
VS
113472009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 Rename kernel.mod to kernel.img.
11350
11351 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
11352 (kernel_mod_EXPORTS): Rename to ...
11353 (kernel_img_EXPORTS): ... this.
11354 (kernel_mod_SOURCES): Rename to ...
11355 (kernel_img_SOURCES): ... this.
11356 (kernel_mod_HEADERS): Rename to ...
11357 (kernel_img_HEADERS): ... this. All users updated.
11358 (kernel_mod_CFLAGS): Rename to ...
11359 (kernel_img_CFLAGS): ... this.
11360 (kernel_mod_ASFLAGS): Rename to ...
11361 (kernel_img_ASFLAGS): ... this.
11362 (kernel_mod_LDFLAGS): Rename to ...
11363 (kernel_img_LDFLAGS): ... this.
11364 * conf/x86_64-efi.rmk: Likewise.
11365 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
11366 (read_kernel_image): ... this. All users updated.
11367 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
11368
69055f8a
CPE
113692009-12-05 Carles Pina i Estany <carles@pina.cat>
11370
11371 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
11372 (print_spaces): New function.
11373 (grub_print_ucs4): New function.
11374 (getstringwidth): New function.
11375 (print_message_indented): New function.
11376 (print_message): Gettexttize strings using print_message_indented.
11377 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
11378 width.
11379 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 11380 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
11381 Gettextize.
11382 * normal/menu_entry.c (store_completion): Cleanup the gettextized
11383 string.
11384 (run): Likewise.
11385 (grub_menu_entry_run): Likewise.
11386 * PO/POTFILES: Add normal/menu_entry.c.
11387
f616f51c
VS
113882009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
11391
57bbe3be
CPE
113922009-12-05 Carles Pina i Estany <carles@pina.cat>
11393
11394 * util/grub-install.in: Install gettext .mo files.
11395 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
11396
013d67a1
CPE
113972009-12-05 Carles Pina i Estany <carles@pina.cat>
11398
11399 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
11400 grub_dprintf.
11401
fb954db0
RM
114022009-12-05 Robert Millan <rmh.grub@aybabtu.com>
11403
11404 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
11405 non-firmware-dependant one in realmode.S takes precedence.
11406
6b8474f8
RM
114072009-12-04 Robert Millan <rmh.grub@aybabtu.com>
11408
11409 * commands/halt.c: Replace misc arch-specific headers with
11410 `<grub/misc.h>'.
11411 * commands/reboot.c: Likewise.
11412 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
11413 `<grub/misc.h>'.
11414 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
11415 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
11416 (kernel_img_SOURCES): ... to here.
11417
11418 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
11419 * include/grub/i386/pc/init.h: Likewise.
11420 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11421 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11422
11423 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
11424
11425 * include/grub/i386/halt.h: Remove.
11426 * include/grub/i386/reboot.h: Likewise.
11427
11428 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
11429
4b2e6ca2
DM
114302009-12-03 David S. Miller <davem@sunset.davemloft.net>
11431
11432 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
11433 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
11434 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
11435 "progname.h"
11436 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11437 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11438 (usage): Add missing comma in printf.
11439
5239348f
RM
114402009-12-02 Robert Millan <rmh.grub@aybabtu.com>
11441
11442 Use the same reboot approach on i386 coreboot and qemu as we do on
11443 BIOS.
11444
11445 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
11446 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
11447 * kern/i386/reboot.c: Remove.
11448 * include/grub/i386/reboot.h (grub_reboot): Export function.
11449 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
11450 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
11451 0xf000:0xfff0 instead of 0xffff:0x0000.
11452 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
11453 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
11454
ef34cbd4
RM
114552009-11-30 Robert Millan <rmh.grub@aybabtu.com>
11456
11457 Fix $srcdir != $objdir build.
11458
11459 * Makefile.in (po/%.po): Rewrite as ...
11460 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
11461
dc9837ea
ST
114622009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
11463
11464 Fix GNU/Hurd grub-install crash.
11465 * util/grub-probe.c (probe): Try to access `path' only when it is not
11466 NULL.
11467
2f857f98
VS
114682009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 Correct module naming.
11471
11472 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11473 (GRUB_MOD_INIT(efi_uga)): ... to this
11474 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11475 (GRUB_MOD_FINI(efi_uga)): ... to this
11476 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11477 (GRUB_MOD_INIT(efi_gop)): ... to this
11478 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11479 (GRUB_MOD_FINI(efi_gop)): ... to this
11480
c5448046
RM
114812009-11-28 Robert Millan <rmh.grub@aybabtu.com>
11482
11483 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
11484 translatable.
11485 (usage): Translate `arg' strings using gettext().
11486 Thanks to Jordi Mallach for the suggestion.
11487
c85184ad
VS
114882009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 GOP support. Based on patch from Bean
11491 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11492
11493 * video/efi_gop.c: New file.
11494 * include/grub/efi/graphics_output.h: Likewise.
11495 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
11496 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11497 variables.
11498 * conf/x86_64-efi.rmk: Likewise.
11499
8a4c48d8
VS
115002009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 Rename efi_fb to efi_uga.
11503
11504 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11505 'efi_uga.mod'.
11506 (efi_fb_mod_SOURCES): Rename this ...
11507 (efi_uga_mod_SOURCES): ... to this.
11508 (efi_fb_mod_CFLAGS): Rename this ...
11509 (efi_uga_mod_CFLAGS): ... to this.
11510 (efi_fb_mod_LDFLAGS): Rename this ...
11511 (efi_uga_mod_LDFLAGS): ... to this.
11512 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11513 'efi_uga.mod'.
11514 (efi_fb_mod_SOURCES): Rename this ...
11515 (efi_uga_mod_SOURCES): ... to this.
11516 (efi_fb_mod_CFLAGS): Rename this ...
11517 (efi_uga_mod_CFLAGS): ... to this.
11518 (efi_fb_mod_LDFLAGS): Rename this ...
11519 (efi_uga_mod_LDFLAGS): ... to this.
11520 * video/efi_fb.c: Move this ...
11521 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
11522
fb6c1a7b
RM
115232009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11524
11525 * po/README: New file. Explain our PO file workflow.
11526
3bc7896c
RM
115272009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11528
11529 * po/ChangeLog: Remove. Move relevant entries back to ...
11530 * ChangeLog: ... here.
11531 * po/ca.po: Remove (now handled by TLP).
11532 * po/id.po: Likewise.
11533 * po/zh_CN.po: Likewise.
11534 * Makefile.in (LINGUAS): Initialize in a way that supports
11535 empty set.
11536
9ed4841d
RM
115372009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11538
11539 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
11540 reliing on po/LINGUAS.
11541 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
11542 (po/%.po): ... this.
11543
0ad46fd7 115442009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
11545
11546 * util/i386/efi/grub-mkimage.c: Include "progname.h".
11547 (main): Use `program_name' instead of nonexistent `progname'.
11548
e30dd392
FZ
115492009-11-26 Felix Zielcke <fzielcke@z-51.de>
11550
11551 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11552 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
11553
7656de4f
RM
115542009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11555
11556 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
11557 commit.
11558 * conf/i386-efi.rmk: Likewise.
11559 * conf/i386-ieee1275.rmk: Likewise.
11560 * conf/powerpc-ieee1275.rmk: Likewise.
11561 * conf/sparc64-ieee1275.rmk: Likewise.
11562 * conf/x86_64-efi.rmk: Likewise.
11563
db77c4d4
FZ
115642009-11-26 Felix Zielcke <fzielcke@z-51.de>
11565
11566 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
11567
a755bb04
FZ
115682009-11-26 Felix Zielcke <fzielcke@z-51.de>
11569
11570 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
11571
8a4c07fd
RM
115722009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11573
11574 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
11575 (grub_mkdevicemap_SOURCES): New variable.
11576 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
11577 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
11578 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
11579 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
11580 (grub_mkdevicemap_SOURCES): Remove.
11581 * conf/i386-efi.rmk: Likewise.
11582 * conf/i386-ieee1275.rmk: Likewise.
11583 * conf/i386-pc.rmk: Likewise.
11584 * conf/powerpc-ieee1275.rmk: Likewise.
11585 * conf/sparc64-ieee1275.rmk: Likewise.
11586 * conf/x86_64-efi.rmk: Likewise.
11587 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
11588 (usage): Fix strings to use `program_name'.
11589 (main): Initialize gettext.
11590 * util/grub-editenv.c: Likewise.
11591 * util/grub-emu.c: Likewise.
11592 * util/grub-fstest.c: Likewise.
11593 * util/grub-mkdevicemap.c: Likewise.
11594 * util/grub-mkfont.c: Likewise.
11595 * util/grub-mkrelpath.c: Likewise.
11596 * util/grub-pe2elf.c: Likewise.
11597 * util/grub-probe.c: Likewise.
11598 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11599 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11600 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11601
11602 * util/misc.c: Include `"progname.h"'.
11603 (progname): Remove variable.
11604 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
11605
6f61ed55
FZ
116062009-11-25 Felix Zielcke <fzielcke@z-51.de>
11607
11608 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
11609 printf and print a newline after the menuentry header line.
11610 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11611
f022876b
FZ
116122009-11-25 Felix Zielcke <fzielcke@z-51.de>
11613
11614 autoconf >= 2.60 support $(localedir).
11615
11616 * INSTALL: Note that autoconf 2.60 is required.
11617 * configure.ac (AC_PREREQ): Bump to 2.60.
11618 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
11619 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11620
6717926e
YB
116212009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
11622
11623 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
11624 aclocal is run.
11625
08806a54
RM
116262009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11627
11628 * normal/main.c (grub_normal_read_line): Fix off-by-one
11629 buffer overflow.
11630
13b33fba
RM
116312009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11632
11633 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
11634 "parser.grub" in grub_command_execute() call.
11635
4a8572e9
CPE
116362009-11-24 Carles Pina i Estany <carles@pina.cat>
11637
11638 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
11639 * conf/i386-efi.rmk: Likewise.
11640 * conf/i386-ieee1275.rmk: Likewise.
11641 * conf/i386-pc.rmk: Likewise.
11642 * conf/powerpc-ieee1275.rmk: Likewise.
11643 * conf/sparc64-ieee1275.rmk: Likewise.
11644 * conf/x86_64-efi.rmk: Likewise.
11645 * gettext/gettex.c: Include <grub/i18n.h>.
11646 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
11647 here ...
11648 * include/grub/i18n.h: ... to here
11649 * include/grub/i18n.h: ... to here.
11650 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 11651 (grub_gettext_dummy): Move above user.
4a8572e9 11652
bee48093
FZ
116532009-11-24 Felix Zielcke <fzielcke@z-51.de>
11654
11655 * util/Makefile.in (install-local): Convert a `for' into a normal
11656 shell expansion.
11657
a031e91c
RM
116582009-11-24 Robert Millan <rmh.grub@aybabtu.com>
11659
11660 * autogen.sh: Add automake call.
11661 * config.guess: Remove.
11662 * config.sub: Likewise.
11663 * install-sh: Likewise.
11664
26bec39d
FZ
116652009-11-24 Felix Zielcke <fzielcke@z-51.de>
11666
11667 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
11668
8e2532fd
FZ
116692009-11-24 Felix Zielcke <fzielcke@z-51.de>
11670
11671 * util/Makefile.in (install-local): Convert a make `$(foreach)'
11672 function to a normal shell `for'.
11673
fefa1b7d
FZ
116742009-11-24 Felix Zielcke <fzielcke@z-51.de>
11675
11676 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11677
4501250b
FZ
116782009-11-24 Felix Zielcke <fzielcke@z-51.de>
11679
11680 * util/grub-mkrelpath.c: New file.
11681 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
11682 (grub_mkrelpath_SOURCES): New variable.
11683 * include/grub/util/misc.h: New function prototype.
11684 * util/misc.c (make_system_path_relative_to_its_root): New function.
11685
11686 * util/grub-mkconfig_lib.in (bindir): New variable.
11687 (grub_mkrelpath): Likewise.
11688 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
11689
11690 * util/probe.c (probe): Make the file path relative to its root.
11691 Change a info message to use the GRUB path. Enable again the
11692 check if we can read the file with GRUB facilities.
11693
11694 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
11695 to its root.
11696
11d9778b
FZ
116972009-11-24 Felix Zielcke <fzielcke@z-51.de>
11698
11699 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
11700 platform.
11701
4465287d
FZ
117022009-11-24 Felix Zielcke <fzielcke@z-51.de>
11703
11704 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
11705 strncmp().
11706
62b47f22
FZ
117072009-11-24 Felix Zielcke <fzielcke@z-51.de>
11708
11709 * util/getroot.c (grub_util_is_dmraid): New function.
11710 (grub_util_get_dev_abstraction): Treat dmraid and multipath
11711 devices as normal ones, not as LVM.
11712
1eafb9b9 117132009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
11714
11715 * conf/common.rmk: Add grub-gettext_lib target and updates
11716 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
11717 LDFLAGS.
11718 * gettext/gettext.c: New file. (Reads mo files).
11719 * include/grub/file.h (grub_file_pread): New prototype.
11720 * include/grub/i18n.h (_): New prototype.
11721 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
11722 prototypes.
11723 * kern/misc.c (grub_gettext_dummy): New function.
11724 * normal/menu_text.c: Include <grub/i18n.h>.
11725 * normal/menu_text.c (print_timeout): Gettexttize string.
11726 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
11727 * po/POTFILES: Add `normal/menu_text.c'.
11728 * po/ca.po: Add new translations.
c3ea6bd4
CPE
11729 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
11730 gettext module and defines locale_dir and lang in grub.cfg.
11731 * NEWS: Add gettext support.
11732
0fdb2568
RM
117332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11734
11735 * util/hostdisk.c: Include `<grub/i18n.h>'.
11736 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
11737 (make_device_name): Rewrite using asprintf.
11738 (convert_system_partition_to_system_disk): Replace 0 with NULL.
11739 (find_system_device): If a device is not found, generate one just
11740 by reusing the OS path name.
11741 (read_device_map): Make it permissible for device.map not to exist.
11742
f515aa62
RM
117432009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11744
11745 * script/sh/execute.c: Move from here ...
11746 * script/execute.c: ... to here. Update all users.
11747 * script/sh/function.c: Move from here ...
11748 * script/function.c: ... to here. Update all users.
11749 * script/sh/lexer.c: Move from here ...
11750 * script/lexer.c: ... to here. Update all users.
11751 * script/sh/main.c: Move from here ...
11752 * script/main.c: ... to here. Update all users.
11753 * script/sh/parser.y: Move from here ...
11754 * script/parser.y: ... to here. Update all users.
11755 * script/sh/script.c: Move from here ...
11756 * script/script.c: ... to here. Update all users.
11757
f84b481b
RM
117582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11759
11760 * configure.ac: Detect all `emu' platforms. Define
11761 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
11762 --enable-grub-emu logic. Disable include/grub/machine
11763 symlink on `emu' platforms.
11764
11765 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
11766 * gensymlist.sh.in: Likewise.
11767
11768 * include/grub/i386/coreboot/machine.h: Remove file.
11769 * include/grub/i386/efi/machine.h: Likewise.
11770 * include/grub/i386/ieee1275/machine.h: Likewise.
11771 * include/grub/i386/pc/machine.h: Likewise.
11772 * include/grub/i386/qemu/machine.h: Likewise.
11773 * include/grub/powerpc/ieee1275/machine.h: Likewise.
11774 * include/grub/sparc64/ieee1275/machine.h: Likewise.
11775 * include/grub/x86_64/efi/machine.h: Likewise.
11776
11777 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
11778 * commands/halt.c: Likewise.
11779 * commands/reboot.c: Likewise.
11780 * include/grub/autoefi.h: Likewise.
11781 * include/grub/i386/at_keyboard.h: Likewise.
11782 * include/grub/i386/kernel.h: Likewise.
11783 * include/grub/i386/loader.h: Likewise.
11784 * include/grub/i386/pc/memory.h: Likewise.
11785 * kern/dl.c: Likewise.
11786 * kern/i386/coreboot/init.c: Likewise.
11787 * loader/i386/bsd.c: Likewise.
11788 * loader/i386/linux.c: Likewise.
11789 * loader/multiboot_loader.c: Likewise.
11790 * term/i386/pc/serial.c: Likewise.
11791 * term/usb_keyboard.c: Likewise.
11792
11793 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
11794 `<grub/machine/machine.h>'
11795 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
11796 * util/misc.c: Remove `<grub/machine/machine.h>' and
11797 `<grub/machine/time.h>'.
11798
11799 * Makefile.in (enable_grub_emu): Remove variable.
11800 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
11801
11802 * conf/any-emu.rmk: New file.
11803 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
11804 (grub_emu_init.c): Move from here ...
11805 * conf/any-emu.rmk: ... to here.
11806
11807 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
11808 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
11809 * conf/any-emu.rmk: ... to here.
11810
4efeab03
RM
118112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11812
11813 * include/grub/parser.h (grub_parser_register): Document need
11814 of `name' parameter.
11815 * normal/main.c (grub_normal_read_line): Simplify prompt string.
11816 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
11817 "sh" to "grub".
11818
ea1dd8bf
RM
118192009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11820
11821 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
11822 `$(XGETTEXT)'.
11823 * include/grub/i18n.h (N_): New macro.
11824 * util/mkisofs/mkisofs.h: Likewise.
11825 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
11826 around N_().
11827 (usage): Use gettext() to translate help strings when printing them.
11828
0c140626
RM
118292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11830
11831 Based on patch from Bean
11832 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11833
11834 * video/efi_fb.c: New file.
11835 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
11836 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11837 variables.
11838 * conf/x86_64-efi.rmk: Likewise.
11839
87d58298
RM
118402009-11-22 Robert Millan <rmh.grub@aybabtu.com>
11841
11842 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
11843 * util/i386/pc/grub-setup.c: Likewise.
11844
994cc3a3
ST
118452009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11846
11847 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
11848 <hurd/fs.h>
11849 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
11850 file_get_storage_info to implement grub_guess_root_device.
11851
26a61d6a
FZ
118522009-11-21 Felix Zielcke <fzielcke@z-51.de>
11853
11854 * Makefile.in (target): Use make's builtin $(shell) function
11855 instead of calling directly $(SHELL) to create the locale directories,
11856 inside the $(foreach) function.
11857
74ff1dd5
FZ
118582009-11-21 Felix Zielcke <fzielcke@z-51.de>
11859
11860 * util/grub-mkrescue.in: Print an error and usage if output option
11861 has not been given.
11862
0b787d0e
FZ
118632009-11-21 Felix Zielcke <fzielcke@z-51.de>
11864
11865 Patch from Loïc Minier <loic.minier@ubuntu.com>.
11866 * util/grub.d/30_os-prober.in: Cope with Linux entries where
11867 root and /boot are on different devices.
11868
1164b270
RM
118692009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11870
11871 Fix build for srcdir != objdir.
11872
11873 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
11874 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
11875 $(srcdir).
11876 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
11877 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
11878 reference for input.
11879
13774a2f
RM
118802009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11881
11882 * util/grub-mkrescue.in: Use source directory direcly (without copiing
11883 or hardlinking it). Remove -J option, Joliet is not compatible with
11884 multiple source directories.
11885
efda854e
RM
118862009-11-21 Carles Pina i Estany <carles@pina.cat>
118872009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11888
11889 * util/grub-mkrescue.in: Recognize `--override-directory' option.
11890 (process_input_dir): New function. Process an arbitrary input
11891 directory.
11892 Misc adjustments to support both "override mode" and system-wide mode.
11893
6c09890c
FZ
118942009-11-20 Felix Zielcke <fzielcke@z-51.de>
11895
11896 * configure.ac (UNIFONT_BDF): Rename to ...
11897 (FONT_SOURCE): ... this. Update all users.
11898
a797824f
FZ
118992009-11-20 Felix Zielcke <fzielcke@z-51.de>
11900
11901 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
11902 to the list of unifont files to look for.
11903
cd4f42b0
RM
119042009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11905
11906 Patch from Joe Auricchio <jauricchio@gmail.com>
11907 * commands/minicmd.c (grub_mini_cmd_clear): New function.
11908 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
11909 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
11910
393c783d
FZ
119112009-11-19 Felix Zielcke <fzielcke@z-51.de>
11912
11913 * Makefile.in (install-local): Add a missing backslash.
11914
b2f1e327
FZ
119152009-11-19 Felix Zielcke <fzielcke@z-51.de>
11916
11917 * include/grub/x86_64/io.h: New file.
11918
f577f7a0
RM
119192009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11920
11921 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
11922 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
11923 Include `"progname.h"'.
11924 (main): Initialize gettext.
11925 * util/i386/pc/grub-setup.c: Gettexttize.
11926 * util/i386/pc/grub-mkimage.c: Likewise.
11927
11928 * Makefile.in (po/*.po): Redefine as ...
11929 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
11930
3bc7896c
RM
11931 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
11932
c37943b6
RM
119332009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11934
11935 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
11936 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
11937 (program_name): Remove.
11938 (main): Initialize gettext support.
6323f705
RM
11939 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
11940 Include `<libintl.h>'.
11941 (_): New macro.
c37943b6
RM
11942
11943 * util/mkisofs/eltorito.c: Gettexttize.
11944 * util/mkisofs/joliet.c: Likewise.
11945 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
11946 * util/mkisofs/multi.c: Likewise.
11947 * util/mkisofs/rock.c: Likewise.
11948 * util/mkisofs/tree.c: Likewise.
11949 * util/mkisofs/write.c: Likewise.
11950
3bc7896c
RM
11951 * po/POTFILES: Update with new files.
11952
5ce77c6e
RM
119532009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11954
11955 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
11956 * util/mkisofs/iso9660.h: Likewise.
11957 * util/mkisofs/joliet.c: Likewise.
11958 * util/mkisofs/mkisofs.c: Likewise.
11959 * util/mkisofs/mkisofs.h: Likewise.
11960 * util/mkisofs/rock.c: Likewise.
11961 * util/mkisofs/tree.c: Likewise.
11962 * util/mkisofs/write.c: Likewise.
11963
11964 * util/mkisofs/eltorito.c (rcsid): Remove.
11965 * util/mkisofs/hash.c: Likewise.
11966 * util/mkisofs/joliet.c: Likewise.
11967 * util/mkisofs/name.c: Likewise.
11968 * util/mkisofs/rock.c: Likewise.
11969 * util/mkisofs/tree.c: Likewise.
11970 * util/mkisofs/write.c: Likewise.
11971
1dabbc77
RM
119722009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11973
11974 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
11975 instead of static allocation.
11976 * util/mkisofs/match.h: Likewise.
11977
633877cb
RM
119782009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11979
3bc7896c
RM
11980 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
11981 and `util/grub.d/10_linux.in'.
633877cb
RM
11982 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
11983 translatable Shell files.
11984
af1c0c85
RM
119852009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11986
11987 * Makefile.in ($(srcdir)/aclocal.m4): New target.
11988
769ae37b
RM
119892009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11990
11991 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 11992 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
11993 * util/grub.d/10_kfreebsd.in (bindir): New variable.
11994 Add gettext initialization.
11995 (kfreebsd_entry): Make menuentry output translatable.
11996
119972009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11998
11999 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
12000 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
12001 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
12002 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
12003 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 12004 * po/LINGUAS: New file.
769ae37b
RM
12005
120062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12007
12008 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
12009 other things).
12010 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
12011 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
12012 bindtextdomain() calls for gettext initialization.
12013
120142009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12015
12016 * gnulib/progname.c: New file (imported from Gnulib).
12017 * gnulib/progname.h: Likewise.
12018 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12019 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
12020 (usage): Replace `progname' with `program_name'.
12021 (main): Use set_program_name() for program name initialization.
12022
120232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12024
12025 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
12026 from here ...
12027 * Makefile.in (CPPFLAGS): ... to here.
12028
120292009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12030
12031 * aclocal.m4: Move from here ...
12032 * acinclude.m4: ... to here.
12033 * autogen.sh: Add call to `aclocal'.
12034 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
12035
120362009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12037
12038 * Makefile.in (CLEANFILES): Add `po/*.mo'.
12039 (LINGUAS): New variable.
12040 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
12041 (install-local): Install MO files.
12042 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
12043 * include/grub/i18n.h: New file.
3bc7896c
RM
12044 * po/POTFILES: New file.
12045 * po/ca.po: New file.
769ae37b
RM
12046 * util/grub.d/10_linux.in (bindir): New variable.
12047 Add gettext initialization.
12048 (linux_entry): Make menuentry output translatable.
12049 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
12050 (usage): Make --help output translatable.
12051 (main): Initialize gettext.
12052
02c0a6ad
RM
120532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12054
12055 * import_gcry.py: New file (written by Vladimir with minor
12056 adjustments).
12057 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
12058 ciphers.
12059 * INSTALL: Document that Python is required for bootstrap.
12060
120612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12062
12063 Import ciphers from libgcrypt 1.4.4.
12064
12065 * lib/libgcrypt/cipher/ChangeLog
12066 * lib/libgcrypt/cipher/ac.c
12067 * lib/libgcrypt/cipher/arcfour.c
12068 * lib/libgcrypt/cipher/bithelp.h
12069 * lib/libgcrypt/cipher/blowfish.c
12070 * lib/libgcrypt/cipher/camellia-glue.c
12071 * lib/libgcrypt/cipher/camellia.c
12072 * lib/libgcrypt/cipher/camellia.h
12073 * lib/libgcrypt/cipher/cast5.c
12074 * lib/libgcrypt/cipher/cipher.c
12075 * lib/libgcrypt/cipher/crc.c
12076 * lib/libgcrypt/cipher/des.c
12077 * lib/libgcrypt/cipher/dsa.c
12078 * lib/libgcrypt/cipher/ecc.c
12079 * lib/libgcrypt/cipher/elgamal.c
12080 * lib/libgcrypt/cipher/hash-common.c
12081 * lib/libgcrypt/cipher/hash-common.h
12082 * lib/libgcrypt/cipher/hmac-tests.c
12083 * lib/libgcrypt/cipher/md.c
12084 * lib/libgcrypt/cipher/md4.c
12085 * lib/libgcrypt/cipher/md5.c
12086 * lib/libgcrypt/cipher/primegen.c
12087 * lib/libgcrypt/cipher/pubkey.c
12088 * lib/libgcrypt/cipher/rfc2268.c
12089 * lib/libgcrypt/cipher/rijndael-tables.h
12090 * lib/libgcrypt/cipher/rijndael.c
12091 * lib/libgcrypt/cipher/rmd.h
12092 * lib/libgcrypt/cipher/rmd160.c
12093 * lib/libgcrypt/cipher/rsa.c
12094 * lib/libgcrypt/cipher/seed.c
12095 * lib/libgcrypt/cipher/serpent.c
12096 * lib/libgcrypt/cipher/sha1.c
12097 * lib/libgcrypt/cipher/sha256.c
12098 * lib/libgcrypt/cipher/sha512.c
12099 * lib/libgcrypt/cipher/tiger.c
12100 * lib/libgcrypt/cipher/twofish.c
12101 * lib/libgcrypt/cipher/whirlpool.c
12102
af2f93ac
RM
121032009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12104
12105 Fix build for systems without error().
12106
12107 * gnulib/error.c: New file (imported from Gnulib).
12108 * gnulib/error.h: Likewise.
12109 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
12110 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
12111 (this variable is now used by error()).
12112
73fb3dd5
FZ
121132009-11-16 Felix Zielcke <fzielcke@z-51.de>
12114
814f5e96
FZ
12115 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
12116 instead of relying that char is signed.
73fb3dd5 12117
a691ca33
VS
121182009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
12121 blocksize different from specified.
12122 (grub_pxefs_read): Likewise.
12123
2af8f0f4
FZ
121242009-11-16 Felix Zielcke <fzielcke@z-51.de>
12125
12126 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
12127
12128 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
12129 (grub_ata_readwrite): Likewise. Update 2 format strings.
12130 (grub_atapi_read): Likewise.
12131
12132 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
12133 * conf/i386.rmk (pkglib_MODULES): ... to here ...
12134 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
12135 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
12136 (ata_mod_LDFLAGS): Move from here ...
12137 * conf/i386.rmk: ... to here ...
12138 * conf/x86_64-efi.rmk: ... and here.
12139 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
12140 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
12141
83bdecaf
RM
121422009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12143
12144 Relicense multiboot.h, with RMS' blessing.
12145
12146 * include/multiboot.h: Change to X11 license.
12147
fd6fd3d7
RM
121482009-11-15 Robert Millan <rmh.grub@aybabtu.com>
12149
12150 Support --version in grub-mkisofs.
12151
12152 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
12153 (OPTION_VERSION): New macro.
12154 (ld_options): Recognize --version.
12155 (usage): Move `program_name' from here ...
12156 (program_name): ... to here. Add `static' qualifier.
12157 (main): Recognize `OPTION_VERSION'.
12158
16a88c49
FZ
121592009-11-15 Felix Zielcke <fzielcke@z-51.de>
12160
12161 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
12162 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
12163
a4158476
RM
121642009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12165
12166 Fix help2man generation for mkisofs.
12167
12168 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
12169 (usage): Send output to stdout (rather than stderr).
12170
fc2208b0
RM
121712009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12172
12173 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
12174 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12175 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
12176 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12177 (bin_SCRIPTS): Add `grub-mkfloppy'.
12178 (grub_mkfloppy_SOURCES): New variable.
12179
12180 * util/grub-mkrescue.in: New file.
12181 * util/i386/pc/grub-mkfloppy.in: New file.
12182
12183 * util/i386/coreboot/grub-mkrescue.in: Remove.
12184 * util/i386/pc/grub-mkrescue.in: Remove.
12185
8d0edf4a
RM
121862009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12187
12188 * include/grub/multiboot.h (struct grub_multiboot_header): Move
12189 from here ...
12190 * include/multiboot.h (struct multiboot_header): ... to here. Update
12191 all users.
12192 * include/grub/multiboot.h (struct grub_multiboot_info): Move
12193 from here ...
12194 * include/multiboot.h (struct multiboot_info): ... to here. Update
12195 all users.
12196 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
12197 from here ...
12198 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
12199 Update all users.
12200 * include/grub/multiboot.h (struct grub_mod_list): Move
12201 from here ...
12202 * include/multiboot.h (struct multiboot_mod_list): ... to here.
12203 Update all users.
12204
a73f5969
RM
122052009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12206
12207 * include/multiboot2.h (multiboot_word): Rename from this ...
12208 (multiboot2_word): ... to this. Update all users.
12209 (multiboot_header): Rename from this ...
12210 (multiboot2_header): ... to this. Update all users.
12211 (multiboot_tag_header): Rename from this ...
12212 (multiboot2_tag_header): ... to this. Update all users.
12213 (multiboot_tag_start): Rename from this ...
12214 (multiboot2_tag_start): ... to this. Update all users.
12215 (multiboot_tag_name): Rename from this ...
12216 (multiboot2_tag_name): ... to this. Update all users.
12217 (multiboot_tag_module): Rename from this ...
12218 (multiboot2_tag_module): ... to this. Update all users.
12219 (multiboot_tag_memory): Rename from this ...
12220 (multiboot2_tag_memory): ... to this. Update all users.
12221 (multiboot_tag_unused): Rename from this ...
12222 (multiboot2_tag_unused): ... to this. Update all users.
12223 (multiboot_tag_end): Rename from this ...
12224 (multiboot2_tag_end): ... to this. Update all users.
12225
1c8927f0
RM
122262009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12227
12228 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
12229 this platform we should support Multiboot1 first.
12230
12231 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12232 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
12233 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
12234
6e1e0d89
RM
122352009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12236
12237 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
12238 of write calls (converting them to fwrite() if they aren't already).
12239 (get_torito_desc): Likewise.
12240 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
12241
7f2b34d8
RM
122422009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12243
12244 * util/i386/pc/grub-install.in: Move from here ...
12245 * util/grub-install.in: ... to here. Update all users.
12246
c0ef3311
CW
122472009-11-11 Colin Watson <cjwatson@ubuntu.com>
12248
12249 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
12250
e1f240ff
RM
122512009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12252
12253 Support for El Torito without floppy emulation.
12254
12255 * util/mkisofs/eltorito.c: Include `<errno.h>'.
12256 (init_boot_catalog): Improve error handling.
12257 (get_torito_desc): Don't use floppy emulation unless requested by
12258 user. Patch boot information table when requested via
12259 `-boot-info-table'.
12260 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
12261 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
12262 (use_boot_info_table): New variables.
12263 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
12264 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
12265 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
12266 `--eltorito-emul-floppy'.
12267 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
12268 and `OPTION_ELTORITO_EMUL_FLOPPY'.
12269 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
12270 (use_boot_info_table, get_731): New prototypes.
12271 * util/mkisofs/write.c (get_731): New function.
12272
af7d4de5
FZ
122732009-11-11 Felix Zielcke <fzielcke@z-51.de>
12274
12275 Fix the generation of the man page.
12276
12277 * util/pc/i386/grub-install.in: Source
12278 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12279
2c55dbc0
RM
122802009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12281
12282 Large file support for grub-mkisofs.
12283
12284 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
12285 * util/mkisofs/mkisofs.c (next_extent, last_extent)
12286 (session_start): Upgrade type to `uint64_t'. Update all users.
12287 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
12288 (struct directory_entry): Upgrade type of `starting_block' and
12289 `size' to `uint64_t'. Update all users.
12290 (struct deferred): Remove unused structure.
12291 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
12292 Update all users.
12293 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
12294 file is larger than `UINT32_MAX'.
12295 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
12296 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
12297 return value.
12298 (struct deferred_write): Upgrade type of `extent' and `size' to
12299 `uint64_t'. Update all users.
12300 (last_extent_written): Upgrade type to `uint64_t'. Update all
12301 users.
12302 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
12303 Update all users. Upgrade type of `remain' to `int64_t' and
12304 `use' to `size_t'. Use error() to handle fread() errors.
12305 (write_files): Rely on write_one_file() rather than calling
12306 xfwrite() directly.
12307
6a9cead5
FZ
123082009-11-09 Felix Zielcke <fzielcke@z-51.de>
12309
12310 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
12311
4825d790
RM
123122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12313
12314 * util/mkisofs/fnmatch.c: Remove.
12315 * util/mkisofs/getopt1.c: Likewise.
12316 * util/mkisofs/getopt.c: Likewise.
12317 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
12318 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
12319 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
12320 `gnulib/getopt1.c' and `gnulib/getopt.c'.
12321 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
12322
12323 * configure.ac: Detect `mingw32msvc' host_os.
12324 Check for lstat(), getuid() and getgid().
12325
12326 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
12327 instances of `u_char' with `uint8_t'.
12328
12329 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
12330 [!HAVE_GETUID] (getuid): New function (stub).
12331 [!HAVE_GETGID] (getgid): Likewise.
12332 [!HAVE_LSTAT] (lstat): Likewise.
12333 [!S_IROTH] (S_IROTH): New macro (dummy).
12334 [!S_IRGRP] (S_IRGRP): Likewise.
12335
84b860d8
RM
123362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12337
12338 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
12339 conditional expression).
12340
66e9b712
RM
123412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12342
12343 Import from Gnulib.
12344
12345 * gnulib/fnmatch.c: New file.
12346 * gnulib/fnmatch.h: Likewise.
12347 * gnulib/fnmatch_loop.c: Likewise.
12348 * gnulib/getopt.c: Likewise.
12349 * gnulib/getopt.h: Likewise.
12350 * gnulib/getopt1.c: Likewise.
12351 * gnulib/getopt_int.h: Likewise.
12352 * gnulib/gettext.h: Likewise.
12353
34f4a5b0
RM
123542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12355
12356 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
12357 * normal/handler.c (read_handler_list): Likewise.
12358
ac451143
RM
123592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12360
12361 Misc cleanup.
12362
12363 * kern/command.c (grub_register_command_prio): Use
12364 grub_zalloc() instead of explicitly zeroing data.
12365 * kern/list.c: Include `<grub/mm.h>'.
12366 (grub_named_list_find): Replace `0' with `NULL'.
12367 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
12368 (fs_module_list): Change type to `grub_named_list_t'. Update all
12369 users.
12370 * normal/dyncmd.c (read_command_list): Add space between function
12371 call and parenthesis.
12372 * normal/handler.c (read_handler_list): Likewise.
12373
4089b167
RM
123742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12375
12376 * normal/auth.c (punishment_delay): Moved from here ...
12377 (grub_auth_strcmp): ... to here (inside function).
12378
325f5037
RM
123792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12380
12381 * include/grub/list.h (struct grub_named_list): Remove `const'
12382 qualifier from `name'.
12383 (struct grub_prio_list): Likewise.
12384
7aea29a3
RM
123852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12386
12387 * normal/auth.c: Include `<grub/time.h>'.
12388 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
12389
3fd6f044
RM
123902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12391
12392 * normal/auth.c (punishment_delay): New variable.
12393 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
12394 (grub_auth_check_authentication): Punish failed login attempts with
12395 an incremental (2^N) delay.
12396
a4cd68e4
RM
123972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12398
12399 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
12400 path with $(srcdir).
12401
7ad12f43
VS
124022009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
12405
c1129f03
RM
124062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12407
12408 * util/i386/coreboot/grub-mkrescue.in: New file.
12409 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
12410 variables.
12411
12412 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
12413 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
12414 * configure.ac: Add header and function checks to satisfy grub-mkisofs
12415 requirements.
12416 * util/mkisofs/defaults.h: New file.
12417 * util/mkisofs/eltorito.c: Likewise.
12418 * util/mkisofs/exclude.h: Likewise.
12419 * util/mkisofs/fnmatch.c: Likewise.
12420 * util/mkisofs/getopt.c: Likewise.
12421 * util/mkisofs/getopt1.c: Likewise.
12422 * util/mkisofs/hash.c: Likewise.
12423 * util/mkisofs/include/fctldefs.h: Likewise.
12424 * util/mkisofs/include/mconfig.h: Likewise.
12425 * util/mkisofs/include/prototyp.h: Likewise.
12426 * util/mkisofs/include/statdefs.h: Likewise.
12427 * util/mkisofs/iso9660.h: Likewise.
12428 * util/mkisofs/joliet.c: Likewise.
12429 * util/mkisofs/match.c: Likewise.
12430 * util/mkisofs/match.h: Likewise.
12431 * util/mkisofs/mkisofs.c: Likewise.
12432 * util/mkisofs/mkisofs.h: Likewise.
12433 * util/mkisofs/multi.c: Likewise.
12434 * util/mkisofs/name.c: Likewise.
12435 * util/mkisofs/rock.c: Likewise.
12436 * util/mkisofs/tree.c: Likewise.
12437 * util/mkisofs/write.c: Likewise.
12438
ec8bb77d
VS
124392009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
12442 being insecure.
12443
3716b12c
RM
124442009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12445
12446 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
12447 `grub-mkimage' (and use $0 when possible).
12448
b97b7b91
RM
124492009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12450
12451 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
12452 error message for excessively large memory map.
12453
04114812
RM
124542009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12455
12456 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
12457 executable bit.
12458
e4eb2373
RM
124592009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12460
12461 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
12462 message for coreboot users.
12463
c926e1d5 124642009-11-07 Robert Millan <rmh.grub@aybabtu.com>
12465
12466 Fix build with GNU gold.
12467
12468 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
12469 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12470 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
12471 link addresses.
12472 * aclocal.m4: Likewise.
12473
86e5b1db 124742009-11-04 Felix Zielcke <fzielcke@z-51.de>
12475
12476 * configure.ac (AC_PREREQ): Bump to 2.59d.
12477 * INSTALL: Make it more clear when Autoconf and Ruby are
12478 needed and when to run `./autogen.sh'.
12479
246cd78f 124802009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
12481
12482 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
12483 OSes.
12484
4f9dfb37 124852009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12486
12487 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
12488
b82bd5e1 124892009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12490
12491 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
12492 giving it to GNU Mach.
12493
ff1a9bca 124942009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12495
12496 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
12497 GNU partition number to get internal GRUB partition number.
12498
61697d9c 124992009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12500
12501 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
12502 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
12503
a50569e1 125042009-11-01 Robert Millan <rmh.grub@aybabtu.com>
12505
12506 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
12507 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
12508 case.
12509
5b153867 125102009-11-01 Felix Zielcke <fzielcke@z-51.de>
12511
12512 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
12513
d9e2cd70 125142009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12515
12516 Fix build problem.
12517
12518 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
12519 `-isystem=$(srcdir)/include'.
12520
805111a4 125212009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12522
12523 * util/i386/pc/grub-install.in: Remove hint that device.map should be
12524 checked (grub-install doesn't currently rely on it).
12525
fa6e945f 125262009-10-29 Robert Millan <rmh.grub@aybabtu.com>
12527
12528 Revert SVN r2660.
12529
12530 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
12531 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12532 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
12533 * conf/i386-ieee1275.rmk: Likewise.
12534 * conf/i386-pc.rmk: Likewise.
12535 * conf/powerpc-ieee1275.rmk: Likewise.
12536 * conf/sparc64-ieee1275.rmk: Likewise.
12537 * conf/x86_64-efi.rmk: Likewise.
12538
cee15086 125392009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12540
12541 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
12542
95b9239e 125432009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12544
12545 * include/grub/misc.h: Stop checking for APPLE_CC.
12546
2ed19dfd 125472009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12548
12549 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
12550 doesn't cause an infinite call loop.
12551
fdcdde19 125522009-10-28 Felix Zielcke <fzielcke@z-51.de>
12553
12554 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
12555 strings.
12556
cefabfe1 125572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12558
12559 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
12560 variable.
12561 * Makefile.in: Likewise.
12562
ed96ab6d 125632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12564
12565 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
12566
0579b753 125672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12568
12569 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
12570
478df409 125712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12572
12573 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
12574
083d1679 125752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12576
12577 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
12578 from here ...
12579 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
12580
5947ae32 125812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12582
12583 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
12584 in $(MAKEINFO) invocation. This makes it clear in output that
12585 errors are being ignored.
12586
94180ff6 125872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12588
12589 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
12590 from here ...
12591 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12592 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
12593 * conf/i386-ieee1275.rmk: Likewise.
12594 * conf/i386-pc.rmk: Likewise.
12595 * conf/powerpc-ieee1275.rmk: Likewise.
12596 * conf/sparc64-ieee1275.rmk: Likewise.
12597 * conf/x86_64-efi.rmk: Likewise.
12598
9031b03a 125992009-10-26 Colin Watson <cjwatson@ubuntu.com>
12600
12601 * util/grub-editenv.c (main): If only a command is given, use
12602 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
12603 (usage): FILENAME is now optional and has a default.
12604
e4f6809b 126052009-10-26 Colin Watson <cjwatson@ubuntu.com>
12606
12607 Improve grub-mkconfig performance when there are several menu
12608 entries on a single filesystem.
12609
12610 * util/grub.d/10_linux.in (linux_entry): Cache the output of
12611 prepare_grub_to_access_device.
12612 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12613 * util/grub.d/30_os-prober.in: Likewise.
12614
67937d4d 126152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12616
12617 * util/grub.d/10_freebsd.in: Remove.
12618 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
12619 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
12620
ee3756cc 126212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12622
5c35048e 12623 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 12624
4dea1c6f 126252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12626
12627 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
12628 grub_util_error() call.
12629
042484d7 126302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12631
12632 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
12633 `reserved_first_sector' member.
12634 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
12635 `reserved_first_sector' to 1.
12636 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
12637 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
12638 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
12639 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
12640 filesystems which begin at first sector.
12641 (options): New option --skip-fs-probe.
12642 (main): Handle --skip-fs-probe and pass it to setup().
12643
d64448a7 126442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12645
12646 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
12647 (memset): Fix function prototype.
12648
508d42ec 126492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
126502009-10-25 Vasily Averin <vvs@parallels.com>
12651
12652 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
12653 `dirent.direntlen == 0'.
12654
b240e30c 126552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12656
12657 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
12658 `cpio'.
12659 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
12660
346e7fbe 126612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12662
12663 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
12664 `__trampoline_setup' and `__ucmpdi2'.
12665 * include/grub/powerpc/libgcc.h: Only export symbols for functions
12666 that libgcc provides.
12667
cdb308b0 126682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12669
12670 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
12671 * include/grub/sparc64/libgcc.h (memset): Likewise.
12672 * include/grub/misc.h (memset, memcmp): New function prototypes.
12673
fb26abc2 126742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12675
12676 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
12677 `cpio'.
12678 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
12679
f6693890 126802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12681
12682 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
12683 * docs/grub.cfg: Compensate for recent change in multiboot
12684 loader (since 2009-08-14 it won't pass filename to payload).
12685 * util/grub.d/10_hurd.in: Likewise.
12686
0933cdc0 126872009-10-21 Felix Zielcke <fzielcke@z-51.de>
12688
12689 * config.guess: Update to latest version from config git
12690 repository.
12691 * config.sub: Likewise.
12692
3b2fe8c2 126932009-10-20 Robert Millan <rmh.grub@aybabtu.com>
12694
12695 Fix build on sparc64.
12696
12697 * configure.ac: Perform checks for libgcc symbols before
12698 adding `-nostdlib' to LDFLAGS.
12699
46695a62 127002009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 Let user specify OpenBSD root device.
12703
12704 * loader/i386/bsd.c (openbsd_root): New variable.
12705 (openbsd_opts): New option 'root'.
12706 (OPENBSD_ROOT_ARG): New macro.
12707 (grub_openbsd_boot): Use 'openbsd_root'.
12708 (grub_cmd_openbsd): Fill 'openbsd_root'.
12709
d2b6b7fc 127102009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12711
12712 * NEWS: Misc adjustments.
12713
421bd7ac 127142009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
12717
f1d29d87 127182009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12719
12720 * configure.ac: Bump version to 1.97.
12721
6f3cd880 127222009-10-16 Colin Watson <cjwatson@ubuntu.com>
12723
12724 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
12725 -mno-3dnow on x86 architectures. Some toolchains enable these
12726 features by default, but they rely on registers that aren't enabled
12727 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
12728
035f7122 127292009-10-15 Robert Millan <rmh.grub@aybabtu.com>
12730
12731 Make entry text a bit more readable.
12732
12733 * util/grub.d/10_linux.in: Add `with' before `Linux'.
12734
44998e58 127352009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
12738
cd2851b3 127392009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
12742 operations.
12743
c6f3b249 127442009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 * configure.ac: Add missing dollar.
12747
6b5886ba 127482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
12751
12752 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
12753 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
12754 exports.
12755 * include/grub/sparc64/libgcc.h: Likewise. Use
12756 preprocessor conditionals.
12757
e9d66f6d 127582009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12759
12760 * conf/common.rmk (grub-dumpbios): Remove rule.
12761 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
12762 * util/grub-dumpbios.in: Remove file.
12763
9155bc17 127642009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12765
12766 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
12767 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
12768
12769 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
12770 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
12771 users.
12772
12773 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
12774 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
12775 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
12776 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
12777 users.
12778
bf7f7a18 127792009-10-12 Robert Millan <rmh.grub@aybabtu.com>
12780
12781 * term/tparm.c: Switch to GPLv3.
12782
86564c26 127832009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12784
12785 * include/grub/i386/cpuid.h: Add header protection.
12786
5c936493 127872009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12788
12789 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
12790
12791 * include/grub/i386/cpuid.h: New file.
12792 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
12793 (has_longmode): Rename to ...
12794 (grub_cpuid_has_longmode): ... this. Update all users. Remove
12795 `static' attribute.
12796 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
12797 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
12798 on a CPU that doesn't implement AMD64 instruction set.
12799
186e7cf2 128002009-10-06 Colin Watson <cjwatson@ubuntu.com>
12801
12802 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
12803 that version.texi is rebuilt on version number changes.
12804
83b65c4a 128052009-10-06 Colin Watson <cjwatson@ubuntu.com>
12806
12807 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
12808 Fixes bug #27602.
12809
d244281c 128102009-10-06 Colin Watson <cjwatson@ubuntu.com>
12811
12812 * util/i386/pc/grub-install.in: Source
12813 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
12814 that the --grub-probe option will work.
12815 * util/sparc64/ieee1275/grub-install.in: Likewise.
12816
da25306d 128172009-10-05 Robert Millan <rmh.grub@aybabtu.com>
12818
12819 * configure.ac: Bump version to 1.97~beta4.
12820
e8ee83c0 128212009-10-03 Robert Millan <rmh.grub@aybabtu.com>
12822
12823 Resync grub-mkdevicemap in x86_64-efi.
12824
12825 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
12826 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
12827 `util/devicemap.c'.
12828
50dcabcf 128292009-10-01 Colin Watson <cjwatson@ubuntu.com>
12830
12831 * util/grub-editenv.c (create_envblk_file): Write new block with a
12832 .new suffix and then rename it into place, to ensure atomic
12833 creation.
12834
0e51c3a7 128352009-09-28 Robert Millan <rmh.grub@aybabtu.com>
12836
12837 Do not automatically install headers.
12838
12839 * Makefile.in (include_DATA): Remove. Update all users.
12840
31299a95 128412009-09-26 Robert Millan <rmh.grub@aybabtu.com>
12842
12843 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
12844 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
12845
12846 * util/osdetect.lua: Remove.
12847 * script/lua/lauxlib.c: Likewise.
12848 * script/lua/ldebug.c: Likewise.
12849 * script/lua/grub_main.c: Likewise.
12850 * script/lua/lauxlib.h: Likewise.
12851 * script/lua/ldebug.h: Likewise.
12852 * script/lua/ltablib.c: Likewise.
12853 * script/lua/liolib.c: Likewise.
12854 * script/lua/lstrlib.c: Likewise.
12855 * script/lua/lualib.h: Likewise.
12856 * script/lua/ldo.c: Likewise.
12857 * script/lua/ldump.c: Likewise.
12858 * script/lua/ldo.h: Likewise.
12859 * script/lua/loslib.c: Likewise.
12860 * script/lua/lundump.c: Likewise.
12861 * script/lua/grub_lib.c: Likewise.
12862 * script/lua/ldblib.c: Likewise.
12863 * script/lua/lundump.h: Likewise.
12864 * script/lua/lmem.c: Likewise.
12865 * script/lua/grub_lib.h: Likewise.
12866 * script/lua/lmathlib.c: Likewise.
12867 * script/lua/lstate.c: Likewise.
12868 * script/lua/ltm.c: Likewise.
12869 * script/lua/lvm.c: Likewise.
12870 * script/lua/lmem.h: Likewise.
12871 * script/lua/lstate.h: Likewise.
12872 * script/lua/ltm.h: Likewise.
12873 * script/lua/ltable.c: Likewise.
12874 * script/lua/lvm.h: Likewise.
12875 * script/lua/llex.c: Likewise.
12876 * script/lua/lgc.c: Likewise.
12877 * script/lua/grub_lua.h: Likewise.
12878 * script/lua/loadlib.c: Likewise.
12879 * script/lua/lfunc.c: Likewise.
12880 * script/lua/lopcodes.c: Likewise.
12881 * script/lua/lparser.c: Likewise.
12882 * script/lua/ltable.h: Likewise.
12883 * script/lua/llex.h: Likewise.
12884 * script/lua/lgc.h: Likewise.
12885 * script/lua/lfunc.h: Likewise.
12886 * script/lua/lbaselib.c: Likewise.
12887 * script/lua/lopcodes.h: Likewise.
12888 * script/lua/lparser.h: Likewise.
12889 * script/lua/lzio.c: Likewise.
12890 * script/lua/linit.c: Likewise.
12891 * script/lua/lobject.c: Likewise.
12892 * script/lua/llimits.h: Likewise.
12893 * script/lua/lstring.c: Likewise.
12894 * script/lua/lzio.h: Likewise.
12895 * script/lua/lapi.c: Likewise.
12896 * script/lua/lcode.c: Likewise.
12897 * script/lua/lua.h: Likewise.
12898 * script/lua/lobject.h: Likewise.
12899 * script/lua/lstring.h: Likewise.
12900 * script/lua/lapi.h: Likewise.
12901 * script/lua/lcode.h: Likewise.
12902 * script/lua/luaconf.h: Likewise.
12903
cb8a2c38 129042009-09-26 Colin Watson <cjwatson@ubuntu.com>
12905
12906 * docs/grub.texi (Command-line and menu entry commands): Document
12907 date and echo commands.
12908
6b9b6276 129092009-09-24 Pavel Roskin <proski@gnu.org>
12910
12911 * include/grub/kernel.h (struct grub_module_header): Remove
12912 `grub_module_header_types'. Make `type' unsigned. Make `size'
12913 32-bit on all platforms.
12914 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
12915 8-bit field. Use grub_host_to_target32() for `size'.
12916 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
12917 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
12918 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
12919
4e5a02a7 129202009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12921
12922 Fix "lost keypress" bug in at_keyboard.
12923
12924 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
12925 Checks for readyness of input buffer (without flushing it).
12926 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
12927 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
12928
c6dcedf6 129292009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12930
12931 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
12932 size check within GRUB_MACHINE_PCBIOS section.
12933
74c958b1 129342009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12935
12936 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
12937 return value.
12938 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
12939 KEYBOARD_ISREADY check.
12940 (grub_at_keyboard_checkkey): Rename to ...
12941 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
12942 Remove gratuitous cast.
12943
ff420223 129442009-09-23 Colin Watson <cjwatson@ubuntu.com>
12945
12946 * configure.ac: Call AC_PROG_MKDIR_P.
12947 * Makefile.in (docs/stamp-vti): Create docs directory. Create
12948 version.texi in $(builddir) rather than $(srcdir).
12949 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
12950 to makeinfo's @include search path.
12951
d96875df 129522009-09-23 Felix Zielcke <fzielcke@z-51.de>
12953
12954 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
12955
9b3f8365 129562009-09-23 Felix Zielcke <fzielcke@z-51.de>
12957
12958 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
12959 for `*.dpkg-new'.
12960
c44c90db 129612009-09-21 Colin Watson <cjwatson@ubuntu.com>
12962
12963 Build info documentation. Some code borrowed from Automake.
12964
12965 * configure.ac: Check for makeinfo.
12966 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
12967 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
12968 docs/version.texi.
12969 (MOSTLYCLEANFILES): Add vti.tmp.
12970 (docs/version.texi, docs/stamp-vti): Update automatically.
12971 (docs/grub.info): Build info documentation. Use --force and ignore
12972 errors for now.
12973 (all-local): Add $(INFOS).
12974 (install-local): Install info files.
12975 (uninstall): Uninstall info files.
12976 * docs/version.texi: Remove from revision control. This file is
12977 automatically generated on build now.
12978 * gendistlist.sh: Add `*.info'.
12979
e0b37bb5 129802009-09-21 Felix Zielcke <fzielcke@z-51.de>
12981
12982 * kern/term.c: Fix indentation.
12983
5a78865b 129842009-09-21 Felix Zielcke <fzielcke@z-51.de>
12985
12986 * util/hostdisk.c: Fix a comment.
12987
dace7e8a 129882009-09-20 Robert Millan <rmh.grub@aybabtu.com>
12989
12990 Fix regression introduced in r2539.
12991
12992 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
12993 to 0xA1.
12994
a83d079b 129952009-09-19 Colin Watson <cjwatson@ubuntu.com>
12996
12997 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 12998 os-prober. Under normal operation, it does not print anything to
12999 stderr; if it does, we need to debug it, and throwing away stderr
13000 makes that excessively difficult.
a83d079b 13001
be94a509 130022009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
13005
63f745e8 130062009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13007
13008 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
13009 AC_LANG_PROGRAM from autoconf.
13010 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
13011 prototypes (fixes warning).
13012
13013 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
13014 `--disable-werror' was used.
13015
bbb2a70f 130162009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13017
13018 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
13019 uninitialized `lastaddr'.
13020
77c24f1d 130212009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13022
0f0b8c87 13023 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 13024
07197f23 130252009-09-14 Colin Watson <cjwatson@ubuntu.com>
13026
13027 * commands/test.c (get_fileinfo): Return immediately if
13028 grub_fs_probe fails.
13029
dabf1798 130302009-09-14 José Martínez <xosemp@gmail.com>
13031
13032 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
13033
d52109a7 130342009-09-14 Colin Watson <cjwatson@ubuntu.com>
13035
13036 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
13037 output.
13038
56532179 130392009-09-13 Robert Millan <rmh.grub@aybabtu.com>
13040
13041 * configure.ac: Remove --enable-grub-pe2elf. Only build
13042 grub-pe2elf when needed by the build system itself.
13043 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
13044
8ef070f5 130452009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13046
13047 * configure.ac: Bump version to 1.97~beta3.
13048 * docs/version.texi: Likewise.
13049
61229557 130502009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13051
13052 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
13053 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
13054 from here ...
13055 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
13056 (grub_linux_setup_video): ... to here (with some adjustments).
13057
5c9f8d84 130582009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13059
13060 Fix memory corruption issue (spotted by Colin Watson).
13061
13062 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
13063 causing returned size to be stored in an incorrect memory location.
13064 Fix use of uninitialized value when storing the returned size.
13065
e8f5d6e9 130662009-09-12 Yves Blusseau <blusseau@zetam.org>
13067
13068 Change clean rules to properly remove files
13069
13070 * genmk.rb: add new clean rules
13071 * Makefile.in (clean): add the new targets
13072 (mostlyclean): likewise
13073
cda2a409 130742009-09-11 Colin Watson <cjwatson@ubuntu.com>
13075
13076 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
13077 to grub_uint64_t.
13078 * fs/ntfs.c (init_file): Understand 64-bit sizes for
13079 non-resident files.
13080
86695375 130812009-09-11 Colin Watson <cjwatson@ubuntu.com>
13082
13083 * configure.ac: Don't look for help2man when cross-compiling. Fixes
13084 part of bug #27349.
13085
8aa1541a 130862009-09-10 Felix Zielcke <fzielcke@z-51.de>
13087
13088 * util/grub-mkconfig.in: Make the created config mode 400 and
13089 print a warning if it fails.
13090
48d9bb0a 130912009-09-10 Robert Millan <rmh.grub@aybabtu.com>
13092
13093 * util/grub.d/40_custom.in: Ask user to type custom entries below
13094 comment, rather than below 'exec tail' line.
13095
3b0521be 130962009-09-10 Colin Watson <cjwatson@ubuntu.com>
13097
13098 * util/grub.d/40_custom.in: Make sure that the explanatory text is
13099 visible in grub.cfg.
13100
50051d55 131012009-09-10 Colin Watson <cjwatson@ubuntu.com>
13102
13103 * util/grub.d/40_custom.in: Make it a little clearer how to use this
13104 file.
13105
c0d34387 131062009-09-10 Felix Zielcke <fzielcke@z-51.de>
13107
13108 * docs/grub.cfg: Add an example menu entry for memtest86+.
13109
80a608f3 131102009-09-09 Felix Zielcke <fzielcke@z-51.de>
13111
a2094832 13112 * config.guess: Update to latest version from config git.
80a608f3 13113 * config.sub: Likewise.
13114
99423078 131152009-09-08 Colin Watson <cjwatson@ubuntu.com>
13116
13117 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
13118 unknown-command case. Fixes bug #27320.
13119
44454e4c 131202009-09-08 Felix Zielcke <fzielcke@z-51.de>
13121
13122 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
13123 `help' if the command exists.
13124
e30d87ad 131252009-09-06 Robert Millan <rmh.grub@aybabtu.com>
13126
13127 * INSTALL: Require GCC 4.1.3 or later.
13128
9a86f1ec 131292009-09-06 Yves Blusseau <blusseau@zetam.org>
13130
13131 * Makefile.in (RMKFILES): add i386-qemu.rmk
13132 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
13133 $(srcdir)/stamp-h.in
13134
7f26d466 131352009-09-05 Robert Millan <rmh.grub@aybabtu.com>
13136
13137 * util/grub-probe.c (probe): Comment out buggy codepath, which
13138 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
13139 should be re-enabled after 1.97.
13140
3a613259 131412009-09-05 Felix Zielcke <fzielcke@z-51.de>
13142
13143 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
13144 find searches for.
13145
197f76c7 131462009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
13149 unnecessary calls to grub_error.
13150
70ba68ce 131512009-09-04 Colin Watson <cjwatson@ubuntu.com>
13152
13153 * NEWS: Mention `keystatus' and Unicode fonts.
13154
4ff0d7a4 131552009-09-04 Robert Millan <rmh.grub@aybabtu.com>
13156
13157 * configure.ac: Bump version to 1.97~beta2.
13158 * docs/version.texi: Likewise.
13159
77c55a87 131602009-09-03 Colin Watson <cjwatson@ubuntu.com>
13161
13162 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
13163 containing unwind information in some cases where it previously did
13164 not. Use -fno-dwarf2-cfi-asm if available to restore the old
13165 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
13166 discussion.
13167
f79572cd 131682009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
13169
13170 Embedding loadenv module into grub-emu
13171
13172 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
13173 commands/loadenv.c
13174 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
13175 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
13176 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
13177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
13178 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
13179 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
13180
93a81088 131812009-09-03 Magnus Granberg <zorry@ume.nu>
13182
13183 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
13184 include -fPIE in the default specs.
13185 * configure.ac: Check if pie_possible is yes and add -fno-PIE
13186 to TARGET_CFLAGS.
13187
160034b2 131882009-09-03 Felix Zielcke <fzielcke@z-51.de>
13189
13190 * INSTALL: Note that GNU Bison 2.3 or later is required.
13191
087c07c4 131922009-09-03 Colin Watson <cjwatson@ubuntu.com>
13193
13194 * kern/i386/pc/startup.S: Fix typo.
13195
cbf978c0 131962009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
13199 according to GCS.
13200
132012009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 13202
13203 * docs/grub.texi (Naming convention): Describe one-based partition
13204 numbering.
13205 (Device syntax): Likewise.
13206 (File name syntax): Likewise.
13207 (Block list syntax): Likewise.
13208 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
13209 menu.lst.
13210 (File name syntax): Likewise.
13211 (Command-line and menu entry commands): Document acpi, blocklist,
13212 crc, export, insmod, keystatus, ls, set, and unset commands.
13213
f3e8cdfd 132142009-09-02 Colin Watson <cjwatson@ubuntu.com>
13215
13216 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
13217 to avoid implying that only one of --shift, --ctrl, or --alt may be
13218 used.
13219
c0bc232b 132202009-09-02 Colin Watson <cjwatson@ubuntu.com>
13221
13222 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
13223 rather than comparing against S_IFREG, which will almost never work.
13224
aa0f752d 132252009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
13228 (write_blocklists): Likewise.
13229
ecb3166a 132302009-09-01 Colin Watson <cjwatson@ubuntu.com>
13231
13232 * script/lua/grub_lua.h (fputs): Supply a format string as the first
13233 argument to grub_printf.
13234
c403a125 132352009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 13236
13237 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 13238 non GNU test.
31aba781 13239
b5e7312c 132402009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 * kern/file.c (grub_file_read): Spelling fix
13243
fe00f472 132442009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
13247 loading of headers in some cases.
13248
cc55302e 132492009-08-30 Robert Millan <rmh.grub@aybabtu.com>
13250
13251 * configure.ac: Bump version to 1.97~beta1.
13252 * docs/version.texi: Likewise.
13253
5c90cdd2 132542009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 13255
13256 * include/grub/i386/xnu.h: Add license header.
13257 include grub/err.h explicitly.
13258
c90edae4 132592009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13260
13261 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
13262 to `ufs' in the vfs.root.mountfrom kernel parameter.
13263
d8888b5c 132642009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13265
13266 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
13267
13268 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
13269 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
13270
13271 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
13272 `ARRAY_SIZE' macro.
13273
6f07b921 132742009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * kern/file.c (grub_file_read): Check offset.
13277 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
13278 * fs/jfs.c (grub_jfs_read_file): Likewise.
13279 * fs/ntfs.c (grub_ntfs_read): Likewise.
13280 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
13281 * fs/minix.c (grub_minix_read_file): Correct offset check.
13282 * fs/ufs.c (grub_ufs_read_file): Likewise.
13283
b4f34077 132842009-08-28 Colin Watson <cjwatson@ubuntu.com>
13285
13286 * term/i386/pc/console.c (bios_data_area): Cast
13287 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
13288
e7c69859 132892009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 1-bit optimised blitters.
13292
13293 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
13294 prototype.
13295 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13296 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13297 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13298 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13299 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13300 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13301 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
13302 function.
13303 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13304 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13305 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13306 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13307 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13308 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13309 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
13310 when possible.
13311 * video/video.c (grub_video_get_blit_format): Return
13312 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
13313
a57da43f 133142009-08-28 Colin Watson <cjwatson@ubuntu.com>
13315
13316 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
13317 the first argument to grub_printf.
13318
4cbe67e5 133192009-08-28 Colin Watson <cjwatson@ubuntu.com>
133202009-08-28 Robert Millan <rmh.grub@aybabtu.com>
13321
13322 Add `getkeystatus' terminal method. Add a new `keystatus' command
13323 to query it.
13324
13325 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
13326 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
13327 modifier key bitmasks.
13328 (struct grub_term_input): Add `getkeystatus' member.
13329 (grub_getkeystatus): Add prototype.
13330 * kern/term.c (grub_getkeystatus): New function.
13331
13332 * include/grub/i386/pc/memory.h
13333 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
13334 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
13335 Data Area layout.
13336 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
13337 (grub_console_term_input): Set `getkeystatus' member.
13338 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
13339 constants.
13340 (grub_usb_keyboard_getreport): Likewise.
13341 (grub_usb_keyboard_checkkey): Likewise.
13342 (grub_usb_keyboard_getkeystatus): New function.
13343 (grub_usb_keyboard_term): Set `getkeystatus' member.
13344
13345 * commands/keystatus.c: New file.
13346 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
13347 (keystatus_mod_SOURCES): New variable.
13348 (keystatus_mod_CFLAGS): Likewise.
13349 (keystatus_mod_LDFLAGS): Likewise.
13350 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
13351 commands/keystatus.c.
13352 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13353 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13354 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13356 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13357 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 13358
6e2a9085 133592009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 Split befs.mod and afs.mod into *_be.mod and *.mod
13362
13363 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
13364 (grub_fstest_SOURCES): Likewise.
13365 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
13366 (afs_be_mod_SOURCES): New variable.
13367 (afs_be_mod_CFLAGS): Likewise.
13368 (afs_be_mod_LDFLAGS): Likewise.
13369 (befs_be_mod_SOURCES): Likewise.
13370 (befs_be_mod_CFLAGS): Likewise.
13371 (befs_be_mod_LDFLAGS): Likewise.
13372 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
13373 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13374 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13375 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13376 (grub_emu_SOURCES): Likewise.
13377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13378 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13379 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13380 * fs/afs_be.c: New file.
13381 * fs/befs_be.c: New file.
13382 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
13383 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
13384 (U16): Replaced with ...
13385 (grub_afs_to_cpu16): ...this. All users updated.
13386 (U32): Replaced with ...
13387 (grub_afs_to_cpu32): ...this. All users updated.
13388 (U64): Replaced with ...
13389 (grub_afs_to_cpu64): ...this. All users updated.
13390 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
13391 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 13392 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 13393 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13394 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13395 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13396 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13397 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13398 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13399 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13400 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13401
32a71655 134022009-08-26 Bean <bean123ch@gmail.com>
13403
13404 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
13405 64-bit number.
13406 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13407 (grub_xfs_inode_block): Change return type to grub_uint64_t.
13408 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
13409
552bf6c5 134102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 NetBSD memory map support.
13413
13414 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
13415 (grub_netbsd_btinfo_mmap_header): New structure.
13416 (grub_netbsd_btinfo_mmap_entry): Likewise.
13417 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
13418
1ae2078c 134192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 Enable bsd.mod on coreboot.
13422
13423 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
13424 (bsd_mod_SOURCES): New variable.
13425 (bsd_mod_CFLAGS): Likewise.
13426 (bsd_mod_LDFLAGS): Likewise.
13427 (bsd_mod_ASFLAGS): Likewise.
13428 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
13429 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
13430
beefc598 134312009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13432
13433 Cleanup NetBSD root support.
13434
13435 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
13436 grub_bsd_get_device.
13437 Fix typo.
13438
3b76e68b 134392009-08-25 Felix Zielcke <fzielcke@z-51.de>
13440
13441 * util/grub.d/00_header.in: Move check for the video backend of
13442 gfxterm from here ...
13443 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
13444 a suitable video backend.
13445
aea664ea 134462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 Fix breakage in grub-setup.
13449
13450 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
13451 "msdos_partition_map".
13452
ff747d50 134532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 Fix breakage in normal/auth.c.
13456
13457 * normal/auth.c (grub_iswordseparator): New function.
13458
e7e1f93f 134592009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 Authentication support.
13462
13463 * commands/password.c: New file.
13464 * conf/common.rmk (pkglib_MODULES): Add password.mod.
13465 (password_mod_SOURCES): New variable.
13466 (password_mod_CFLAGS): Likewise.
13467 (password_mod_LDFLAGS): Likewise.
13468 (normal_mod_SOURCES): Add normal/auth.c.
13469 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
13470 normal/auth.c.
13471 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13472 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13473 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13475 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13476 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13477 * include/grub/auth.h: New file.
13478 * include/grub/err.h (grub_err_t): New enum value
13479 GRUB_ERR_ACCESS_DENIED.
13480 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
13481 'users'.
13482 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
13483 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
13484 users updated.
13485 * normal/auth.c: New file.
13486 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
13487 (grub_cmdline_run): Don't allow to go to command line without
13488 authentication.
13489 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
13490 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
13491 menuentry without superuser rights.
13492 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
13493 user isn't a superuser.
13494
70f1161d 134952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13496
13497 Save space by inlining misc.c functions.
13498
13499 * kern/misc.c (grub_iswordseparator): Made static.
13500 * kern/misc.c (grub_strcat): Moved from here ...
13501 * include/grub/misc.h (grub_strcat): ... here. Inlined.
13502 * kern/misc.c (grub_strncat): Moved from here ...
13503 * include/grub/misc.h (grub_strncat): ... here. Inlined.
13504 * kern/misc.c (grub_strcasecmp): Moved from here ...
13505 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
13506 * kern/misc.c (grub_strncasecmp): Moved from here ...
13507 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
13508 * kern/misc.c (grub_isalpha): Moved from here ...
13509 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
13510 * kern/misc.c (grub_isdigit): Moved from here ...
13511 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
13512 * kern/misc.c (grub_isgraph): Moved from here ...
13513 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
13514 * kern/misc.c (grub_tolower): Moved from here ...
13515 * include/grub/misc.h (grub_tolower): ... here. Inlined.
13516
48e40bff 135172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13518
13519 * script/sh/function.c (grub_script_function_find): Cut error message
13520 not to flood terminal.
13521 * script/sh/lexer.c (grub_script_yylex): Remove command line length
13522 limit.
13523 * script/sh/script.c (grub_script_arg_add): Duplicate string.
13524
c385bfc3 135252009-08-24 Colin Watson <cjwatson@ubuntu.com>
13526
13527 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
13528 `report' grub_uint8_t *.
13529 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
13530 Use a 50-millisecond timeout rather than just repeating
13531 grub_usb_keyboard_getreport 50 times.
13532 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
13533
2d21e3e8 135342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 Rename *_partition_map to part_*
13537
13538 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
13539 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
13540 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
13541 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
13542 All users updated.
13543 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
13544 All users updated.
13545 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
13546 * util/grub-probe.c (probe_partmap): Don't transform partition name
13547 to get module name.
13548
dd103c4e 135492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 Fix OpenBSD and NetBSD support.
13552
13553 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
13554 memory address conflict.
13555 (OPENBSD_MMAP_ACPI): New definition.
13556 (OPENBSD_MMAP_NVS): Likewise.
13557 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
13558 and OPENBSD_MMAP_NVS.
13559 Add memory map terminator
13560 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 13561 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 13562
16c84d74 135632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 Let user specify NetBSD root device.
13566
13567 * loader/i386/bsd.c (netbsd_root): New variable.
13568 (netbsd_opts): New option 'root'.
13569 (NETBSD_ROOT_ARG): New macro.
13570 (grub_netbsd_boot): Use 'netbsd_root'.
13571 (grub_bsd_unload): Free 'netbsd_root'.
13572 (grub_cmd_netbsd): Fill 'netbsd_root'.
13573
adb29902 135742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13575
13576 Support for 64-bit NetBSD.
13577
13578 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
13579 point when booting non-FreeBSD.
13580
f5ae9f74 135812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 Support --no-smp and --no-acpi for NetBSD.
13584
13585 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
13586 (NETBSD_AB_NOACPI): Likewise.
13587 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
13588 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
13589
de74f136 135902009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13591
13592 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
13593 errors.
13594 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
13595 errors. Call grub_error when needed.
13596
e9a925da 135972009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * commands/search.c (search_fs): Try searching without autoload first.
13600 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13601 filesystem module explicitly for faster booting.
13602
5174302b 136032009-08-23 Colin Watson <cjwatson@ubuntu.com>
13604
13605 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
13606
c8c80635 136072009-08-23 Colin Watson <cjwatson@ubuntu.com>
13608
13609 * util/grub.d/30_os-prober.in: Disable os-prober if
13610 `GRUB_DISABLE_OS_PROBER' was set to true.
13611
71acf5e5 136122009-08-23 Robert Millan <rmh.grub@aybabtu.com>
13613
13614 * partmap/pc.c: Rename to ...
13615 * partmap/msdos.c: ... this. Update all users.
13616 (grub_pc_partition_map): Rename to ...
13617 (grub_msdos_partition_map): ... this. Update all users.
13618
13619 * parttool/pcpart.c: Rename to ...
13620 * parttool/msdospart.c: ... this. Update all users.
13621
13622 * include/grub/pc_partition.h: Rename to ...
13623 * include/grub/msdos_partition.h: ... this. Update all users.
13624 (grub_pc_partition_bsd_entry): Rename to ...
13625 (grub_msdos_partition_bsd_entry): ... this. Update all users.
13626 (grub_pc_partition_disk_label): Rename to ...
13627 (grub_msdos_partition_disk_label): ... this. Update all users.
13628 (grub_pc_partition_entry): Rename to ...
13629 (grub_msdos_partition_entry): ... this. Update all users.
13630 (grub_pc_partition_mbr): Rename to ...
13631 (grub_msdos_partition_mbr): ... this. Update all users.
13632 (grub_pc_partition): Rename to ...
13633 (grub_msdos_partition): ... this. Update all users.
13634 (grub_pc_partition_is_empty): Rename to ...
13635 (grub_msdos_partition_is_empty): ... this. Update all users.
13636 (grub_pc_partition_is_extended): Rename to ...
13637 (grub_msdos_partition_is_extended): ... this. Update all users.
13638 (grub_pc_partition_is_bsd): Rename to ...
13639 (grub_msdos_partition_is_bsd): ... this. Update all users.
13640
13641 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
13642 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
13643 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
13644 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
13645 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
13646 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
13647 (gpt_mod_LDFLAGS): Rename to ...
13648 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
13649 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
13650 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
13651 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
13652 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
13653 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
13654 (part_gpt_mod_LDFLAGS): ... this.
13655 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
13656 `pcpart.mod' to `msdospart.mod'.
13657 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
13658 to ...
13659 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
13660 (msdospart_mod_LDFLAGS): ... this.
13661
c11fded5 136622009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
13665 (openbsd_opts): Likewise.
13666 (netbsd_opts): Likewise.
13667 (freebsd_flags): Added 0 terminator.
13668 (openbsd_flags): Likewise.
13669 (netbsd_flags): Likewise.
13670 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
13671 (grub_cmd_freebsd): Transformed into extended command.
13672 (grub_cmd_openbsd): Likewise.
13673 (grub_cmd_netbsd): Likewise.
13674 (cmd_freebsd): Changed type to grub_extcmd_t.
13675 (cmd_openbsd): Likewise.
13676 (cmd_netbsd): Likewise.
13677 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
13678 grub_cmd_openbsd as extended commands.
13679 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
13680 cmd_netbsd and cmd_openbsd
13681
11d1c769 136822009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
13685
7a9094e5 136862009-08-21 Pavel Roskin <proski@gnu.org>
13687
5496c37e 13688 * Makefile.in (install-local): When checking if a file is in the
13689 build directory, use "test -e" to detect symlinks.
13690
7a9094e5 13691 * Makefile.in (install-local): Remove all files in
13692 $(DESTDIR)$(pkglibdir) before installing new files there.
13693
e53cea11 136942009-08-18 Felix Zielcke <fzielcke@z-51.de>
13695
13696 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
13697 grub-mkelfimage.
13698
9aced544 136992009-08-18 Felix Zielcke <fzielcke@z-51.de>
13700
13701 * util/grub-mkconfig.in: Don't use gfxterm by default if not
13702 explicitly specified by the user.
13703
b7da6bab 137042009-08-18 Pavel Roskin <proski@gnu.org>
13705
13706 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
13707 grub_uint8_t pointer for data.
13708 * include/grub/fbutil.h (struct grub_video_fbblit_info):
13709 Likewise.
13710 * video/fb/fbutil.c: Remove unnecessary casts.
13711
19f1b335 137122009-08-17 Michal Suchanek <hramrach@centrum.cz>
13713
13714 VBE cleanup.
13715
13716 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
13717 (grub_vbe_set_video_mode): Save active mode info
13718 only after setting the mode.
13719 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
13720 second argument.
13721
2f467aa9 137222009-08-17 Michal Suchanek <hramrach@centrum.cz>
13723
13724 Rename variables for clarity.
13725
13726 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
13727 (active_vbe_mode_info): ... this. All users updated.
13728 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
13729 All users updated.
13730 (initial_mode): Rename to ...
13731 (initial_vbe_mode): ... this. All users updated.
13732 (mode_in_use): Rename to ..
13733 (vbe_mode_in_use): ... this. All users updated.
13734 (mode_list): Rename to ..
13735 (vbe_mode_list): ... this. All users updated.
13736 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
13737 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
13738 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
13739 'mode_list_size' to 'vbe_mode_list_size'.
13740 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
13741 'best_mode_info' to 'best_vbe_mode_info' and
13742 'best_mode' to 'best_vbe_mode'
13743
6025fcd7 137442009-08-17 Michal Suchanek <hramrach@centrum.cz>
13745
13746 Remove duplicate grub_video_fb_get_video_ptr.
13747
13748 * include/grub/fbutil.h (get_data_ptr): Rename to ...
13749 (grub_video_fb_get_video_ptr): ... this.
13750 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
13751 * video/fb/fbutil.c: Add comment about addressing.
13752 (get_data_ptr): Rename to ...
13753 (grub_video_fb_get_video_ptr): ... this. All users updated.
13754 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
13755
cc8c6faf 137562009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13757
13758 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
13759 grub_dprintf() that was just added.
13760
08aa61f0 137612009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13762
13763 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
13764 (DEFAULT_VIDEO_MODE): Remove macros.
13765 (grub_linux_boot): Remove assumption that Linux has FB support,
13766 and use "text" as default video mode.
13767
7cef4f75 137682009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
13771 grub_dprintf.
13772 * fs/fat.c (grub_fat_read_data): Likewise.
13773
e1f39873 137742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
13777 payload.
13778 (grub_module): Likewise.
13779
c166d79e 137802009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
13783 mbi->cmdline but free playground.
13784
c60cee8e 137852009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 Handle group offset on UFS1.
13788
13789 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
13790 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
13791
c0d8b5d4 137922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13793
13794 Split ufs.mod into ufs1.mod and ufs2.mod.
13795
13796 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
13797 (grub_fstest_SOURCES): Likewise.
13798 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
13799 (ufs_mod_SOURCES): Remove.
13800 (ufs_mod_CFLAGS): Likewise.
13801 (ufs_mod_LDFLAGS): Likewise.
13802 (ufs1_mod_SOURCES): New variable.
13803 (ufs1_mod_CFLAGS): Likewise.
13804 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 13805 (ufs2_mod_SOURCES): New variable.
13806 (ufs2_mod_CFLAGS): Likewise.
13807 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 13808 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
13809 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13810 Likewise.
13811 (grub_emu_SOURCES): Likewise.
13812 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13813 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13814 (grub_setup_SOURCES): Likewise.
13815 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13816 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
13817 (grub_setup_SOURCES): Likewise.
13818 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13819 Likewise.
13820 * fs/ufs2.c: New file.
13821 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
13822
d3539132 138232009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 Framebuffer split.
13826
13827 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
13828 subsystem at the end.
13829 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
13830 (video_fb_mod_SOURCES): New variable.
13831 (video_fb_mod_CFLAGS): Likewise.
13832 (video_fb_mod_LDFLAGS): Likewise.
13833 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
13834 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
13835 * video/i386/pc/vbeblit.c: Moved from here ...
13836 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
13837 * video/i386/pc/vbefill.c: Moved from here ...
13838 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
13839 * video/i386/pc/vbeutil.c: Moved from here ...
13840 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
13841 * include/grub/i386/pc/vbeblit.h: Moved from here ...
13842 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
13843 * include/grub/i386/pc/vbefill.h: Moved from here ...
13844 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
13845 * include/grub/i386/pc/vbeutil.h: Moved from here ...
13846 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
13847 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
13848 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
13849 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
13850 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
13851 (grub_video_adapter): Added 'get_info_and_fini'.
13852 (grub_video_get_info_and_fini): New prototype.
13853 (grub_video_set_mode): make modestring const char *.
13854 * loader/i386/linux.c (grub_linux_setup_video): Use
13855 grub_video_get_info_and_fini.
13856 (grub_linux_boot): Move modesetting just before booting.
13857 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
13858 grub_video_get_info_and_fini.
13859 * video/i386/pc/vbe.c: Moved framebuffer part ...
13860 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
13861 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
13862 grub_video_fbstd_colors and grub_video_fb_set_palette.
13863 (grub_video_vbe_init): Clear 'framebuffer' variable and use
13864 grub_video_fb_init.
13865 (grub_video_vbe_fini): Use grub_video_fb_fini.
13866 (grub_video_vbe_setup): Use framebuffer.render_target instead of
13867 render_target and use grub_video_fb_set_active_render_target and
13868 grub_video_fb_set_palette.
13869 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
13870 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
13871 (grub_video_vbe_adapter): Use framebuffer.
13872 * video/video.c (grub_video_get_info_and_fini): New function.
13873 (grub_video_set_mode): Make modestring const char *.
13874 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
13875 values are already initialised.
13876
d404ee56 138772009-08-14 Pavel Roskin <proski@gnu.org>
13878
13879 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
13880 ABS and APPLE_CC.
13881 * boot/i386/pc/diskboot.S: Likewise.
13882 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
13883 sectors allow compilation on MacOSX.
13884 * conf/i386-pc.rmk: Enable unconditional compilation of
13885 lnxboot.img.
13886
9a10df16 138872009-08-13 Colin Watson <cjwatson@ubuntu.com>
13888
13889 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
13890 * util/grub.d/00_header.in: Enter interruptible sleep if
13891 GRUB_HIDDEN_TIMEOUT is set.
13892
be3c9ca7 138932009-08-13 Yves Blusseau <blusseau@zetam.org>
13894
13895 * include/grub/symbol.h: Add the LOCAL macro.
13896 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
13897 starting with "L_".
13898
1f9e557e 138992009-08-13 Pavel Roskin <proski@gnu.org>
13900
9ca62843 13901 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
13902 any modern compilers we support.
13903
1f9e557e 13904 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
13905 Use local labels starting with "L_" so that Apple assembler
13906 knows they are local.
13907
81623db6 139082009-08-10 Robert Millan <rmh.grub@aybabtu.com>
13909
13910 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
13911 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
13912 (bsd_kernel_types): ... this enum.
13913
13914 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
13915 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
13916 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
13917
13918 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
13919 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
13920 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
13921 messages.
13922
f5d35e7a 139232009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13924
13925 * util/grub-dumpdevtree: Moved from here ...
13926 * util/i386/efi/grub-dumpdevtree: ... to here.
13927 (hexify): New function. Converts a string to its hex version.
13928 Generate hex versions of "efi" and "device-properties" by calling
13929 hexify() on the ASCII strings rather than by hardcoding numbers.
13930
d1e1d527 139312009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13932
13933 * fs/jfs.c: Update copyright year.
13934
1ebbe064 139352009-08-08 Felix Zielcke <fzielcke@z-51.de>
13936
13937 * util/grub.d/00_header.in: Fix a comment.
13938 * util/grub.d/10_linux.in: Likewise.
13939 * util/grub.d/10_windows.in: Likewise.
13940 * util/grub.d/10_hurd.in: Likewise.
13941
a78c8d24 139422009-08-08 Felix Zielcke <fzielcke@z-51.de>
13943
13944 * util/grub-mkconfig.in: Allow the user to specify the used font
13945 with GRUB_FONT.
13946
29a6b9e8 139472009-08-08 Pavel Roskin <proski@gnu.org>
13948
b5f16cc4 13949 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
13950 available, xfs.mod needs it now.
13951
2f5cb827 13952 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
13953 the "g" modifier in sed when the intention is to strip something
13954 once. This fixes comparison of kernels with multiple dashes.
13955
29a6b9e8 13956 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
13957 on it. Add missing space before closing bracket. Fix
13958 misleading formatting.
13959
892a3d98 139602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13961
13962 * docs/grub.texi: Major overhaul. Remove all sections that are
13963 specific to GRUB Legacy, or mostly composed of Legacy-specific
13964 information.
13965
ed94253f 139662009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13967
13968 * docs/version.texi: New file. Provides version information for
13969 grub.texi.
13970
126d6628 139712009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13972
13973 * docs/grub.texi: Update CVS information to SVN.
13974 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
13975
998b5aa9 139762009-08-07 Felix Zielcke <fzielcke@z-51.de>
13977
13978 * util/grub-mkconfig.in: Remove a wrong `fi'.
13979
818e094a 139802009-08-07 Felix Zielcke <fzielcke@z-51.de>
13981
13982 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
13983 (grub_jfs_uuid): New function.
13984 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
13985
b969c52f 139862009-08-07 Felix Zielcke <fzielcke@z-51.de>
13987
13988 * util/grub-mkconfig_lib.in (font_path): Move the functionality
13989 of it to ...
13990 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
13991 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
13992
7a4894cc 139932009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13994
13995 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
13996 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
13997 Update all users.
13998
13999 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
14000 not just "vmlinu[zx]".
14001 Moved from here ...
14002 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
14003 all users.
14004
14005 * util/grub.d/10_linux.in (find_latest): Moved from here ...
14006 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
14007 all users.
14008
4e2171f8 140092009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14010
14011 * util/grub.d/10_freebsd.in: Use an absolute device path for
14012 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
14013
6dcfcb32 140142009-08-06 Felix Zielcke <fzielcke@z-51.de>
14015
14016 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
14017 handling of multiple abstraction modules.
14018
f56a8756 140192009-08-04 Robert Millan <rmh.grub@aybabtu.com>
14020
14021 Fix a bug resulting in black screen when loading Linux using a
14022 packed video mode.
14023
14024 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
14025 function.
14026
14027 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
14028 (grub_vbe_bios_getset_dac_palette_width): New function.
14029 (grub_vbe_bios_get_dac_palette_width)
14030 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
14031 grub_vbe_bios_getset_dac_palette_width()).
14032
14033 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
14034 check for return status.
14035 (grub_vbe_get_video_mode_info): When getting information for a packed
14036 mode (<= 8 bpp), obtain DAC palette width using
14037 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
14038 {red,green,blue}_mark_size.
14039
222671b2 140402009-08-04 Felix Zielcke <fzielcke@z-51.de>
14041
ecb1a6d9 14042 * commands/search.c (options): Fix help output to match actual code.
222671b2 14043
f84114f5 140442009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
14047 of homegrown code.
14048
bd288a20 140492009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 14050
14051 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
14052 on XFS or ReiserFS.
14053
8aab5e25 140542009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14055
14056 Support Apple partition map with sector size different from 512 bytes.
14057
14058 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
14059 (apple_partition_map_iterate): Respect 'aheader.blocksize'
14060 and 'apart.partmap_size'.
14061
6ad6258a 140622009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
140632009-08-01 Robert Millan <rmh.grub@aybabtu.com>
14064
14065 Fix cpuid command.
14066
14067 * commands/i386/cpuid.c (options): New variable.
14068 (grub_cmd_cpuid): Return real error.
14069 (GRUB_MOD_INIT(cpuid)): Declare options.
14070
67459bc6 140712009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
14074 valid.
14075
fbc6ab54 140762009-07-31 Bean <bean123ch@gmail.com>
14077
14078 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
14079 log2_inode.
14080 (grub_fshelp_node): Move inode field to the end.
14081 (grub_xfs_data): Remove inode field.
14082 (grub_xfs_inode_block): Calculate inode size using sblock.
14083 (grub_xfs_inode_offset): Likewise.
14084 (grub_xfs_read_inode): Calculate inode size using sblock.
14085 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
14086 (grub_xfs_iterate_dir): Calculate inode size using sblock.
14087 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
14088 to match inode size.
14089 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
14090 not accessible when data is null.
14091 (grub_xfs_open): Likewise.
14092
f45d6cfc 140932009-07-31 Bean <bean123ch@gmail.com>
14094
14095 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
14096 Don't change pv->disk if it's already set.
14097
14098 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
14099 (grub_raid_register): ... here.
14100 (grub_raid_rescan): Removed.
14101
14102 * include/grub/raid.h (grub_raid_rescan): Removed.
14103
14104 * util/grub-fstest.c: Remove include file <grub/raid.h>.
14105 (fstest): Replace grub_raid_rescan with module fini function followed
14106 by init function.
14107
14108 * util/grub-probe.c: Add include file <grub/raid.h>.
14109 (probe_raid_level): New function.
14110 (probe): Detect abstraction by walking the disk device, support two
14111 level of abstraction (LVM on RAID) when detecting partition map.
14112
24443b5a 141132009-07-31 Pavel Roskin <proski@gnu.org>
14114
14115 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
14116 to grub_zalloc(), it was erroneous.
14117 Reported by Bean <bean123ch@gmail.com>
14118
a275d9e7 141192009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 14122 embedding zone, not only the first one.
a275d9e7 14123
56c5a47f 141242009-07-29 Joe Auricchio <jauricchio@gmail.com>
14125
14126 * term/gfxterm.c (clear_char): New function.
14127 (grub_virtual_screen_setup): Use clear_char.
14128 (scroll_up): Likewise.
14129 (grub_virtual_screen_cls): Likewise.
14130
67bb323a 141312009-07-29 Felix Zielcke <fzielcke@z-51.de>
14132
14133 * util/deviceiter.c (get_acceleraid_disk_name): New static
14134 function.
14135 (grub_util_iterate_devices): Handle Accelraid devices.
14136 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
14137
388a7c75 141382009-07-28 Robert Millan <rmh.grub@aybabtu.com>
14139
14140 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
14141 separator for the suggested gfxpayload string (';' collides with the
14142 parser and needs escaping).
14143
3bb7abcf 141442009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
14147 Clear direction flag before jumping to OS.
14148 (grub_multiboot2_real_boot): Likewise.
14149
2ddd36d7 141502009-07-28 Felix Zielcke <fzielcke@z-51.de>
14151
14152 * util/i386/pc/grub-install: Fix parsing of --disk-module
14153 option.
14154
c521b62b 141552009-07-28 Felix Zielcke <fzielcke@z-51.de>
14156
14157 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
14158 when embedding.
14159
880e0a0c 141602009-07-26 Felix Zielcke <fzielcke@z-51.de>
14161
14162 * util/grub-mkconfig.in (package_version): New variable.
14163 Use it do display the version.
14164
2366e356 141652009-07-25 Felix Zielcke <fzielcke@z-51.de>
14166
14167 * kern/file.c (grub_file_open): Revert to previous check with
14168 grub_errno.
14169
7ad8c80e 141702009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
14173 from help line. It's out of sync with code.
14174
72b9658b 141752009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
14178 entries on failed boot.
14179
77435277 141802009-07-25 Felix Zielcke <fzielcke@z-51.de>
14181
14182 * kern/file.c (grub_file_open): Fix an error check.
14183
fcaa8b21 141842009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
14185
35d16c74 14186 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
14187 partition map couldn't be identified.
fcaa8b21 14188
48904cd1 141892009-07-23 Pavel Roskin <proski@gnu.org>
14190
ef3c317f 14191 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
14192 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
14193 case of little endian words becomes just an optimization.
14194 Respect const modifier.
ad8ea1f4 14195 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 14196
48904cd1 14197 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
14198 to avoid loss of upper bits if align is unsigned and shorter
14199 than addr.
14200
260c9a89 142012009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 UUID support for UFS
14204
14205 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
14206 (grub_ufs_uuid): New function.
14207 (grub_ufs_fs): add .uuid
14208
f76ce889 142092009-07-21 Pavel Roskin <proski@gnu.org>
14210
14211 * kern/dl.c (grub_dl_check_header): Make static.
14212
6a6cbcaf 142132009-07-21 Felix Zielcke <fzielcke@z-51.de>
14214
14215 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
14216 add drivemap for Vista. It breaks Windows 7.
14217
cffcddb2 142182009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
14221 128 bytes
14222
1ef44b80 142232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 Add BFS support
14226
14227 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
14228 (grub_fstest_SOURCES): Likewise.
14229 (pkglib_MODULES): Add befs.mod.
14230 (befs_mod_SOURCES): New variable.
14231 (befs_mod_CFLAGS): Likewise.
14232 (befs_mod_LDFLAGS): Likewise.
14233 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14234 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14235 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14236 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14237 (grub_setup_SOURCES): Likewise.
14238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14239 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14240 (grub_setup_SOURCES): Likewise.
14241 * fs/befs.c: New file.
14242 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
14243 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
14244 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
14245 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
14246 (B_KEY_INDEX_ALIGN): New declaration.
14247 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
14248 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
14249 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
14250 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
14251 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
14252 (grub_afs_mount) [MODE_BFS]: Likewise.
14253 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
14254 (grub_afs_fs): Use GRUB_AFS_FSNAME
14255 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
14256 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
14257 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
14258 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
14259
4f253044 142602009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
14261
14262 * util/getroot.c (find_root_device): Add support for MacOSX.
14263 * util/hostdisk.c: Likewise.
14264
57a55913 142652009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * font/font.c (find_glyph): Check whether a font is present to avoid
14268 segmentation fault.
75421ca9 14269
142702009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 14271
14272 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
14273
e98cd0c2 142742009-07-20 Pavel Roskin <proski@gnu.org>
14275
14276 * configure.ac: Trim excessively wordy excuses.
14277
1d2d169a 142782009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 Add symlink, mtime and label support to AtheFS.
14281
14282 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
14283 (grub_afs_iterate_dir): Handle symlinks.
14284 (grub_afs_open): Use grub_afs_read_symlink.
14285 (grub_afs_dir): Likewise.
14286 Pass mtime.
14287 (grub_afs_label): New function.
14288 (grub_afs_fs): Add grub_afs_label.
14289 (grub_afs_read_symlink): New function.
14290
186f3189 142912009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 Fix AtheFS support.
14294
14295 * fs/afs.c: Fix comments style.
14296 (grub_afs_blockrun): Declare as packed.
14297 (grub_afs_datastream): Likewise.
14298 (grub_afs_bnode): Likewise.
14299 (grub_afs_btree): Likewise.
14300 (grub_afs_sblock): Likewise.
14301 Declare `name' as char.
14302 (grub_afs_inode): Declare as packed.
14303 Change void *vnode to grub_uint32_t unused.
14304 (grub_afs_iterate_dir): Check that key_size is positive.
14305 (grub_afs_mount): Don't read superblock twice.
75421ca9 14306 (grub_afs_dir): Don't free node in case of error,
186f3189 14307 grub_fshelp_find_file already handles this.
14308 (grub_afs_open): Likewise.
14309
5680109e 143102009-07-19 Pavel Roskin <proski@gnu.org>
14311
14312 * Makefile.in: Remove LIBLZO and enable_lzo.
14313 * conf/i386-pc.rmk: Remove lzo support.
14314 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
14315 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
14316 support.
14317 * kern/i386/pc/lzo1x.S: Remove.
14318 * kern/i386/pc/startup.S: Remove lzo support.
14319 * util/i386/pc/grub-mkimage.c: Likewise.
14320
ac70fa32 143212009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
14324 * fs/xfs.c (grub_xfs_dir): Likewise.
14325 * fs/afs.c (grub_afs_dir): Likewise.
14326 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
14327 (grub_iso9660_open): Likewise.
14328 * fs/jfs.c (grub_jfs_open): Likewise.
14329 * fs/ext2.c (grub_ext2_dir): Likewise.
14330 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
14331 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 14332
eab58da2 143332009-07-16 Pavel Roskin <proski@gnu.org>
14334
d2838156 14335 * configure.ac: Never add "-c" to CFLAGS.
14336
55c70904 14337 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
14338
43e6200c 14339 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
14340 grub_cv_cc_efiemu should be used.
14341
ce7a733d 14342 * configure.ac: Typo fixes.
14343
eab58da2 14344 * kern/mm.c (grub_zalloc): New function.
14345 (grub_debug_zalloc): Likewise.
14346 * include/grub/mm.h: Declare grub_zalloc() and
14347 grub_debug_zalloc().
14348 * util/misc.c (grub_zalloc): New function.
14349 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
14350 instead of grub_malloc(), remove unneeded initializations.
14351 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
14352 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
14353 * commands/parttool.c (grub_cmd_parttool): Likewise.
14354 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14355 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
14356 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
14357 * disk/usbms.c (grub_usbms_finddevs): Likewise.
14358 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
14359 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
14360 (grub_cmd_efiemu_pnvram): Likewise.
14361 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
14362 * fs/iso9660.c (grub_iso9660_mount): Likewise.
14363 (grub_iso9660_iterate_dir): Likewise.
14364 * fs/jfs.c (grub_jfs_opendir): Likewise.
14365 * fs/ntfs.c (list_file): Likewise.
14366 (grub_ntfs_mount): Likewise.
14367 * kern/disk.c (grub_disk_open): Likewise.
14368 * kern/dl.c (grub_dl_load_core): Likewise.
14369 * kern/elf.c (grub_elf_file): Likewise.
14370 * kern/env.c (grub_env_context_open): Likewise.
14371 (grub_env_set): Likewise.
14372 (grub_env_set_data_slot): Likewise.
14373 * kern/file.c (grub_file_open): Likewise.
14374 * kern/fs.c (grub_fs_blocklist_open): Likewise.
14375 * loader/i386/multiboot.c (grub_module): Likewise.
14376 * loader/xnu.c (grub_xnu_create_key): Likewise.
14377 (grub_xnu_create_value): Likewise.
14378 * normal/main.c (grub_normal_add_menu_entry): Likewise.
14379 (read_config_file): Likewise.
14380 * normal/menu_entry.c (make_screen): Likewise.
14381 * partmap/sun.c (sun_partition_map_iterate): Likewise.
14382 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
14383 * script/sh/script.c (grub_script_parse): Likewise.
14384 * video/bitmap.c (grub_video_bitmap_create): Likewise.
14385 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14386 * video/readers/png.c (grub_png_output_byte): Likewise.
14387 (grub_video_reader_png): Likewise.
14388
830afef7 143892009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 14390
14391 Enable all targets that can be built by default
14392
830afef7 14393 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 14394 grub-mkfont and grub-fstest if they can be built
14395
ee293aee 143962009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14397
14398 Fix hang and segmentation fault in grub-emu-usb
14399
14400 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
14401 * util/usb.c (grub_libusb_devices): likewise
14402 (grub_libusb_init): rename to ...
14403 (GRUB_MOD_INIT (libusb)):...this
14404 (grub_libusb_fini): rename to ..
14405 (GRUB_MOD_FINI (libusb)):...this
14406 * disk/usbms.c (grub_usbms_transfer): fix retry logic
14407 * include/grub/disk.h (grub_raid_init): removed, it's useless
14408 (grub_raid_fini): likewise
14409 (grub_lvm_init): likewise
14410 (grub_lvm_fini): likewise
14411 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
14412 by grub_init_all
14413
94414221 144142009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 Fix libusb
14417
14418 * Makefile.in (LIBUSB): new macro
14419 * genmk.rb (Utility/print_tail): new method
14420 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
14421 (top level): call util.print_tail at the end.
14422
59ade63d 144232009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 Make FreeBSD accept zpool.cache
14426
14427 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
14428 type is /boot/zfs/zpool.cache
14429
a58da8c7 144302009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 Fix 64-bit efiemu
14433
14434 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
14435 correct wrong typedef
14436 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
14437
20591577 144382009-07-15 Pavel Roskin <proski@gnu.org>
14439
560ca572 14440 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
14441 * kern/disk.c (struct grub_disk_cache): Likewise.
14442
e8e8e4fd 14443 * commands/probe.c (options): Typo fix.
14444
fde24e10 14445 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
14446 Increase to 0x5a to accommodate FAT32. Adjust other offsets
14447 accordingly.
14448 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
14449
379c54c1 14450 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
14451 the end of "Error" to make the message more readable.
14452
7bd8f5bf 14453 * boot/i386/pc/boot.S (kernel_segment): Remove.
14454 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
14455 for destination.
14456
40b132c5 14457 * boot/i386/pc/boot.S (boot_version): Remove.
14458 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14459 Remove.
14460
20591577 14461 * include/grub/i386/pc/boot.h: Sort all offsets.
14462 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
14463 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
14464 * boot/i386/pc/boot.S: Assert location of every offset listed in
14465 include/grub/i386/pc/boot.h.
14466
2df32b2c 144672009-07-13 Pavel Roskin <proski@gnu.org>
14468
44b5d879 14469 * include/grub/i386/coreboot/machine.h: Rename
14470 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
14471 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
14472 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
14473
17dc3751 14474 * kern/dl.c: Force native word size to suppress warnings when
14475 compiling grub-emu.
14476
2df32b2c 14477 * kern/device.c (grub_device_iterate): Change struct part_ent to
14478 hold the name, not a pointer to it. Use one grub_malloc() per
14479 partition, not two. Free partition_name if grub_malloc() fails.
14480 Set ents to NULL only before grub_partition_iterate() is called.
14481
75c59f59 144822009-07-11 Bean <bean123ch@gmail.com>
14483
14484 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
14485 childname.
14486
0ae1bf88 144872009-07-10 Bean <bean123ch@gmail.com>
144882009-07-10 Robert Millan <rmh.grub@aybabtu.com>
14489
14490 * kern/ieee1275/openfw.c (grub_children_iterate)
14491 (grub_devalias_iterate): Fix size evaluation for property or path
14492 strings, which was broken since r2132.
14493
8279cade 144942009-07-07 Pavel Roskin <proski@gnu.org>
14495
7d8a52d3 14496 * commands/search.c (search_file): Merge into ...
14497 (search_fs): ... this. Accept search type as argument.
14498 (grub_cmd_search): Pass search type to search_fs().
14499
25f9a05a 14500 * include/grub/util/console.h: New file.
14501 * util/console.c: Use it instead of grub/machine/console.h.
14502 * util/grub-emu.c: Likewise.
14503
8279cade 14504 * lib/arg.c (find_long_option): Remove.
14505 (find_long): Add `len' argument, make `s' const char *.
14506 (grub_arg_parse): Parse long options in place, not in a
14507 temporary buffer.
14508
4a11b60f 145092009-07-06 Pavel Roskin <proski@gnu.org>
14510
99f68041 14511 * commands/search.c (search_fs): Fix potential NULL pointer
14512 dereference.
14513
4a11b60f 14514 * commands/search.c (search_fs): Replace QUID macro with quid_fn
14515 function pointer.
14516
e110f4de 145172009-07-06 Daniel Mierswa <impulze@impulze.org>
14518
14519 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
14520 comparison.
14521
46eeb6a2 145222009-07-05 Pavel Roskin <proski@gnu.org>
14523
bab74958 14524 * include/grub/i386/linux.h (struct linux_kernel_params):
14525 Restore padding3, it's still needed.
14526
46eeb6a2 14527 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
14528 FreeBSD.
14529 * util/osdetect.lua: Likewise.
14530
b4a1dc79 145312009-07-05 Bean <bean123ch@gmail.com>
14532
14533 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
14534
14535 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
14536 (grub_lua_getenv): Likewise.
14537 (grub_lua_setenv): Likewise.
14538 (save_errno): New function.
14539 (push_result): Likewise.
14540 (grub_lua_enum_device): Likewise.
14541 (grub_lua_enum_file): Likewise.
14542 (grub_lua_file_open): Likewise.
14543 (grub_lua_file_close): Likewise.
14544 (grub_lua_file_seek): Likewise.
14545 (grub_lua_file_read): Likewise.
14546 (grub_lua_file_getline): Likewise.
14547 (grub_lua_file_getsize): Likewise.
14548 (grub_lua_file_getpos): Likewise.
14549 (grub_lua_file_eof): Likewise.
14550 (grub_lua_file_exist): Likewise.
14551 (grub_lua_add_menu): Likewise.
14552
14553 * script/lua/grub_lua.h (isupper): New inline function.
14554 (islower): Likewise.
14555 (ispunct): Likewise.
14556 (isxdigit): Likewise.
14557 (strcspn): Change to normal function.
14558 (strpbkr): New function declaration.
14559 (memchr): Likewise.
14560
14561 * script/lua/grub_main.c (scan_str): New function.
14562 (strcspn): Likewise.
14563 (strpbrk): Likewise.
14564 (memchr): Likewise.
14565
14566 * script/lua/linit.c (lualibs): Enable the string library.
14567
14568 * util/osdetect.lua: New file.
14569
2da92295 145702009-07-04 Robert Millan <rmh.grub@aybabtu.com>
14571
14572 * include/grub/i386/linux.h (struct linux_kernel_params): Add
14573 `capabilities' member.
14574
b2582ec9 145752009-07-02 Pavel Roskin <proski@gnu.org>
14576
14577 * genparttoollist.sh: Add missing newline at the end.
14578
32622956 145792009-07-01 Pavel Roskin <proski@gnu.org>
14580
87a7339e 14581 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
14582
d23af54e 14583 * util/hostdisk.c (open_device): Remove `const' from
14584 `sysctl_size', as sysctlbyname() can change it (in this case it
14585 doesn't actually happen).
14586
c94b18a9 14587 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
14588 using signed long int constants.
14589
c6cd3ef0 14590 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
14591 constant to avoid a warning on FreeBSD.
14592
0df63420 14593 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
14594 where it's needed.
14595
999577f1 14596 * Makefile.in: Install include/grub/machine symlink.
14597
6f41557f 14598 * Makefile.in: When installing symlinks, use "cp -fR", which
14599 works on FreeBSD and MacOSX.
14600 From Yves Blusseau <cl7m42e02@sneakemail.com>
14601
c8d22988 14602 * kern/dl.c (grub_dl_resolve_symbol): Make static.
14603 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
14604
1b96e952 14605 * util/misc.c: Move grub_reboot() and grub_halt() ...
14606 * util/grub-emu.c: ... here. Make main_env static.
14607 * include/grub/util/misc.h: Remove main_env.
14608
2ef0084d 14609 * kern/mm.c: Use correct format to print size_t.
14610
32622956 14611 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
14612 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
14613 * kern/powerpc/dl.c: Likewise.
14614 * kern/sparc64/dl.c: Likewise.
14615 * kern/x86_64/dl.c: Likewise.
14616
3f7f0cd0 146172009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14618
14619 Fix grub-emu build on sparc64-ieee1275.
14620
75421ca9 14621 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 14622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
14623
211d06b5 146242009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14625
14626 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
14627 (grub_reboot, grub_halt): New functions.
14628
14629 * util/i386/pc/misc.c: Delete. Update all users.
14630 * util/sparc64/ieee1275/misc.c: Likewise.
14631 * util/powerpc/ieee1275/misc.c: Likewise.
14632
aaf53e3c 146332009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14634
14635 * conf/i386.rmk (setjmp_mod_SOURCES)
14636 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
14637 * conf/common.rmk (setjmp_mod_SOURCES)
14638 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
14639 to use $(target_cpu).
14640 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
14641 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
14642 * conf/powerpc-ieee1275.rmk: Likewise.
14643 * conf/sparc64-ieee1275.rmk: Likewise.
14644
14645 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
14646 $(target_cpu) for kern/$(target_cpu)/dl.c.
14647 * conf/i386-efi.rmk: Likewise.
14648 * conf/i386-ieee1275.rmk: Likewise.
14649 * conf/x86_64-efi.rmk: Likewise.
14650 * conf/i386-coreboot.rmk: Likewise.
14651 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
14652 $(target_cpu) for kern/$(target_cpu)/dl.c and for
14653 kern/$(target_cpu)/cache.S.
14654 * conf/sparc64-ieee1275.rmk: Likewise.
14655
a337130b 146562009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14657
14658 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
14659 type to `grub_uint8_t', and adjust `padding9' accordingly.
14660
c6fe4d53 146612009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14662
b09db61d 14663 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
14664
c6fe4d53 14665 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
14666 assembly in final jump, using register constraints.
14667
b09db61d 14668 (grub_linux_boot): For text mode, initialize `have_vga' using
14669 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
14670
14671 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
14672 right before the final jump.
14673
14674 Set `video_mode' to 0x3.
14675
14676 Document initialization of `video_page', `video_mode' and
14677 `video_ega_bx'.
14678
28333ad0 146792009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14680
14681 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
14682 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 14683 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 14684
02164e1b 146852009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14686
14687 Fix build on Debian / sparc.
14688
14689 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
14690
18b6c557 146912009-06-28 Pavel Roskin <proski@gnu.org>
14692
85f2aab6 14693 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
14694 fix a warning.
14695
18b6c557 14696 * util/grub.d/10_linux.in: Match SUSE style initrd names.
14697
ad760f81 146982009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14699
14700 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
14701 `err'.
14702
87a4623b 147032009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14704
14705 Revert r2338.
14706
14707 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
14708 file can't be opened. grub_file_open() is already supposed to set
75421ca9 14709 grub_errno / grub_errmsg appropriately.
87a4623b 14710 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14711
8231fb77 147122009-06-27 Pavel Roskin <proski@gnu.org>
147132009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14714
14715 * include/grub/dl.h: Include grub/elf.h.
14716 (struct grub_dl): Add symtab field.
14717 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
14718 GRUB_MODULES_MACHINE_READONLY.
14719 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
14720 of the header for read-only modules.
14721 (grub_dl_unload): Free mod->symtab for read-only modules.
14722 * kern/i386/dl.c: Use mod->symtab.
14723 * kern/powerpc/dl.c: Likewise.
14724 * kern/sparc64/dl.c: Likewise.
14725 * kern/x86_64/dl.c: Likewise.
14726
14727 * conf/i386-qemu.rmk: New file.
14728 * kern/i386/qemu/startup.S: Likewise.
14729 * kern/i386/qemu/mmap.c: Likewise.
14730 * boot/i386/qemu/boot.S: Likewise.
14731 * include/grub/i386/qemu/time.h: Likewise.
14732 * include/grub/i386/qemu/serial.h: Likewise.
14733 * include/grub/i386/qemu/kernel.h: Likewise.
14734 * include/grub/i386/qemu/console.h: Likewise.
14735 * include/grub/i386/qemu/boot.h: Likewise.
14736 * include/grub/i386/qemu/init.h: Likewise.
14737 * include/grub/i386/qemu/machine.h: Likewise.
14738 * include/grub/i386/qemu/loader.h: Likewise.
14739 * include/grub/i386/qemu/memory.h: Likewise.
14740
14741 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
14742 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
14743 [qemu] (pkglib_IMAGES): Add `boot.img'.
14744 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
14745 [qemu] (boot_img_FORMAT): New variables.
14746 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
14747 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
14748 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
14749 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14750 [qemu] (kernel_img_FORMAT): New variables.
14751
14752 * configure.ac: Recognise `i386-qemu'.
14753
14754 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
14755 (for no compression).
14756 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
14757 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
14758 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
14759 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
14760 ifdefs).
14761
97fe384e 147622009-06-27 Pavel Roskin <proski@gnu.org>
14763
14764 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
14765 read.
14766 * efiemu/prepare32.c: Likewise.
14767 * efiemu/prepare64.c: Likewise.
14768
c402ab17 147692009-06-26 Pavel Roskin <proski@gnu.org>
14770
14771 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
14772 * include/grub/elf.h: Define symbols without "32" or "64" based
14773 on GRUB_TARGET_WORDSIZE.
14774 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
14775 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
14776 ELF definitions.
14777 * efiemu/loadcore64.c: Likewise.
14778 * loader/i386/bsd32.c: Likewise.
14779 * loader/i386/bsd64.c: Likewise.
14780 * kern/dl.c: Remove own ELF definitions.
14781 * util/i386/efi/grub-mkimage.c: Likewise.
14782
9bbdfd4d 147832009-06-23 Robert Millan <rmh.grub@aybabtu.com>
14784
14785 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
14786 segment 0x0 unconditionally, because the reference generated by
14787 GAS is an absolute address.
14788
a42ce6e9 147892009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14790
14791 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
14792 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
14793
c952cf92 147942009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14795
14796 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
14797 indexes. Check for -f explicitly.
cc3752ad 14798 (search_file): Improve error message.
14799 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 14800
132a0a59 148012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14802
14803 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
14804 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
14805
387a140c 148062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14807
14808 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
14809 * conf/i386-ieee1275.rmk: Likewise.
14810 * conf/i386-coreboot.rmk: Likewise.
14811
14812 * kern/i386/pc/startup.S (grub_stop): Remove function.
14813 * kern/i386/ieee1275/startup.S: Likewise.
14814 * kern/i386/coreboot/startup.S: Likewise.
14815 * kern/i386/misc.S (grub_stop): New function.
14816
41da9665 148172009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14818
14819 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
14820 * kern/i386/realmode.S (real_to_prot): ... to here.
14821
bf337234 148222009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14823
14824 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
14825 with `kernel.img'.
14826 (kernel_elf_SOURCES): Rename to ...
14827 (kernel_img_SOURCES): ... this.
14828 (kernel_elf_HEADERS): Rename to ...
14829 (kernel_img_HEADERS): ... this. Update all users.
14830 (kernel_elf_ASFLAGS): Rename to ...
14831 (kernel_img_ASFLAGS): ... this.
14832 (kernel_elf_CFLAGS): Rename to ...
14833 (kernel_img_CFLAGS): ... this.
14834 (kernel_elf_LDFLAGS): Rename to ...
14835 (kernel_img_LDFLAGS): ... this.
14836 * conf/i386-coreboot.rmk: Likewise.
14837 * conf/powerpc-ieee1275.rmk: Likewise.
14838
14839 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
14840 with "kernel.img".
14841
f52196ff 148422009-06-21 Pavel Roskin <proski@gnu.org>
14843
c3cee413 14844 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
14845 to match nested functions.
14846 * loader/sparc64/ieee1275/linux.c: Likewise.
14847
f52196ff 14848 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
14849
58750afc 148502009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14851
14852 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
14853 all i386 platforms.
14854
15355c7d 148552009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14856
14857 Fix asm file handling on ELF, and remove workarounds.
14858
14859 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 14860 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 14861 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
14862 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
14863
3f3ec72b 148642009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 Load BSD ELF modules
14867
14868 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
14869 and loader/i386/bsd64.c
14870 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
14871 (FREEBSD_MODTYPE_ELF_MODULE): New definition
14872 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
14873 (grub_freebsd_load_elfmodule32): New declaration
14874 (grub_freebsd_load_elfmoduleobj64): Likewise
14875 (grub_freebsd_load_elf_meta32): Likewise
14876 (grub_freebsd_load_elf_meta64): Likewise
14877 (grub_freebsd_add_meta): Likewise
14878 (grub_freebsd_add_meta_module): Likewise
14879 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
14880 (grub_freebsd_add_meta_module): Likewise and move module-specific
14881 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
14882 (grub_cmd_freebsd): Add elf-kernel specific parts
14883 based on grub_freebsd_add_meta_module
14884 (grub_cmd_freebsd_module): Add type parsing moved from
14885 grub_freebsd_add_meta_module
14886 (grub_cmd_freebsd_module_elf): New function
14887 (cmd_freebsd_module_elf): New variable
14888 (GRUB_MOD_INIT): Register freebsd_module_elf
14889 * loader/i386/bsd32.c: New file
14890 * loader/i386/bsd64.c: Likewise
14891 * loader/i386/bsdXX.c: Likewise
14892 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
14893 (grub_elf64_load): Likewise
14894 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
14895 All users updated
14896 (grub_elf64_load_hook_t): Likewise
14897
0db15301 148982009-06-21 Colin Watson <cjwatson@ubuntu.com>
14899
14900 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
14901 variable.
14902 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
14903 don't write a menu entry for recovery mode.
14904
546796c1 149052009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14906
14907 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
14908 after it's no longer needed.
14909
cd7310d5 149102009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14911
14912 * include/grub/i386/loader.h (grub_linux_prot_size)
14913 (grub_linux_tmp_addr, grub_linux_real_addr)
14914 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
14915 GRUB_MACHINE_PCBIOS.
14916 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
14917 common grub_util_info() call to ...
14918 (generate_image): ... here.
14919 Fix use of uninitialized memory, comparison of signed with
14920 unsigned integers and memory leak.
14921 Remove bogus module address message.
14922
ab32d3b5 149232009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14924
14925 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
14926 grub_raid_register
14927 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
14928
024ef597 149292009-06-19 Pavel Roskin <proski@gnu.org>
14930
14931 * configure.ac: Remove stray AC_MSG_CHECKING.
14932
3ac72b51 149332009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 14936
e14cd814 149372009-06-18 Pavel Roskin <proski@gnu.org>
14938
14939 * conf/common.rmk: Add fs_file.mod.
14940 * disk/fs_file.c: New file.
14941 * include/grub/disk.h (enum grub_disk_dev_id): Add
14942 GRUB_DISK_DEVICE_FILE_ID.
14943
26586d98 149442009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 Fix build with Apple's toolchain. Part 2
14947
14948 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
14949 a fake start
14950
26de2bcd 149512009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14952
14953 Fix build with Apple's toolchain. Part 1
14954
14955 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
14956 for long calls
14957 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 14958 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 14959 Apple's toolchain
14960
09b3490b 149612009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 Fix warnings
14964
14965 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
14966 (decomp_block): initialize ch
14967 use grub_memcpy instead of memcpy
14968
c22a006a 149692009-06-17 Pavel Roskin <proski@gnu.org>
14970
d3638678 14971 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
14972 version, use declarations needed to use vga_text as the startup
14973 console.
14974
c22a006a 14975 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
14976 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
14977 the kernel.
14978 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
14979 and grub_at_keyboard_fini(), it's done on module load and
14980 unload.
14981
05b129e0 149822009-06-17 Felix Zielcke <fzielcke@z-51.de>
14983
14984 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
14985 file can't be found.
14986 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14987
cf24ed9e 149882009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 Fix newline handling
14991
14992 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 14993 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 14994 (grub_script_yylex): don't segfault on unterminated script
14995 newline terminates command and variable
14996
74aa8e4b 149972009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 avoid double grub_adjust_range call. Bug reported by David Simner
15000
15001 * kern/disk.c (grub_disk_write): change to raw disk access before
15002 calling disk_read
15003
1bd265f3 150042009-06-17 Colin Watson <cjwatson@ubuntu.com>
15005
15006 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
15007 spaces, for the benefit of help2man.
15008 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15009
a2d08c06 150102009-06-16 Pavel Roskin <proski@gnu.org>
15011
15012 * kern/i386/halt.c: Include grub/machine/init.h.
15013 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
15014
b97bcb19 150152009-06-16 Felix Zielcke <fzielcke@z-51.de>
15016
15017 * util/grub.d/30_os-prober.in: Use ${root} in the generated
15018 drivemap menuentry.
15019
0644f96c 150202009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
15021
15022 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
15023 `echo' command.
15024
3ef17a2e 150252009-06-16 Pavel Roskin <proski@gnu.org>
15026
15027 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
15028 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
15029 save %dx, we only need %dl and we never change it.
15030 * boot/i386/pc/cdboot.S: Don't set the root drive.
15031 * boot/i386/pc/pxeboot.S: Likewise.
15032 * include/grub/i386/pc/boot.h: Remove
15033 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
15034 GRUB_BOOT_MACHINE_DRIVE_CHECK.
15035 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
15036 * kern/i386/pc/init.c (make_install_device): Remove references
15037 to grub_root_drive.
15038 * kern/i386/pc/startup.S: Likewise.
15039 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
15040
693fe637 150412009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 xnu_uuid command
15044
15045 * commands/xnu_uuid.c: new file
15046 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
15047 (xnu_uuid_mod_SOURCES): new variable
15048 (xnu_uuid_mod_CFLAGS): likewise
15049 (xnu_uuid_mod_LDFLAGS): likewise
15050 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15051 * conf/i386-ieee1275.rmk: likewise
15052 * conf/i386-pc.rmk: likewise
15053 * conf/powerpc-ieee1275.rmk: likewise
15054 * conf/sparc64-ieee1275.rmk: likewise
15055 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
15056
c9da87d0 150572009-06-16 Pavel Roskin <proski@gnu.org>
15058
15059 * configure.ac: Avoid '==' in test command, it's not portable.
15060
9c6f4596 150612009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15062
15063 Probe command
15064
15065 * commands/probe.c: new file
15066 * conf/common.rmk (pkglib_MODULES): add probe.mod
15067 (probe_mod_SOURCES): new variable
15068 (probe_mod_CFLAGS): likewise
15069 (probe_mod_LDFLAGS): likewise
15070 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15071 * conf/i386-ieee1275.rmk: likewise
15072 * conf/i386-pc.rmk: likewise
15073 * conf/powerpc-ieee1275.rmk: likewise
15074 * conf/sparc64-ieee1275.rmk: likewise
15075
70b7f9fd 150762009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 Fix handling of string like \"hello\" and "a
15079 b"
15080
15081 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
15082 (grub_script_yylex): fix parsing of quoting, escaping and newline
15083
71c79a6b 150842009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
15085
dd74360c 15086 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 15087 handling
dd74360c 15088
0644f96c 150892009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 15090
15091 * util/grub-mkconfig.in: Fix parsing of --output option.
15092
e40893c3 150932009-06-12 Pavel Roskin <proski@gnu.org>
15094
15095 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
15096 genmk.rb don't need to be generated or installed.
15097
3a1acfe2 150982009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 * commands/i386/pc/drivemap_int13h.S: add more comments
15101
3a4575d4 151022009-06-11 Pavel Roskin <proski@gnu.org>
15103
0658e928 15104 * Makefile.in (uninstall): Uninstall manuals.
15105
ca0388f0 15106 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
15107 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
15108 and update-grub_lib in two places.
15109 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
15110
e3b27c39 15111 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
15112 a compiler warning.
15113
3a4575d4 15114 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
15115 `entry_lo' to fix variable shadowing.
15116
af1f4f55 151172009-06-11 Christian Franke <franke@computer.org>
15118
15119 * kern/misc.c (__enable_execute_stack): Add missing return type
15120 to prevent gcc warning.
15121
5225e649 151222009-06-11 Felix Zielcke <fzielcke@z-51.de>
15123
15124 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
15125
7d83bd47 151262009-06-11 Pavel Roskin <proski@gnu.org>
15127
c1cb63ba 15128 * Makefile.in: Don't rely on any scripts being executable.
15129 Always use $(SHELL) to run shell scripts.
15130
7d83bd47 15131 * configure.ac: Always define ___main if using -nostdlib. This
15132 fixes tests on Cygwin.
15133
948f48e7 151342009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
15135
15136 UDF fix
15137
7d83bd47 15138 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 15139 is in bytes and not in blocks
7d83bd47 15140
8ada9bc1 151412009-06-11 Pavel Roskin <proski@gnu.org>
15142
15143 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
15144 warning.
15145
25ad2323 151462009-06-11 Felix Zielcke <fzielcke@z-51.de>
15147
15148 * util/grub.d/30_os-prober.in: Fix a comment. Source
15149 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
15150 to set the root device. Place drivemap command in the generated
15151 chain entry.
15152
e65acb0c 151532009-06-11 Pavel Roskin <proski@gnu.org>
15154
15155 * configure.ac: Remove host_m32. Issues with 64-bit utilities
15156 have long been resolved.
15157
f285fe2d 151582009-06-11 Colin Watson <cjwatson@ubuntu.com>
15159
bd47b0b5 15160 * util/grub.d/10_linux.in: Capitalise "Linux".
15161
f285fe2d 15162 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
15163
a0c62e4e 151642009-06-11 Pavel Roskin <proski@gnu.org>
15165
b6783cb2 15166 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
15167 fix a gcc warning and ensure that the function won't ever exit.
15168
dde032e8 15169 * kern/i386/ieee1275/init.c: Add missing prototype for
15170 grub_stop_floppy().
15171
22cd079d 15172 * loader/ieee1275/multiboot2.c [__i386__]: Include
15173 grub/cpu/multiboot.h.
15174
a0c62e4e 15175 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
15176 casts to short - they are not portable and cause warnings. Fix
15177 use of uninitialized values in input_buf. Use ARRAY_SIZE.
15178
63963d17 151792009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 Drivemap fixes
15182
15183 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
15184 new function
15185 (grub_get_root_biosnumber_saved): new variable
15186 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
15187 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 15188 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 15189 %dx after the call if necessary
15190 * conf/common.rmk (pkglib_MODULES): remove boot.mod
15191 (boot_mod_SOURCES): remove
15192 (boot_mod_CFLAGS): remove
15193 (boot_mod_LDFLAGS): remove
15194 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
15195 (boot_mod_SOURCES): new variable
15196 (boot_mod_CFLAGS): likewise
15197 (boot_mod_LDFLAGS): likewise
15198 * conf/i386-efi.rmk: likewise
15199 * conf/i386-ieee1275.rmk: likewise
15200 * conf/i386-pc.rmk: likewise
15201 * conf/powerpc-ieee1275.rmk: likewise
15202 * conf/sparc64-ieee1275.rmk: likewise
15203 * conf/x86_64-efi.rmk: likewise
15204 * include/grub/i386/pc/biosnum.h: new file
15205 * lib/i386/pc/biosnum.c: likewise
15206 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
15207 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
15208 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 15209
33abf7ae 152102009-06-10 Pavel Roskin <proski@gnu.org>
15211
5ac35b35 15212 * io/gzio.c (test_header): Don't reuse one buffer for all data.
15213 Use separate variables. Read only the file size at the end, but
15214 not the checksum that we don't use.
15215
5c5215d5 15216 * kern/file.c (grub_file_read): Use void pointer for the buffer.
15217 Adjust all callers.
15218
27d5fef7 15219 * kern/ieee1275/openfw.c: Remove libc includes.
15220 * kern/ieee1275/cmain.c: Likewise.
15221 * include/grub/ieee1275/ieee1275.h: Likewise.
15222
33abf7ae 15223 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
15224 compiler warnings.
15225
19d50c2b 152262009-06-10 Felix Zielcke <fzielcke@z-51.de>
15227
15228 * Makefile.in: Remove all trailing whitespace.
15229 * conf/i386-pc.rmk: Likewise.
15230 * conf/powerpc-ieee1275.rmk: Likewise.
15231 * conf/sparc64-ieee1275.rmk: Likewise.
15232 * docs/grub.texi: Likewise.
15233 * docs/texinfo.tex: Likewise.
15234 * disk/fs_uuid.c: Likewise.
15235 * disk/lvm.c: Likewise.
15236 * disk/scsi.c: Likewise.
15237 * disk/ata.c: Likewise.
15238 * disk/ieee1275/ofdisk.c: Likewise.
15239 * disk/i386/pc/biosdisk.c: Likewise.
15240 * disk/host.c: Likewise.
15241 * disk/raid.c: Likewise.
15242 * disk/efi/efidisk.c: Likewise.
15243 * disk/usbms.c: Likewise.
15244 * disk/memdisk.c: Likewise.
15245 * disk/loopback.c: Likewise.
15246 * kern/powerpc/dl.c: Likewise.
15247 * kern/device.c: Likewise.
15248 * kern/dl.c: Likewise.
15249 * kern/sparc64/dl.c: Likewise.
15250 * kern/ieee1275/ieee1275.c: Likewise.
15251 * kern/term.c: Likewise.
15252 * kern/fs.c: Likewise.
15253 * kern/i386/dl.c: Likewise.
15254 * kern/i386/pc/startup.S: Likewise.
15255 * kern/i386/pc/init.c: Likewise.
15256 * kern/i386/pc/mmap.c: Likewise.
15257 * kern/i386/pc/lzo1x.S: Likewise.
15258 * kern/i386/ieee1275/init.c: Likewise.
15259 * kern/i386/realmode.S: Likewise.
15260 * kern/i386/tsc.c: Likewise.
15261 * kern/partition.c: Likewise.
15262 * kern/corecmd.c: Likewise.
15263 * kern/file.c: Likewise.
15264 * kern/efi/efi.c: Likewise.
15265 * kern/efi/init.c: Likewise.
15266 * kern/efi/mm.c: Likewise.
15267 * kern/main.c: Likewise.
15268 * kern/err.c: Likewise.
15269 * kern/env.c: Likewise.
15270 * kern/disk.c: Likewise.
15271 * kern/generic/millisleep.c: Likewise.
15272 * kern/generic/rtc_get_time_ms.c: Likewise.
15273 * kern/misc.c: Likewise.
15274 * kern/parser.c: Likewise.
15275 * genmk.rb: Likewise.
15276 * configure.ac: Likewise.
15277 * boot/i386/pc/diskboot.S: Likewise.
15278 * boot/i386/pc/pxeboot.S: Likewise.
15279 * boot/i386/pc/boot.S: Likewise.
15280 * boot/i386/pc/lnxboot.S: Likewise.
15281 * boot/i386/pc/cdboot.S: Likewise.
15282 * parttool/pcpart.c: Likewise.
15283 * video/readers/tga.c: Likewise.
15284 * video/video.c: Likewise.
15285 * video/bitmap.c: Likewise.
15286 * lib/envblk.c: Likewise.
15287 * lib/i386/setjmp.S: Likewise.
15288 * fs/xfs.c: Likewise.
15289 * fs/afs.c: Likewise.
15290 * fs/fat.c: Likewise.
15291 * fs/ntfs.c: Likewise.
15292 * fs/udf.c: Likewise.
15293 * fs/affs.c: Likewise.
15294 * fs/iso9660.c: Likewise.
15295 * fs/hfs.c: Likewise.
15296 * fs/fshelp.c: Likewise.
15297 * fs/ext2.c: Likewise.
15298 * fs/jfs.c: Likewise.
15299 * fs/reiserfs.c: Likewise.
15300 * fs/hfsplus.c: Likewise.
15301 * fs/minix.c: Likewise.
15302 * fs/cpio.c: Likewise.
15303 * fs/sfs.c: Likewise.
15304 * fs/ufs.c: Likewise.
15305 * efiemu/prepare.c: Likewise.
15306 * efiemu/loadcore_common.c: Likewise.
15307 * efiemu/runtime/efiemu.sh: Likewise.
15308 * efiemu/runtime/efiemu.S: Likewise.
15309 * efiemu/runtime/efiemu.c: Likewise.
15310 * efiemu/pnvram.c: Likewise.
15311 * efiemu/main.c: Likewise.
15312 * efiemu/i386/pc/cfgtables.c: Likewise.
15313 * efiemu/i386/loadcore64.c: Likewise.
15314 * efiemu/i386/loadcore32.c: Likewise.
15315 * efiemu/loadcore.c: Likewise.
15316 * efiemu/symbols.c: Likewise.
15317 * efiemu/mm.c: Likewise.
15318 * include/grub/autoefi.h: Likewise.
15319 * include/grub/datetime.h: Likewise.
15320 * include/grub/term.h: Likewise.
15321 * include/grub/hfs.h: Likewise.
15322 * include/grub/lvm.h: Likewise.
15323 * include/grub/i386/tsc.h: Likewise.
15324 * include/grub/i386/linux.h: Likewise.
15325 * include/grub/i386/xnu.h: Likewise.
15326 * include/grub/i386/efiemu.h: Likewise.
15327 * include/grub/i386/pc/biosdisk.h: Likewise.
15328 * include/grub/i386/pc/memory.h: Likewise.
15329 * include/grub/i386/pc/vbe.h: Likewise.
15330 * include/grub/parttool.h: Likewise.
15331 * include/grub/video.h: Likewise.
15332 * include/grub/memory.h: Likewise.
15333 * include/grub/fs.h: Likewise.
15334 * include/grub/partition.h: Likewise.
15335 * include/grub/xnu.h: Likewise.
15336 * include/grub/efi/api.h: Likewise.
15337 * include/grub/efi/pe32.h: Likewise.
15338 * include/grub/efi/memory.h: Likewise.
15339 * include/grub/multiboot.h: Likewise.
15340 * include/grub/usbdesc.h: Likewise.
15341 * include/grub/multiboot2.h: Likewise.
15342 * include/grub/acpi.h: Likewise.
15343 * include/grub/efiemu/efiemu.h: Likewise.
15344 * include/grub/disk.h: Likewise.
15345 * include/grub/ieee1275/ieee1275.h: Likewise.
15346 * include/grub/net.h: Likewise.
15347 * include/grub/machoload.h: Likewise.
15348 * include/grub/macho.h: Likewise.
15349 * include/multiboot.h: Likewise.
15350 * genmoddep.awk: Likewise.
15351 * normal/main.c: Likewise.
15352 * normal/menu_entry.c: Likewise.
15353 * normal/menu_viewer.c: Likewise.
15354 * normal/completion.c: Likewise.
15355 * normal/cmdline.c: Likewise.
15356 * normal/misc.c: Likewise.
15357 * normal/datetime.c: Likewise.
15358 * bus/usb/usbtrans.c: Likewise.
15359 * bus/usb/ohci.c: Likewise.
15360 * bus/usb/uhci.c: Likewise.
15361 * bus/usb/usb.c: Likewise.
15362 * mmap/efi/mmap.c: Likewise.
15363 * mmap/i386/pc/mmap_helper.S: Likewise.
15364 * mmap/i386/pc/mmap.c: Likewise.
15365 * mmap/i386/mmap.c: Likewise.
15366 * mmap/i386/uppermem.c: Likewise.
15367 * mmap/mmap.c: Likewise.
15368 * commands/acpi.c: Likewise.
15369 * commands/echo.c: Likewise.
15370 * commands/blocklist.c: Likewise.
15371 * commands/loadenv.c: Likewise.
15372 * commands/usbtest.c: Likewise.
15373 * commands/boot.c: Likewise.
15374 * commands/parttool.c: Likewise.
15375 * commands/search.c: Likewise.
15376 * commands/cat.c: Likewise.
15377 * commands/i386/pc/play.c: Likewise.
15378 * commands/i386/pc/drivemap.c: Likewise.
15379 * commands/i386/pc/vbeinfo.c: Likewise.
15380 * commands/i386/pc/acpi.c: Likewise.
15381 * commands/i386/pc/vbetest.c: Likewise.
15382 * commands/ls.c: Likewise.
15383 * commands/cmp.c: Likewise.
15384 * commands/test.c: Likewise.
15385 * commands/efi/acpi.c: Likewise.
15386 * commands/gptsync.c: Likewise.
15387 * commands/help.c: Likewise.
15388 * partmap/amiga.c: Likewise.
15389 * partmap/apple.c: Likewise.
15390 * partmap/acorn.c: Likewise.
15391 * partmap/pc.c: Likewise.
15392 * partmap/sun.c: Likewise.
15393 * partmap/gpt.c: Likewise.
15394 * script/sh/lexer.c: Likewise.
15395 * script/sh/function.c: Likewise.
15396 * font/font.c: Likewise.
15397 * font/font_cmd.c: Likewise.
15398 * loader/powerpc/ieee1275/linux.c: Likewise.
15399 * loader/efi/chainloader.c: Likewise.
15400 * loader/multiboot_loader.c: Likewise.
15401 * loader/macho.c: Likewise.
15402 * loader/i386/multiboot.c: Likewise.
15403 * loader/i386/linux.c: Likewise.
15404 * loader/i386/pc/linux.c: Likewise.
15405 * loader/i386/pc/multiboot2.c: Likewise.
15406 * loader/i386/pc/chainloader.c: Likewise.
15407 * loader/i386/pc/xnu.c: Likewise.
15408 * loader/i386/bsd_trampoline.S: Likewise.
15409 * loader/i386/efi/linux.c: Likewise.
15410 * loader/i386/multiboot_elfxx.c: Likewise.
15411 * loader/i386/bsd_helper.S: Likewise.
15412 * loader/i386/bsd.c: Likewise.
15413 * loader/i386/linux_trampoline.S: Likewise.
15414 * loader/i386/xnu_helper.S: Likewise.
15415 * loader/i386/xnu.c: Likewise.
15416 * loader/i386/bsd_pagetable.c: Likewise.
15417 * loader/i386/multiboot_helper.S: Likewise.
15418 * loader/xnu.c: Likewise.
15419 * loader/xnu_resume.c: Likewise.
15420 * io/gzio.c: Likewise.
15421 * term/efi/console.c: Likewise.
15422 * term/terminfo.c: Likewise.
15423 * term/ieee1275/ofconsole.c: Likewise.
15424 * term/i386/pc/serial.c: Likewise.
15425 * term/i386/pc/vesafb.c: Likewise.
15426 * term/i386/pc/vga.c: Likewise.
15427 * term/usb_keyboard.c: Likewise.
15428 * term/gfxterm.c: Likewise.
15429 * aclocal.m4: Likewise.
15430 * util/lvm.c: Likewise.
15431 * util/grub.d/30_os-prober.in: Likewise.
15432 * util/grub.d/10_hurd.in: Likewise.
15433 * util/console.c: Likewise.
15434 * util/grub-macho2img.c: Likewise.
15435 * util/grub-probe.c: Likewise.
15436 * util/hostfs.c: Likewise.
15437 * util/i386/pc/grub-mkimage.c: Likewise.
15438 * util/i386/pc/grub-setup.c: Likewise.
15439 * util/i386/efi/grub-mkimage.c: Likewise.
15440 * util/grub-mkconfig.in: Likewise.
15441 * util/raid.c: Likewise.
15442 * util/resolve.c: Likewise.
15443 * util/grub-mkdevicemap.c: Likewise.
15444 * util/grub-emu.c: Likewise.
15445 * util/getroot.c: Likewise.
15446 * util/hostdisk.c: Likewise.
15447 * util/usb.c: Likewise.
15448 * util/grub-editenv.c: Likewise.
15449 * util/misc.c: Likewise.
15450
d2d49665 154512009-06-10 Felix Zielcke <fzielcke@z-51.de>
15452
15453 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
15454 `genparttoollist.sh'.
15455 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
15456 Add `*.sh' to the list find searches for and change `mdate.sh'
15457 to `mdate-sh'.
15458
fe052e37 154592009-06-10 Pavel Roskin <proski@gnu.org>
15460
2763ac18 15461 * include/grub/multiboot2.h: Provide compatibility defines for
15462 multiboot2.h.
15463 * include/multiboot2.h: Include stdint.h only if needed, using
15464 angle brackets.
15465 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
15466 grub/multiboot2.h.
15467 * loader/ieee1275/multiboot2.c: Likewise.
15468 * loader/multiboot2.c: Likewise.
15469 * loader/multiboot_loader.c: Likewise.
15470
437e6adc 15471 * configure.ac: Use -nostdlib when probing for the target. It
15472 should not be required to have libc for the target.
15473
06a6836c 15474 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
15475 they fail without libc headers for the target.
15476 * include/grub/powerpc/libgcc.h: Use weak attribute for all
15477 exports.
15478 * include/grub/sparc64/libgcc.h: Likewise. Don't use
15479 preprocessor conditionals.
15480
fe052e37 15481 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
15482 build system doesn't need to be aware of the tar.c internals.
15483
afd22553 154842009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 15485
afd22553 15486 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 15487
6b787c4f 154882009-06-09 Robert Millan <rmh.grub@aybabtu.com>
15489
15490 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
15491 disk limit to 26 for IDE, Virtio, Xen and SCSI.
15492
154932009-06-09 Felix Zielcke <fzielcke@z-51.de>
15494
15495 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 15496 aren't available if ata.mod gets used.
6b787c4f 15497
473d1e45 154982009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 15499
473d1e45 15500 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 15501 initialising controller.
473d1e45 15502 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 15503
255a27d4 155042009-06-08 Felix Zielcke <fzielcke@z-51.de>
15505
15506 * util/i386/pc/grub-install.in: Add a parameter --disk-module
15507 to choose between ata and biosdisk module on i386-pc.
15508
473d1e45 155092009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 15510
d55842d8 15511 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
15512 Subclass and Programming Interface fields in terms of the 3 byte
15513 Class Code register.
15514 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15515
fa5db0b1 15516 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
15517 interface is OHCI. Add grub_dprintf for symmetry with
15518 bus/usb/uhci.c.
15519 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
15520 interface is UHCI. Add interf variable for programming
15521 interface. Print interface with class/subclass.
15522
c0947beb 15523 * bus/usb/ohci.c: Set interf with correct field.
15524
69da8877 15525 * bus/usb/uhci.c: Remove unneeded doubled lines.
15526 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
15527 Remove whitespace inside comment.
15528
9e172e30 155292009-06-08 Robert Millan <rmh.grub@aybabtu.com>
15530
15531 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
15532 as fallback an equivalent option without depth.
15533
de65ee2b 155342009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15535
15536 Not fail if unable to retrieve C/H/S on LBA disks
15537
473d1e45 15538 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 15539 if unable to retrieve C/H/S on LBA disks
15540
b57ea2c9 155412009-06-08 Pavel Roskin <proski@gnu.org>
15542
15543 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
15544 about aliasing.
15545
af361263 155462009-06-08 Felix Zielcke <fzielcke@z-51.de>
15547
15548 * Makefile.in (uninstall): Remove all $lib_DATA files.
15549
4c9ec6b3 155502009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 Bugfix: install on partitionless device
15553
15554 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
15555 is a whole disk
15556
e76fc924 155572009-06-08 Felix Zielcke <fzielcke@z-51.de>
15558
15559 * Makefile.in (uninstall): Remove all $include_DATA files.
15560
ba5a0d05 155612009-06-08 Felix Zielcke <fzielcke@z-51.de>
15562
15563 * commands/true.c: New file. Implement the true and false commands.
15564 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
15565 (true_mod_SOURCES): New variable.
15566 (true_mod_CFLAGS): Likewise.
15567 (true_mod_LDFLAGS): Likewise.
15568
c8048e32 155692009-06-05 Colin D Bennett <colin@gibibit.com>
15570
15571 Optimized font character lookup using binary search instead of linear
15572 search. Fonts now are required to have the character index ordered by
15573 code point.
15574
15575 * font/font.c (load_font_index): Verify that fonts have ordered
15576 character indices.
15577 (find_glyph): Use binary search instead of linear search to find a
15578 character in a font.
15579
408305be 155802009-06-05 Michael Scherer <misc@mandriva.org>
15581
15582 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
15583 uses case sensitive btree.
15584 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
15585 only for case insensitive filesystems.
15586
8ee1e0d9 155872009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
15590 * conf/common.rmk (search_mod_CFLAGS): likewise
15591
a9966eb1 155922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15593
473d1e45 15594 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 15595 compensate a compiler bug
15596
9e7100fb 155972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15598
473d1e45 15599 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 15600 instead of '\b'
473d1e45 15601
ede21d71 156022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 Definitions for creating asm symbols with Apple's CC
15605
15606 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
15607 [APPLE_CC] (VARIABLE): likewise
15608
9dbf7653 156092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 Disable lnxboot.img when compiled
15612 with Apple's CC
15613
15614 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
15615 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
15616 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
15617 [! APPLE_CC] (CODE_LENG): skip
15618 [! APPLE_CC] (setup_sects): likewise
15619 [! APPLE_CC]: skip filling
473d1e45 15620
e93cdc3d 156212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15622
15623 Address in trampolines based on 32-bit registers when compiled
15624 with Apple's CC
15625
473d1e45 15626 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 15627 for addresses
15628 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
15629
6c688477 156302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15631
15632 Avoid aliases when compiling with Apple's CC for PCBIOS machine
15633
15634 * kern/misc.c [APPLE_CC] (memcpy): new function
15635 [APPLE_CC] (memmove): likewise
15636 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 15637 (memcpy): define alias conditionally on !APPLE_CC
6c688477 15638 (memset): likewise
15639 (abort): likewise
15640 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
15641 APPLE_CC are defined
15642 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
15643 (grub_assert_fail): make prototype conditional
15644
e37ffc5c 156452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
15648
473d1e45 15649 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
15650 grub-macho2img
e37ffc5c 15651 (CLEANFILES): add grub-macho2img
15652 (grub_macho2img_SOURCES): new variable
15653 * kern/i386/pc/startup.S (bss_start): new variable
15654 (bss_end): likewise
15655 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
15656 * util/grub-macho2img.c: new file
15657
cf00df31 156582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15659
15660 Use objconv when compiling with Apple's CC
15661
15662 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
15663 (efiemu64.o): likewise
15664 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
15665 when compiling with Apple's CC
15666 (efiemu64_s.o): likewise
15667 * configure.ac: check for objconv when compiling with Apple's CC
15668 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 15669
d119a20c 156702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 Define segment as well as section when compiling with
15673 Apple's CC
15674
15675 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
15676 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
15677 (efiemu_convert_pointer): likewise
15678 (efiemu_set_virtual_address_map): likewise
15679 (efiemu_convert_pointer): likewise
15680 (efiemu_getcrc32): likewise
15681 (init_crc32_table): likewise
15682 (reflect): likewise
15683 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
15684 (GRUB_MOD_DEP): likewise
473d1e45 15685
c8600122 156862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 Allow a compilation without -mcmodel=large
15689
15690 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
15691 when compiled without -mcmodel=large
473d1e45 15692 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 15693 without -mcmodel=large
473d1e45 15694 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 15695 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 15696
e8df1d4e 156972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 Remove nested functions in efiemu core
15700
15701 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 15702
cc6c3ac1 157032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
15706
15707 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
15708 temporary storage
473d1e45 15709 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
15710 using Apple's CC
cc6c3ac1 15711 (grub_cpu_is_tsc_supported): likewise
15712 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 15713
3e325901 157142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15715
15716 Absolute addressing through constant with Apple's cc
15717
15718 * kern/i386/pc/startup.S: Define necessary constants
15719 and address through it when using ABS with Apple's CC
15720 * boot/i386/pc/diskboot.S: likewise
15721 * boot/i386/pc/boot.S: likewise
15722 * boot/i386/pc/lnxboot.S: likewise
15723 * boot/i386/pc/cdboot.S: likewise
15724 * mmap/i386/pc/mmap_helper.S: likewise
15725 * commands/i386/pc/drivemap_int13h.S: likewise
15726
2b167a72 157272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 Check if compiler is apple cc
15730
15731 * Makefile.in (ASFLAGS): new variable
15732 (TARGET_ASFLAGS): likewise
15733 (TARGET_MODULE_FORMAT): likewise
15734 (TARGET_APPLE_CC): likewise
15735 (OBJCONV): likewise
15736 (TARGET_IMG_CFLAGS): likewise
15737 (TARGET_CPPFLAGS): add includedir
15738 * configure.ac: call grub_apple_cc and grub_apple_target_cc
15739 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
15740 Check for linker script only if compiler isn't Apple's CC
15741 (TARGET_MODULE_FORMAT): set
15742 (TARGET_APPLE_CC): likewise
15743 (TARGET_ASFLAGS): likewise
15744 (ASFLAGS): likewise
15745 Check for objcopy only if compiler isn't Apple's CC
15746 Check for BSS symbol only if compiler isn't Apple's CC
15747 * genmk.rb: adapt nm options if we use Apple's utils
15748 * aclocal.m4 (grub_apple_cc): new test
15749 (grub_apple_target_cc): likewise
473d1e45 15750
fb14123e 157512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 Simplify sed expressions and improve awk
15754
15755 * Makefile.in (install-local): simplify sed expression
15756 * gencmdlist.sh: likewise
15757 * genmoddep.awk: avoid adding module as a dependency of itself
15758
5b889789 157592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15760
15761 Add missing start symbols
15762
15763 * boot/i386/pc/boot.S: add start
fb14123e 15764 * boot/i386/pc/pxeboot.S: likewise
473d1e45 15765
fd2bf2e3 157662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 15769
15770 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 15771 (relocate_addresses): consider both r_addend and value at offset
15772 (make_mods_section): zerofill modinfo and header
15773 (convert_elf): write prefix here
473d1e45 15774
5389763d 157752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 Use .asciz instead of .string
15778
15779 * i386/pc/diskboot.S: use .asciz instead of .string
15780 * i386/pc/boot.S: likewise
15781 * include/grub/dl.h (GRUB_MOD_DEP): likewise
15782 (GRUB_MOD_NAME): likewise
473d1e45 15783
3eb5ed4e 157842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15785
15786 gfxpayload support
15787
15788 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
15789 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
15790 (grub_video_setup): remove
15791 (grub_video_set_mode): new prototype
15792 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
15793 (vid_mode): remove
15794 (linux_vesafb_res): compile only on PCBIOS
15795 (grub_linux_boot): support gfxpayload
15796 * loader/i386/pc/xnu.c (video_hook): new function
15797 (grub_xnu_set_video): support gfxpayload
15798 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
15799 (DEFAULT_VIDEO_HEIGHT): likewise
15800 (DEFAULT_VIDEO_FLAGS): likewise
15801 (DEFAULT_VIDEO_MODE): new definition
15802 (video_hook): new function
15803 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 15804 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 15805 loading xnu
15806 * video/video.c (grub_video_setup): removed
473d1e45 15807 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 15808 grub_video_setup
15809
4b0e1143 158102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 Avoid calling biosdisk in drivemap
15813
15814 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
15815 (revparse_biosdisk): likewise
15816 (list_mappings): derive name from id directly
15817 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 15818
fda6cb98 158192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15820
15821 Script fixes
15822
15823 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
15824 (grub_lexer_param): add tokenonhold
15825 (grub_script_create_cmdline): remove cmdline. All callers updated
15826 (grub_script_function_create): make functionname
15827 grub_script_arg. All callers updated
15828 (grub_script_execute_argument_to_string): new prototype
15829 * kern/parser.c (state_transitions): reorder
15830 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 15831 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 15832 make global
15833 (grub_script_execute_cmdline): use new format
15834 * script/sh/function.c (grub_script_function_create): make functionname
15835 grub_script_arg. All callers updated
473d1e45 15836 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 15837 (grub_script_yylex): remove
15838 (grub_script_yylex2): renamed to ...
15839 (grub_script_yylex): ...renamed
15840 parse the expressions like a${b}c
15841 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
15842 (GRUB_PARSER_TOKEN_VAR): remove
15843 (GRUB_PARSER_TOKEN_NAME): likewise
15844 ("if"): declare as typeless
15845 ("while"): likewise
15846 ("function"): likewise
15847 ("else"): likewise
15848 ("then"): likewise
15849 ("fi"): likewise
15850 (text): remove
15851 (argument): likewise
15852 (script): accept empty scripts and make exit on error
15853 (arguments): use GRUB_PARSER_TOKEN_ARG
15854 (function): likewise
15855 (command): move error handling to script
15856 (menuentry): move grub_script_lexer_ref before
473d1e45 15857 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 15858 argument. All callers updated
15859
f4448a07 158602009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15861
15862 Prevent GRUB from probing floppies during boot.
15863
15864 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
15865 * commands/search.c (options): Add --no-floppy.
15866 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
15867 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
15868 --no-floppy when searching for UUIDs.
15869
2bf5885a 158702009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15871
15872 Simplify the code duplication in commands/search.c.
15873
15874 * commands/search.c (search_label, search_fs_uuid): Merge into ...
15875 (search_fs): ... this. Update all users.
15876
f6fd460a 158772009-06-03 Felix Zielcke <fzielcke@z-51.de>
15878
15879 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
15880
cbb3c83e 158812009-05-28 Pavel Roskin <proski@gnu.org>
15882
57788cfd 15883 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
15884 Remove the original symlink explicitly.
15885
cbb3c83e 15886 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
15887 just one slash. That's how grub_fshelp_find_file() does it.
15888
cd0d5e30 158892009-05-26 Pavel Roskin <proski@gnu.org>
15890
f0f8bbe2 15891 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
15892 to `str'.
15893
cd0d5e30 15894 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
15895 possibly unused.
15896
8c2cab51 158972009-05-25 Christian Franke <franke@computer.org>
15898
15899 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
15900 register.
15901 (grub_atapi_identify): Add wait after drive select.
15902 (grub_ata_identify): Do more strict status register check before
15903 calling grub_atapi_identify (). Suppress error message if status
15904 register is 0x00 after command failure. Add status register
15905 check after PIO read to avoid bogus identify due to stuck DRQ.
15906 Thanks to Pavel Roskin for testing.
15907 (grub_device_initialize): Remove unsafe status register check.
15908 Thanks to 'phcoder' for problem report and patch.
15909 Prevent sign extension in debug message.
15910
230c0ad6 159112009-05-23 Colin D Bennett <colin@gibibit.com>
15912
15913 Cleaned up `include/grub/normal.h'. Grouped prototypes by
15914 definition file, and functions defined in `normal/menu.c' have had
15915 their prototypes moved to `include/grub/menu.h' for consistency.
15916
15917 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
15918 from normal.h.
15919 (grub_menu_get_entry): Likewise.
15920 (grub_menu_get_timeout): Likewise.
15921 (grub_menu_set_timeout): Likewise.
15922 (grub_menu_execute_entry): Likewise.
15923 (grub_menu_execute_with_fallback): Likewise.
15924 (grub_menu_entry_run): Likewise.
15925
15926 * include/grub/normal.h: Re-ordered and grouped function
15927 prototypes by file that the function is defined in.
15928 (grub_menu_execute_callback): Removed; moved to menu.h.
15929 (grub_menu_get_entry): Likewise.
15930 (grub_menu_get_timeout): Likewise.
15931 (grub_menu_set_timeout): Likewise.
15932 (grub_menu_execute_entry): Likewise.
15933 (grub_menu_execute_with_fallback): Likewise.
15934 (grub_menu_entry_run): Likewise.
15935 (grub_menu_addentry): Renamed from this ...
15936 (grub_normal_add_menu_entry): ... to this.
15937
15938 * normal/main.c (grub_menu_addentry): Renamed from this ...
15939 (grub_normal_add_menu_entry): ... to this.
15940
15941 * script/sh/execute.c (grub_script_execute_menuentry): Update
15942 reference to renamed grub_menu_addentry function.
15943
861f03a5 159442009-05-23 Felix Zielcke <fzielcke@z-51.de>
15945
15946 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
15947
96b1619a 159482009-05-22 Pavel Roskin <proski@gnu.org>
15949
bf6a5fb2 15950 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
15951 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
15952 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
15953 compiling for the i386 targets, but not for the utilities.
15954
96b1619a 15955 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
15956 to grub_uint8_t.
15957 (grub_root_drive): Likewise.
15958 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
15959 remove alignment.
15960 (grub_root_drive): Change size to byte.
15961 (grub_start_addr): Remove.
15962 (grub_end_addr): Likewise.
15963 (grub_apm_bios_info): Likewise.
15964
b729776b 159652009-05-21 Felix Zielcke <fzielcke@z-51.de>
15966
15967 * normal/i386: Remove.
15968 * normal/powerpc: Likewise.
15969 * normal/sparc64: Likewise.
15970 * normal/x86_64: Likewise.
15971
0a15ce80 159722009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 15975 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 15976 * loader/i386/xnu_helper.S: Likewise
d6da58e6 15977
33db9015 159782009-05-18 Colin D Bennett <colin@gibibit.com>
15979
d6da58e6 15980 Display error messages when parsing a Lua statement fails.
15981 Previously, executing a syntactically invalid statement like
15982 ")foo" or "bar;" would silently fail.
33db9015 15983
15984 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 15985 (grub_lua_parse_line): Improved reporting of Lua parser and
15986 execution errors.
33db9015 15987
46422c89 159882009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 Remove -Werror which causes build to fail on some systems
15991
15992 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
15993 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
15994 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 15995
22f53a96 159962009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 trampoline for linux on 64-bit platform
15999
18f547ad 16000 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
16001 loader/i386/efi/linux_trampoline.S
16002 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 16003 declaration
d6da58e6 16004 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
16005 here
22f53a96 16006 * loader/i386/linux_trampoline.S: moved here
d6da58e6 16007 * loader/i386/efi/linux.c (allocate_pages): reserve space for
16008 trampoline
22f53a96 16009 (jumpvector): removed
16010 (grub_linux_trampoline_start): new declaration
16011 (grub_linux_trampoline_end): likewise
16012 (grub_linux_boot): use trampoline when on 64-bit platform
16013 * loader/i386/linux.c: likewise
16014
cb5a0f40 160152009-05-16 Pavel Roskin <proski@gnu.org>
16016
16017 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
16018 const to avoid a warning.
16019 (grub_lua_setenv): Likewise.
16020 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
16021 lmsg to fix a warning.
16022
334f2c28 160232009-05-16 Felix Zielcke <fzielcke@z-51.de>
16024
16025 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 16026 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16027 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
16028 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16029 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16030 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16031 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16032 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 16033
59e5d3ec 160342009-05-16 Felix Zielcke <fzielcke@z-51.de>
16035
16036 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
16037
9d87a1ba 160382009-05-16 Bean <bean123ch@gmail.com>
16039
16040 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
16041 (lua_mod_SOURCES): New variable.
16042 (lua_mod_CFLAGS): Likewise.
16043 (lua_mod_LDFLAGS): Likewise.
16044
16045 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
16046 (setjmp_mod_SOURCES): New variable.
16047 (setjmp_mod_CFLAGS): Likewise.
16048 (setjmp_LDFLAGS): Likewise.
16049
16050 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
16051 (setjmp_mod_SOURCES): New variable.
16052 (setjmp_mod_CFLAGS): Likewise.
16053 (setjmp_LDFLAGS): Likewise.
16054
16055 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16056 (setjmp_mod_SOURCES): New variable.
16057 (setjmp_mod_CFLAGS): Likewise.
16058 (setjmp_LDFLAGS): Likewise.
16059
16060 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16061 (setjmp_mod_SOURCES): New variable.
16062 (setjmp_mod_CFLAGS): Likewise.
16063 (setjmp_LDFLAGS): Likewise.
16064
16065 * normal/i386/setjmp.S: Moved from here ...
16066 * lib/i386/setjmp.S: ... Moved here
16067 * normal/x86_64/setjmp.S: Moved from here ...
16068 * lib/x86_64/setjmp.S: ... Moved here
16069 * normal/powerpc/setjmp.S: Moved from here ...
16070 * lib/powerpc/setjmp.S: ... Moved here
16071 * normal/sparc64/setjmp.S: Moved from here ...
16072 * lib/sparc64/setjmp.S: ... Moved here
16073
16074 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
16075 returns_twice in mingw.
16076
16077 * script/lua/grub_lib.c: New file.
16078 * script/lua/grub_lib.h: Likewise.
16079 * script/lua/grub_lua.h: Likewise.
16080 * script/lua/grub_main.c: Likewise.
16081 * script/lua/lapi.c: Likewise.
16082 * script/lua/lapi.h: Likewise.
16083 * script/lua/lauxlib.c: Likewise.
16084 * script/lua/lauxlib.h: Likewise.
16085 * script/lua/lbaselib.c: Likewise.
16086 * script/lua/lcode.c: Likewise.
16087 * script/lua/lcode.h: Likewise.
16088 * script/lua/ldblib.c: Likewise.
16089 * script/lua/ldebug.c: Likewise.
16090 * script/lua/ldebug.h: Likewise.
16091 * script/lua/ldo.c: Likewise.
16092 * script/lua/ldo.h: Likewise.
16093 * script/lua/ldump.c: Likewise.
16094 * script/lua/lfunc.c: Likewise.
16095 * script/lua/lfunc.h: Likewise.
16096 * script/lua/lgc.c: Likewise.
16097 * script/lua/lgc.h: Likewise.
16098 * script/lua/linit.c: Likewise.
16099 * script/lua/liolib.c: Likewise.
16100 * script/lua/llex.c: Likewise.
16101 * script/lua/llex.h: Likewise.
16102 * script/lua/llimits.h: Likewise.
16103 * script/lua/lmathlib.c: Likewise.
16104 * script/lua/lmem.c: Likewise.
16105 * script/lua/lmem.h: Likewise.
16106 * script/lua/loadlib.c: Likewise.
16107 * script/lua/lobject.c: Likewise.
16108 * script/lua/lobject.h: Likewise.
16109 * script/lua/lopcodes.c: Likewise.
16110 * script/lua/lopcodes.h: Likewise.
16111 * script/lua/loslib.c: Likewise.
16112 * script/lua/lparser.c: Likewise.
16113 * script/lua/lparser.h: Likewise.
16114 * script/lua/lstate.c: Likewise.
16115 * script/lua/lstate.h: Likewise.
16116 * script/lua/lstring.c: Likewise.
16117 * script/lua/lstring.h: Likewise.
16118 * script/lua/lstrlib.c: Likewise.
16119 * script/lua/ltable.c: Likewise.
16120 * script/lua/ltable.h: Likewise.
16121 * script/lua/ltablib.c: Likewise.
16122 * script/lua/ltm.c: Likewise.
16123 * script/lua/ltm.h: Likewise.
16124 * script/lua/lua.h: Likewise.
16125 * script/lua/luaconf.h: Likewise.
16126 * script/lua/lualib.h: Likewise.
16127 * script/lua/lundump.c: Likewise.
16128 * script/lua/lundump.h: Likewise.
16129 * script/lua/lvm.c: Likewise.
16130 * script/lua/lvm.h: Likewise.
16131 * script/lua/lzio.c: Likewise.
16132 * script/lua/lzio.h: Likewise.
16133
5e898c9d 161342009-05-16 Bean <bean123ch@gmail.com>
16135
16136 * include/grub/kernel.h (grub_module_header_types): Add type
16137 OBJ_TYPE_CONFIG.
16138
16139 * kern/main.c (grub_load_config): New function.
16140 (grub_main): Call grub_load_config to read boot config.
16141
16142 * grub-mkimage (generate_image): New parameter config_path.
16143 (options): New option --config.
16144 (main): Parse --config option, and pass it to generate_image.
16145
cf353a47 161462009-05-14 Christian Franke <franke@computer.org>
16147
16148 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
16149 This fixes build on Cygwin.
16150
3834887f 161512009-05-14 Pavel Roskin <proski@gnu.org>
16152
16153 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
16154 jump. This saves two bytes, so the typical case of 2 swapped
16155 drives would fit 32 bytes.
16156
8090fc01 161572009-05-13 Pavel Roskin <proski@gnu.org>
16158
ac963883 16159 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
16160 grub_uint32_t to avoid a warning.
16161
8090fc01 16162 * loader/i386/linux.c (allocate_pages): When assigning
16163 real_mode_mem, cast through grub_size_t to fix a warning. The
16164 code already makes sure that the value would fit a pointer.
16165 (grub_linux_setup_video): Cast render_target->data to
16166 grub_size_t to fix a warning.
16167
18f547ad 161682009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 16169
16170 * commands/i386/pc/drivemap.c: New file - implement drivemap
16171 command.
16172 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
16173 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
16174
6f6a8b28 161752009-05-13 Pavel Roskin <proski@gnu.org>
16176
16177 * util/i386/pc/grub-setup.c (setup): Remove unused variable
16178 embedding_area_exists.
16179
15fbf4c4 161802009-05-13 Robert Millan <rmh.grub@aybabtu.com>
16181
16182 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
16183 it easier to understand / work with.
59978c8a 16184 Improve warning messages for cases where there's no embedding area,
16185 or when it is too small (or core.img too large).
15fbf4c4 16186
238e871f 161872009-05-13 Pavel Roskin <proski@gnu.org>
16188
0ab3a9a4 16189 * loader/i386/pc/multiboot2.c: Add necessary includes for
16190 grub_multiboot2_real_boot().
16191
a2c8c5f8 16192 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
16193 PX record is always little-endian. We only need the lower 2
16194 bytes of the mode.
16195
faec96af 16196 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
16197 facilitate code reuse.
16198 (grub_cpio_mount): Use "struct head", not a char buffer. This
16199 fixes a warning reported by gcc 4.4.
16200
238e871f 16201 * kernel/disk.c (grub_disk_read): Use void pointer for the
16202 buffer.
16203 (grub_disk_write): Use const void pointer for the buffer.
16204 Adjust all callers. Remove unnecessary casts.
16205
901d2f0c 162062009-05-10 Robert Millan <rmh.grub@aybabtu.com>
16207
16208 * util/i386/pc/grub-install.in: Update copyright year.
16209
18f547ad 162102009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 16211
16212 gptsync
16213
16214 * commands/gptsync.c: new file
16215 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
16216 (gptsync_mod_SOURCES): new variable
16217 (gptsync_mod_CFLAGS): likewise
16218 (gptsync_mod_LDFLAGS): likewise
18f547ad 16219 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 16220 new definition
16221 (GRUB_PC_PARTITION_TYPE_HFS): likewise
16222 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
16223 * conf/i386-ieee1275.rmk: likewise
16224 * conf/i386-pc.rmk: likewise
16225 * conf/powerpc-ieee1275.rmk: likewise
16226
b4ba690a 162272009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 Fixed grub-emu
16230
16231 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
16232 (grub_dl_ref): likewise
16233
317e1a44 162342009-05-08 Robert Millan <rmh.grub@aybabtu.com>
16235
16236 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
16237 split in two functions (one for msdos and one for gpt).
16238
041b8094 162392009-05-08 Pavel Roskin <proski@gnu.org>
16240
752473c2 16241 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
16242 not modified.
16243
041b8094 16244 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
16245 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
16246 Initialize them with -1. Add sanity check for bad1. Eliminate
16247 nerr variable.
16248
172800ce 162492009-05-08 David S. Miller <davem@davemloft.net>
16250
16251 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
16252
29aa5e81 162532009-05-06 Robert Millan <rmh.grub@aybabtu.com>
16254
16255 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 16256 existence.
29aa5e81 16257
96613b62 162582009-05-05 Felix Zielcke <fzielcke@z-51.de>
16259
16260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 16261 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 16262
eef73c8a 162632009-05-05 David S. Miller <davem@davemloft.net>
16264
16265 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
16266
119494b5 162672009-05-05 Pavel Roskin <proski@gnu.org>
16268
16269 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
16270 of grub_dl_ref() and grub_dl_unref().
16271 * commands/parttool.c: Remove preprocessor conditionals around
16272 grub_dl_ref() and grub_dl_unref().
16273 * fs/affs.c: Likewise.
16274 * fs/afs.c: Likewise.
16275 * fs/cpio.c: Likewise.
16276 * fs/ext2.c: Likewise.
16277 * fs/fat.c: Likewise.
16278 * fs/hfs.c: Likewise.
16279 * fs/hfsplus.c: Likewise.
16280 * fs/iso9660.c: Likewise.
16281 * fs/jfs.c: Likewise.
16282 * fs/minix.c: Likewise.
16283 * fs/ntfs.c: Likewise.
16284 * fs/reiserfs.c: Likewise.
16285 * fs/sfs.c: Likewise.
16286 * fs/udf.c: Likewise.
16287 * fs/ufs.c: Likewise.
16288 * fs/xfs.c: Likewise.
16289 * include/grub/dl.h: Likewise.
16290 * loader/xnu.c: Likewise.
16291
de5fd76e 162922009-05-04 Pavel Roskin <proski@gnu.org>
16293
16294 * commands/acpi.c: Remove unused variable my_mod.
16295 * partmap/amiga.c: Likewise.
16296 * partmap/apple.c: Likewise.
16297 * partmap/gpt.c: Likewise.
16298 * partmap/pc.c: Likewise.
16299 * partmap/sun.c: Likewise.
16300 * term/gfxterm.c: Likewise.
16301 * term/i386/pc/vesafb.c: Likewise.
16302 * term/i386/pc/vga.c: Likewise.
16303
983598ad 163042009-05-04 David S. Miller <davem@davemloft.net>
16305
16306 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
16307 pointer args to grub_ieee1275_get_property().
16308
8aadec43 16309 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
16310
9554b15e 16311 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
16312 devices, and do not traverse down under controller nodes.
16313
67e23c90 16314 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
16315 (grub_ofdisk_open): Use it to un-escape "," characters.
16316 * kern/disk.c (find_part_sep): New.
16317 (grub_disk_open): Use it to find the first non-escaped ','
16318 character in the disk name.
16319 * util/ieee1275/devicemap.c (escape_of_path): New.
16320 (grub_util_emit_devicemap_entry): Use it.
16321 * util/sparc64/ieee1275/grub-install.in: Update script to
16322 strip partition specifiers properly by not triggering on
16323 '\' escaped ',' characters.
16324
74bfdd2f 163252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16326
16327 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
16328 to 0x300.
16329 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
16330 resolutions.
16331 (linux_vesafb_modes): Add a lot of additional modes to the list (based
16332 on documentation from Wikipedia).
16333
4241d2b1 163342009-05-04 Pavel Roskin <proski@gnu.org>
16335
16336 * disk/ata.c: Spelling fixes.
16337 * disk/raid.c: Likewise.
16338 * disk/usbms.c: Likewise.
16339 * disk/dmraid_nvidia.c: Likewise.
16340 * kern/ieee1275/openfw.c: Likewise.
16341 * kern/ieee1275/init.c: Likewise.
16342 * kern/ieee1275/cmain.c: Likewise.
16343 * boot/i386/pc/cdboot.S: Likewise.
16344 * video/readers/png.c: Likewise.
16345 * video/i386/pc/vbe.c: Likewise.
16346 * fs/udf.c: Likewise.
16347 * fs/hfs.c: Likewise.
16348 * fs/reiserfs.c: Likewise.
16349 * efiemu/runtime/efiemu.c: Likewise.
16350 * efiemu/main.c: Likewise.
16351 * efiemu/mm.c: Likewise.
16352 * include/grub/elf.h: Likewise.
16353 * include/grub/xnu.h: Likewise.
16354 * include/grub/usbdesc.h: Likewise.
16355 * include/grub/usb.h: Likewise.
16356 * include/grub/script_sh.h: Likewise.
16357 * include/grub/lib/LzmaEnc.h: Likewise.
16358 * include/grub/efiemu/efiemu.h: Likewise.
16359 * include/grub/command.h: Likewise.
16360 * normal/menu.c: Likewise.
16361 * normal/main.c: Likewise.
16362 * normal/datetime.c: Likewise.
16363 * bus/usb/uhci.c: Likewise.
16364 * mmap/i386/uppermem.c: Likewise.
16365 * mmap/mmap.c: Likewise.
16366 * commands/acpi.c: Likewise.
16367 * commands/test.c: Likewise.
16368 * partmap/apple.c: Likewise.
16369 * font/font.c: Likewise.
16370 * loader/sparc64/ieee1275/linux.c: Likewise.
16371 * loader/macho.c: Likewise.
16372 * loader/i386/bsd_trampoline.S: Likewise.
16373 * loader/i386/bsd.c: Likewise.
16374 * loader/xnu.c: Likewise.
16375 * term/i386/pc/vesafb.c: Likewise.
16376 * term/usb_keyboard.c: Likewise.
16377 * util/resolve.c: Likewise.
16378 * util/getroot.c: Likewise.
16379
0cfc0083 163802009-05-04 Felix Zielcke <fzielcke@z-51.de>
16381
16382 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
16383
7c1d00cd 163842009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16385
16386 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
16387 build error.
16388
b01f0548 163892009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16390
16391 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
16392 parameter only available on BIOS.
16393
ecc3eb22 163942009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16395
16396 Removed wrong semicolon in declaration
16397
16398 * grub/misc.h (grub_dprintf): remove semicolon
16399
112972a9 164002009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16401
16402 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
16403 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
16404 is done by grub_cmd_linux() now).
16405 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
16406 restore video to text mode.
16407 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
16408 indicates lack of "vga=" parameter. "vga=0" is mapped to
16409 `GRUB_LINUX_VID_MODE_NORMAL'.
16410
afd5c115 164112009-05-04 Felix Zielcke <fzielcke@z-51.de>
16412
16413 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
16414 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
16415 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 16416 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 16417 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
16418 `grub_script.tab.c'.
16419
16420 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16421 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16423 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16424 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16425
faa517ce 16426 * Makefile.in: Remove duplicated 2008 in Copyright line.
16427
ae0c0bdc 164282009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16429
473d1e45 16430 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 16431 unconditionally.
16432 * include/grub/util/misc.h (grub_util_warn): New declaration.
16433
16434 * util/i386/pc/grub-install.in: Understand --force and pass it down
16435 to grub-setup.
16436
16437 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
16438 down to setup().
16439 (setup): Improve error messages and add warnings when requested to
16440 install in odd layouts. Refuse to install using blocklists unless
16441 --force was set.
16442
18f547ad 164432009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 16444
16445 * disk/raid.c (grub_raid_scan_device): Improve debug message.
16446
6d260daa 164472009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16448
16449 Updated copyright year
16450
16451 * fs/hfsplus.c: updated copyright year
18f547ad 16452
69f853f8 164532009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 HFS+ UUID
16456
18f547ad 16457 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 16458 in the space previously used by unused3
16459 (grub_hfsplus_uuid): new function
16460 (grub_hfsplus_fs): added uuid field
16461
4c402e73 164622009-05-03 Pavel Roskin <proski@gnu.org>
16463
16464 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
16465 suppress warnings. It's no longer needed.
16466 * disk/host.c: Likewise.
16467 * disk/ata_pthru.c: Likewise.
16468 * disk/loopback.c: Likewise.
16469 * hook/datehook.c: Likewise.
16470 * parttool/pcpart.c: Likewise.
16471 * fs/i386/pc/pxe.c: Likewise.
16472 * fs/ntfscomp.c: Likewise.
16473 * efiemu/main.c: Likewise.
16474 * mmap/mmap.c: Likewise.
16475 * commands/crc.c: Likewise.
16476 * commands/hexdump.c: Likewise.
16477 * commands/hdparm.c: Likewise.
16478 * commands/acpi.c: Likewise.
16479 * commands/echo.c: Likewise.
16480 * commands/minicmd.c: Likewise.
16481 * commands/blocklist.c: Likewise.
16482 * commands/memrw.c: Likewise.
16483 * commands/loadenv.c: Likewise.
16484 * commands/usbtest.c: Likewise.
16485 * commands/lsmmap.c: Likewise.
16486 * commands/boot.c: Likewise.
16487 * commands/parttool.c: Likewise.
16488 * commands/configfile.c: Likewise.
16489 * commands/search.c: Likewise.
16490 * commands/ieee1275/suspend.c: Likewise.
16491 * commands/cat.c: Likewise.
16492 * commands/i386/pc/pxecmd.c: Likewise.
16493 * commands/i386/pc/play.c: Likewise.
16494 * commands/i386/pc/halt.c: Likewise.
16495 * commands/i386/pc/vbeinfo.c: Likewise.
16496 * commands/i386/pc/vbetest.c: Likewise.
16497 * commands/lspci.c: Likewise.
16498 * commands/date.c: Likewise.
16499 * commands/handler.c: Likewise.
16500 * commands/ls.c: Likewise.
16501 * commands/test.c: Likewise.
16502 * commands/cmp.c: Likewise.
16503 * commands/efi/loadbios.c: Likewise.
16504 * commands/efi/fixvideo.c: Likewise.
16505 * commands/halt.c: Likewise.
16506 * commands/help.c: Likewise.
16507 * commands/reboot.c: Likewise.
16508 * hello/hello.c: Likewise.
16509 * script/sh/main.c: Likewise.
16510 * loader/xnu.c: Likewise.
16511 * term/terminfo.c: Likewise.
16512 * term/i386/pc/serial.c: Likewise.
16513 * term/usb_keyboard.c: Likewise.
16514
515b5079 165152009-05-03 David S. Miller <davem@davemloft.net>
16516
16517 * normal/menu.c: Include grub/parser.h
16518
dfc31a22 165192009-05-03 Pavel Roskin <proski@gnu.org>
16520
2fee74f1 16521 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
16522 not char*.
16523 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
16524 Suggested by Javier Martín <lordhabbit@gmail.com>
16525
dfc31a22 16526 * util/i386/pc/grub-mkrescue.in: Allow for the case when
16527 efiemu??.o doesn't exist.
16528 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
16529 copying.
16530
18f547ad 165312009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 16532
16533 FreeBSD 64-bit support
16534
18f547ad 16535 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 16536 and loader/i386/bsd_trampoline.S
16537 (bsd_mod_ASFLAGS): new variable
16538 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
16539 (FREEBSD_MODTYPE_KERNEL64): likewise
16540 (grub_bsd64_trampoline_start): likewise
16541 (grub_bsd64_trampoline_end): likewise
16542 (grub_bsd64_trampoline_selfjump): likewise
16543 (grub_bsd64_trampoline_gdt): likewise
16544 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
16545 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
16546 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
16547 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 16548 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 16549 of "attrib" member
16550 * loader/i386/bsd_pagetable.c: new file
16551 * loader/i386/bsd_trampoline.S: likewise
16552 * loader/i386/bsd.c (ALIGN_QWORD): new macro
16553 (ALIGN_VAR): likewise
16554 (entry_hi): new variable
16555 (kern_end_mdofs): likewise
16556 (is_64bit): likewise
16557 (grub_freebsd_add_meta): use ALIGN_VAR
16558 (grub_e820_mmap): new declaration
16559 (grub_freebsd_add_mmap): new function
16560 (grub_freebsd_add_meta_module): support 64 bit kernels
16561 (grub_freebsd_list_modules): use ALIGN_VAR
16562 (gdt_descriptor): new declaration
16563 (grub_freebsd_boot): support 64 bit kernels
16564 (grub_bsd_elf64_hook): new function
16565 (grub_bsd_load_elf): support elf64
16566
038c5720 165672009-05-03 Bean <bean123ch@gmail.com>
16568
16569 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
16570 after we get the result of if statement.
16571
fc45fb58 165722009-05-03 Bean <bean123ch@gmail.com>
16573
16574 * Makefile.in (enable_efiemu): New variable.
16575
16576 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
16577 set.
16578 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
16579 path.
16580 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
16581 path, add -mno-red-zone option.
16582 (efiemu64_s.o): Likewise.
16583 (efiemu64.o): Use macro $^ for source file.
16584
16585 * configure.ac (--enable-efiemu): New option.
16586
bbee0f2b 165872009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 xnu support
16590
16591 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
16592 (pkglib_MODULES): add xnu.mod
16593 (xnu_mod_SOURCES): new variable
16594 (xnu_mod_CFLAGS): likewise
16595 (xnu_mod_LDFLAGS): likewise
16596 (xnu_mod_ASFLAGS): likewise
16597 * conf/i386-pc.rmk: likewise
16598 * conf/x86_64-efi.rmk: likewise
7dd4a573 16599 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 16600 new declaration
16601 * include/grub/i386/macho.h: new file
16602 * include/grub/i386/xnu.h: likewise
16603 * include/grub/macho.h: likewise
16604 * include/grub/machoload.h: likewise
16605 * include/grub/x86_64/macho.h: likewise
16606 * include/grub/x86_64/xnu.h: likewise
16607 * include/grub/xnu.h: likewise
16608 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
16609 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
16610 * loader/i386/efi/xnu.c: new file
16611 * loader/i386/pc/xnu.c: likewise
16612 * loader/i386/xnu.c: likewise
16613 * loader/i386/xnu_helper.S: likewise
16614 * loader/macho.c: likewise
16615 * loader/xnu.c: likewise
16616 * loader/xnu_resume.c: likewise
16617 * util/grub-dumpdevtree: likewise
16618 * include/grub/i386/pit.h: include grub/err.h
16619 (grub_pit_wait): export
16620 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 16621
5caf964d 166222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 Efiemu
7dd4a573 16625
5caf964d 16626 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 16627 _linux_efi, linux_efi.
16628 new files in grub-emu
5caf964d 16629 new targets efiemu32.o and efiemu64.o
16630 * loader/linux_normal_efiemu.c: likewise
16631 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 16632 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 16633 files to copy
16634 * include/grub/autoefi.h: new file
7dd4a573 16635 * include/grub/i386/efiemu.h: likewise
5caf964d 16636 * include/grub/i386/pc/efiemu.h: likewise
16637 * include/grub/efi/api.h: add LL suffix when necessary
16638 new definitions relating to tables
16639 * include/grub/efiemu/efiemu.h: new file
16640 * include/grub/efiemu/runtime.h: likewise
16641 * efiemu/prepare.c: likewise
16642 * efiemu/loadcore_common.c: likewise
16643 * efiemu/loadcore64.c: likewise
16644 * efiemu/runtime/efiemu.sh: likewise
16645 * efiemu/runtime/efiemu.S: likewise
16646 * efiemu/runtime/efiemu.c: likewise
16647 * efiemu/runtime/config.h: likewise
16648 * efiemu/prepare32.c: likewise
16649 * efiemu/main.c: likewise
16650 * efiemu/modules/pnvram.c: likewise
16651 * efiemu/modules/i386: likewise
16652 * efiemu/modules/i386/pc: likewise
16653 * efiemu/modules/acpi.c: likewise
16654 * efiemu/i386/pc/cfgtables.c: likewise
16655 * efiemu/i386/loadcore64.c: likewise
16656 * efiemu/i386/loadcore32.c: likewise
16657 * efiemu/prepare64.c: likewise
16658 * efiemu/loadcore.c: likewise
16659 * efiemu/symbols.c: likewise
16660 * efiemu/mm.c: likewise
16661 * efiemu/loadcore32.c: likewise
7dd4a573 16662
166632009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 16664
16665 ACPI spoofing
16666
16667 * commands/acpi.c: new file
16668 * commands/i386/pc/acpi.c: likewise
16669 * commands/efi/acpi.c: likewise
16670 * include/grub/acpi.h: likewise
16671 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
16672 (acpi_mod_SOURCES): new variable
16673 (acpi_mod_CFLAGS): likewise
16674 (acpi_mod_LDFLAGS): likewise
16675 * conf/i386-efi.rmk: likewise
16676 * conf/x86_64-efi.rmk: likewise
16677
7dd4a573 166782009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 16679
16680 Missing part from mmap patch
16681
16682 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
16683 (grub_mmap_unregister)
16684 (grub_mmap_free_and_unregister): use grub_mmap_register
16685
7dd4a573 166862009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 16687
16688 Mmap services
16689
16690 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
16691 * loader/i386/linux.c (find_mmap_size): likewise
16692 (allocate_pages): likewise
16693 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
16694 (grub_fill_multiboot_mmap): likewise
16695 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
16696 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
16697 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
16698 (OPENBSD_MMAP_RESERVED): likewise
16699 * include/grub/i386/pc/memory.h: include grub/memory.h
16700 (grub_lower_mem): removed
16701 (grub_upper_mem): likewise
16702 (GRUB_MACHINE_MEMORY_ACPI): new definition
16703 (GRUB_MACHINE_MEMORY_NVS): likewise
16704 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
16705 (GRUB_MACHINE_MEMORY_HOLE): likewise
16706 (grub_machine_mmap_register): likewise
16707 (grub_machine_mmap_unregister): likewise
16708 (grub_machine_get_upper): likewise
16709 (grub_machine_get_lower): likewise
16710 (grub_machine_get_post64): likewise
16711 * include/grub/i386/efi/memory.h: new file
16712 * include/grub/x86_64/efi/memory.h: likewise
16713 * include/grub/efi/memory.h: likewise
16714 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
16715 (mmap_mod_SOURCES): new variable
16716 (mmap_mod_LDFLAGS): likewise
16717 (mmap_mod_ASFLAGS): likewise
16718 * conf/i386-coreboot.rmk: likewise
16719 * conf/i386-ieee1275.rmk: likewise
16720 * conf/i386-efi.rmk: likewise
16721 * conf/x86_64-efi.rmk: likewise
16722 * include/grub/types.h (UINT_TO_PTR): new macro
16723 (PTR_TO_UINT32): likewise
16724 (PTR_TO_UINT64): likewise
16725 * include/grub/memory.h: new file
16726 * mmap/i386/pc/mmap.c: likewise
16727 * mmap/i386/pc/mmap_helper.S: likewise
16728 * mmap/i386/uppermem.c: likewise
16729 * mmap/mmap.c: likewise
16730 * mmap/efi/mmap.c: likewise
7dd4a573 16731 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 16732 grub_upper_mem
16733 * kern/i386/pc/init.c (grub_lower_mem): removed variable
16734 (grub_upper_mem): likewise
16735 (grub_machine_init): don't use grub_upper_mem,
16736 make grub_lower_mem local
16737 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
16738 grub_mmap_iterate and grub_mmap_get_upper
16739 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
16740
d558e6b5 167412009-05-02 Bean <bean123ch@gmail.com>
16742
16743 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
16744 script/sh/parser.y.
16745 (pkglib_MODULES): Add normal.mod and sh.mod.
16746 (normal_SOURCES): New variable.
16747 (normal_mod_CFLAGS): Likewise.
16748 (normal_mod_LDFLAGS): Likewise.
16749 (sh_mod_SOURCES): Likewise.
16750 (sh_mod_CFLAGS): Likewise.
16751 (sh_mod_LDFLAGS): Likewise.
16752
16753 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
16754 script/sh/lexer.c_DEPENDENCIES.
16755 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
16756 kern/rescue_reader.c and kern/rescue_parser.c.
16757 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
16758 (grub_emu_SOURCES): Change source files.
16759 (pkglib_MODULES): Remove normal.mod.
16760 (normal_SOURCES): Removed.
16761 (normal_mod_CFLAGS): Likewise.
16762 (normal_mod_LDFLAGS): Likewise.
16763 * conf/i386-coreboot.rmk: Likewise.
16764 * conf/i386-efi.rmk: Likewise.
16765 * conf/i386-ieee1276.rmk: Likewise.
16766 * conf/powerpc-ieee1275.rmk: Likewise.
16767 * conf/sparc64-ieee1275.rmk: Likewise.
16768 * conf/x86_64-efi.rmk: Likewise.
16769
16770 * include/grub/command.h (grub_command_execute): New inline function.
16771
16772 * include/grub/menu.h (grub_menu_entry): Removed commands field.
16773
16774 * include/grub/normal.h: Remove <grub/setjmp.h>.
16775 (grub_fs_module_list): Moved to normal/autofs.c.
16776 (grub_exit_env): Removed.
16777 (grub_command_execute): Likewise.
16778 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
16779 parameter script.
16780 (read_command_list): New function declaration.
16781 (read_fs_list): Likewise.
16782
16783 * include/parser.h: Include <grub/reader.h>.
16784 (grub_parser_split_cmdline): Change type of getline parameter.
16785 (grub_parser): New structure.
16786 (grub_parser_class): New variable.
16787 (grub_parser_execute): New function declaration.
16788 (grub_register_rescue_parser): Likewise.
16789 (grub_parser_register): New inline function.
16790 (grub_parser_unregister): Likewise.
16791 (grub_parser_get_current): Likewise.
16792 (grub_parser_set_current): Likewise.
16793
16794 * include/grub/reader.h: New file.
16795 * kern/reader.c: Likewise.
16796 * kern/rescue_parser.c: Likewise.
16797 * kern/rescue_reader.c: Likewise.
16798 * normal/autofs.c: Likewise.
16799 * normal/dyncmd.c: Likewise.
16800
16801 * include/grub/rescue.h: Removed.
16802 * normal/command.h: Likewise.
16803
16804 * include/grub/script.h: Moved to ...
16805 * include/grub/script_sh.h: ... Moved here.
16806 * normal/execute.c: Moved to ...
16807 * script/sh/execute.c: ... Moved here.
16808 * normal/function.c: Moved to ...
16809 * script/sh/function.c: ... Moved here.
16810 * normal/lexer.c: Moved to ...
16811 * script/sh/lexer.c: ... Moved here.
16812 * normal/parser.y: Moved to ...
16813 * script/sh/parser.y: ... Moved here.
16814 * normal/script.c: Moved to ...
16815 * script/sh/script.c: ... Moved here.
16816
16817 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
16818 <grub/reader.h>.
16819 (grub_exit_env): Removed.
16820 (fs_module_list): Moved to normal/autofs.c.
16821 (grub_file_getline): Don't handle comment here.
16822 (free_menu): Skip removed field entry->commands.
16823 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
16824 script parameter.
16825 (read_config_file): Removed nested parameter, change getline function.
16826 (grub_enter_normal_mode): Removed.
16827 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
16828 (read_command_list): Likewise.
16829 (autoload_fs_module): Moved to normal/autofs.c.
16830 (read_fs_list): Likewise.
16831 (reader_nested): New variable.
16832 (grub_normal_execute): Run parser.sh to switch to sh parser.
16833 (grub_cmd_rescue): Removed.
16834 (cmd_normal): Removed.
16835 (grub_cmd_normal): Unregister itself at the beginning. Don't register
16836 rescue command.
16837 (grub_cmdline_run): New function.
16838 (grub_normal_reader_init): Likewise.
16839 (grub_normal_read_line): Likewise.
16840 (grub_env_write_pager): Likewise.
16841 (cmdline): New variable.
16842 (grub_normal_reader): Likewise.
16843 (GRUB_MOD_INIT): Register normal reader and set as current, register
16844 pager hook, register normal command with grub_register_command_prio,
16845 so that it won't show up in command.lst.
16846 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
16847 grub_fs_autoload_hook.
16848
16849 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
16850 (grub_menu_execute_entry): Replace grub_script_execute with
16851 grub_parser_execute, change parameter to grub_command_execute.
16852
16853 * normal/menu_text.c: Remove <grub/script.h>.
16854
16855 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
16856 and <grub/parser.h>.
16857 (run): Change editor_getline to use new parser interface. Change
16858 parameter to grub_command_execute.
16859
16860 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
16861 <grub/reader.h> and <grub/parser.h>.
16862 (grub_load_normal_mode): Execute normal command.
16863 (grub_main): Call grub_register_core_commands,
16864 grub_register_rescue_parser and grub_register_rescue_reader, use
16865 grub_reader_loop to enter input loop.
16866
7dd4a573 16867 * kern/parser.c (grub_parser_split_cmdline): Change type of
16868 getline parameter.
d558e6b5 16869 (grub_parser_class): New variable.
16870 (grub_parser_execute): New function.
16871
16872 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
16873 * loader/multiboot2.c: Likewise.
16874 * loader/sparc64/ieee1275/linux.c: Likewise.
16875
16876 * util/grub-emu.c (read_command_list): New dummy function.
16877
18db813d 168782009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16879
16880 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
16881 count to 16 for CCISS and IDA.
16882
6c67de15 168832009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16884
16885 * normal/menu_text.c (grub_wait_after_message): Print a newline
16886 after waiting for user input.
16887
16888 * loader/i386/linux.c: Include `<grub/normal.h>'.
16889 (grub_cmd_linux): Improve the error message about `ask' mode, by
16890 waiting for user input so it's not missed (we can do this, since
16891 user requested interaction).
16892
d9dc87b0 168932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 Added missing lst to grub-mkrescue
16896
16897 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
16898 and ${input_dir}/parttool.lst
16899
ac8a2baa 169002009-04-30 David S. Miller <davem@davemloft.net>
16901
ad22a610 16902 * util/hostdisk.c (device_is_wholedisk): New function.
16903 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
16904 zero only if device_is_wholedisk() returns true.
16905
6966215d 16906 * util/hostdisk.c (convert_system_partition_to_system_disk):
16907 Handle virtual disk devices named /dev/vdiskX as found on sparc
16908 and powerpc.
16909
ac8a2baa 16910 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
16911 lettered partition specifier is found, convert to numbered.
16912
979b4fb4 169132009-04-29 David S. Miller <davem@davemloft.net>
16914
e2bf39b2 16915 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
16916 * include/grub/sparc64/ieee1275/memory.h: Likewise.
16917
3c64e104 16918 * normal/command.c: Add missing newline at end of file.
16919
979b4fb4 16920 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
16921 warnings.
16922 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
16923 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
16924 grub_ofdisk_read): Likewise, and deal similarly with the fact that
16925 ihandles have a 32-bit type but need to be stored in a "void *".
16926
136d9f82 169272009-04-28 Pavel Roskin <proski@gnu.org>
16928
9459c306 16929 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
16930 not disk. Adjust all dependencies.
2e08a26a 16931 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 16932 grub_disk_close().
16933
136d9f82 16934 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
16935 parent's partition, don't copy it by reference, as it gets freed
16936 on close.
16937
7dd4a573 169382009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 16939
16940 Preboot hooks support
16941
16942 * commands/boot.c (struct grub_preboot_t): new declaration
16943 (preboots_head): new variable
16944 (preboots_tail): likewise
16945 (grub_loader_register_preboot_hook): new function
16946 (grub_loader_unregister_preboot_hook): likewise
16947 (grub_loader_set): launch preboot hooks
16948 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
16949 (grub_loader_register_preboot_hook): new declaration
16950 (grub_loader_unregister_preboot_hook): likewise
16951
5af922b5 169522009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 Warning fix
16955
7dd4a573 16956 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 16957 calling grub_dprintf
16958
a5562c30 169592009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 Bug and warning fixes
16962
7dd4a573 16963 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 16964 declaration
16965 * commands/test.c (test_parse): fixed bug with file tests and corrected
16966 declaration of find_file
16967
4006f85c 169682009-04-26 Pavel Roskin <proski@gnu.org>
16969
16970 * Makefile.in: Don't install empty manual pages if help2man is
16971 missing. Use help2man option for output, not shell redirection.
16972
5c77c3de 169732009-04-26 David S. Miller <davem@davemloft.net>
16974
16975 * util/grub-mkdevicemap.c (make_device_map): Add missing
16976 NESTED_FUNC_ATTR to process_device().
16977
033b10a8 169782009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 Test command
16981
16982 * commands/test.c: rewritten to use bash-like test
16983
e4343593 169842009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16985
16986 Parttool autoloading and improvements
16987
7dd4a573 16988 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 16989 (parttool.lst): new target
16990 * genmk.rb: generate parttool-*
16991 (CLEANFILES): add #{parttool}
16992 (PARTTOOLFILES): new variable
16993 * genparttoollist.sh: new file
7dd4a573 16994 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 16995 (grub_pcpart_type): likewise
16996 * commands/parttool.c (helpmsg): new variable
16997 (grub_cmd_parttool): output help if not enough arguments are supplied
16998 autoload modules
16999 (GRUB_MOD_INIT(parttool)): use helpmsg
17000
0d312500 170012009-04-24 David S. Miller <davem@davemloft.net>
17002
7dd4a573 17003 Avoiding opening same device multiple times in device iterator.
0d312500 17004
17005 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 17006 and use it to build a list of partitions in iterate_disk() and
0d312500 17007 iterate_partition().
17008
ac20caff 17009 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
17010 on disk->data.
17011
0dcf7495 17012 * disk/ieee1275/nand.c (grub_nand_iterate): Return
17013 grub_devalias_iterate() result instead of unconditional 0.
17014 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
17015 Also, capture hook return value, either directly or via
17016 grub_children_iterate(), and propagate to caller.
17017 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
17018 grub_children_iterate): Return value is now 'int' instead of
17019 'grub_err_t'.
17020 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
17021 like a proper iterator, stopping when hooks return non-zero.
17022 (grub_devalias_iterate): Likewise.
17023
c8c08833 170242009-04-23 David S. Miller <davem@davemloft.net>
17025
17026 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
17027
f01005a8 170282009-04-22 David S. Miller <davem@davemloft.net>
17029
17030 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
17031 is larger than address_cells, use that value for address_cells too.
17032
4e8269da 17033 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
17034 IEEE1275_MAX_PATH_LEN): Define.
17035 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
17036 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
17037 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
17038 'devtype'. Explicitly NULL terminate devalias expansion.
17039
a1447506 17040 * util/sparc64/ieee1275/misc.c: New file.
17041 * util/sparc64/ieee1275/grub-setup.c: New file.
17042 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
17043 * util/sparc64/ieee1275/grub-mkimage.c: New file.
17044 * util/sparc64/ieee1275/grub-install.in: New file.
17045 * util/ieee1275/ofpath.c: New file.
17046 * util/ieee1275/devicemap.c: New file.
17047 * util/devicemap.c: New file.
17048 * util/deviceiter.c: New file.
17049 * kern/sparc64/ieee1275/init.c: New file.
17050 * include/grub/util/ofpath.h: New file.
17051 * include/grub/util/deviceiter.h: New file.
17052 * util/grub-mkdevicemap.c: Include deviceiter.h.
17053 Implement using grub_util_emit_devicemap_entry and
17054 grub_util_iterate_devices.
17055 * conf/i386-corebook.rmk: Build util/deviceiter.c and
17056 util/devicemap.c into grub-mkdevicemap
17057 * conf/i386-efi.rmk: Likewise.
17058 * conf/i386-ieee1275.rmk: Likewise.
17059 * conf/i386-pc.rmk: Likewise.
17060 * conf/powerpc-ieee1275.rmk: Likewise.
17061 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
17062 images and installation utilities. Build kernel as image
17063 instead of as elf binary. Use common rules as much as possible.
17064
7dd4a573 170652009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 17066
17067 Correct GPT definition
17068
7dd4a573 17069 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 17070 of "attrib" member
17071
c6c5219f 170722009-04-19 Felix Zielcke <fzielcke@z-51.de>
17073
17074 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
17075
0552ff9f 170762009-04-19 David S. Miller <davem@davemloft.net>
17077
17078 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
17079 (grub_rescue_cmd_linux): Rename to...
17080 (grub_cmd_linux): and fix prototype.
17081 (grub_rescue_cmd_initrd): Rename to...
17082 (grub_cmd_initrd): and fix prototype.
17083 (cmd_linux, cmd_initrd): New.
17084 (GRUB_MOD_INIT(linux)): Use grub_register_command().
17085 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
17086
d1a282fc 170872009-04-17 Pavel Roskin <proski@gnu.org>
17088
07c5039f 17089 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
17090 format.
17091 (grub_ohci_transfer): Likewise.
17092
b012002d 17093 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
17094
1bc09c35 17095 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
17096 return without a value. Fix inconsistent indentation.
17097
e0ff9126 17098 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
17099 match struct grub_fs.
17100
d1a282fc 17101 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
17102 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
17103 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17104 * commands/lspci.c (grub_lspci_iter): Likewise.
17105
a96df3f2 171062009-04-16 Bean <bean123ch@gmail.com>
17107
17108 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
17109 value.
17110
41bb0fe9 171112009-04-15 Pavel Roskin <proski@gnu.org>
17112
17113 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
17114 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
17115 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
17116 definitions.
17117
596c6970 171182009-04-15 Felix Zielcke <fzielcke@z-51.de>
17119
17120 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 17121 that no multiple data or metadata areas are supported and `Unknown
596c6970 17122 metadata header'.
17123
7dd4a573 171242009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 17125
17126 Move loader out of the kernel
17127
17128 * kern/loader.c: moved to ...
17129 * commands/boot.c: ... moved here
17130 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
17131 * commands/boot.c (grub_cmd_boot): moved here. All users updated
17132 * include/grub/kernel.h (grub_machine_fini): export
17133 * include/grub/loader.h (grub_loader_is_loaded): update declaration
17134 (grub_loader_set): likewise
17135 (grub_loader_unset): likewise
17136 (grub_loader_boot): likewise
17137 * conf/common.rmk: new module boot.mod
17138 (pkglib_MODULES): add boot.mod
17139 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
17140 (grub_emu_SOURCES): likewise
17141 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
17142 (grub_emu_SOURCES): likewise
17143 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
17144 (grub_emu_SOURCES): likewise
17145 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
17146 (grub_emu_SOURCES): likewise
17147 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
17148 (grub_emu_SOURCES): likewise
7dd4a573 17149 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
17150 (grub_emu_SOURCES): likewise
0d5d5653 17151 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 17152 (grub_emu_SOURCES): likewise
0d5d5653 17153
7dd4a573 171542009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 17155
17156 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 17157
5999d619 17158 * kern/misc.c (grub_itoa): Removed function
17159 (grub_ltoa): likewise
17160 (grub_vsprintf): use grub_lltoa
17161
7dd4a573 171622009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 17163
17164 Restore grub-emu
17165
17166 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
17167 * conf/i386-coreboot.rmk: likewise
17168 * conf/i386-ieee1275.rmk: likewise
17169 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17170
20318222 171712009-04-15 Felix Zielcke <fzielcke@z-51.de>
17172
17173 * INSTALL: Add that `./autogen.sh' needs to be run before
17174 `./configure.'.
17175
d05f0df3 171762009-04-14 Bean <bean123ch@gmail.com>
17177
17178 * Makefile.in (pkglib_DATA): Add handler.lst.
17179 (handler.lst): New rule.
17180
17181 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
17182 * conf/i386-coreboot.rmk: Likewise.
17183 * conf/i386-ieee1275.rmk: Likewise.
17184 * conf/i386-efi.rmk: Likewise.
17185 * conf/x86_64-efi.rmk: Likewise.
17186 * conf/powerpc-ieee1275.rmk: Likewise.
17187 * conf/sparc64-ieee1275.rmk: Likewise.
17188
17189 * genhandlerlist.sh: New file.
17190
17191 * genmk.rb: Add rules to generate handler.lst.
17192
17193 * include/grub/normal.h (grub_file_getline): New function definition.
17194 (read_handler_list): Likewise.
17195 (free_handler_list): Likewise.
17196
17197 * include/grub/term.h (grub_term_register_input): Add name parameter
17198 for auto generation of handler.lst.
17199 (grub_term_register_output): Likewise.
17200
17201 * normal/handler.c: New file.
17202
17203 * normal/main.c (get_line): Renamed to grub_file_getline.
17204 (read_config_file): Use the newly renamed grub_file_getline.
17205 (read_command_list): Likewise.
17206 (read_fs_list): Likewise.
17207 (grub_normal_execute): Call read_handler_list to parse handler.lst.
17208 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
17209
17210 * term/efi/console.c (grub_console_init): Add name parameter for auto
17211 generation of handler.lst.
17212 * term/gfxterm.c: Likewise.
17213 * term/i386/pc/at_keyboard.c: Likewise.
17214 * term/i386/pc/console.c: Likewise.
17215 * term/i386/pc/serial.c: Likewise.
17216 * term/i386/pc/vesafb.c: Likewise.
17217 * term/i386/pc/vga.c: Likewise.
17218 * term/i386/pc/vga_text.c: Likewise.
17219 * term/ieee1275/ofconsole.c: Likewise.
17220 * term/usb_keyboard.c: Likewise.
17221
33c846be 172222009-04-14 Bean <bean123ch@gmail.com>
17223
17224 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
17225 properly with null character.
17226
4484e01e 172272009-04-14 Felix Zielcke <fzielcke@z-51.de>
17228
17229 * configure: Remove.
17230 * config.h.in: Likewise.
f93d668e 17231 * stamp-h.in: Likewise.
4484e01e 17232 * DISTLIST: Likewise.
17233 * conf/common.mk: Likewise.
17234 * conf/i386-coreboot.mk: Likewise.
17235 * conf/i386-efi.mk: Likewise.
17236 * conf/i386-ieee1275.mk: Likewise.
17237 * conf/i386.mk: Likewise.
17238 * conf/i386-pc.mk: Likewise.
17239 * conf/powerpc-ieee1275.mk: Likewise.
17240 * conf/sparc64-ieee1275.mk: Likewise.
17241 * conf/x86_64-efi.mk: Likewise.
17242
17243 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
17244 develop on GRUB.
17245
7dd4a573 172462009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 17247 David S. Miller <davem@davemloft.net>
17248
17249 * util/hostdisk.c (make_device_name): Fix buffer length
17250 calculations.
17251
e25b5a8c 172522009-04-14 Felix Zielcke <fzielcke@z-51.de>
17253
17254 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
17255 <sys/param.h> and <sys/sysctl.h>.
17256 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
17257 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
17258 opening the device and reset them afterwards.
17259
1f1f580c 172602009-04-13 Pavel Roskin <proski@gnu.org>
17261
17262 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
17263 Reported by John Stanley <jpsinthemix@verizon.net>
17264
7ebc2d6b 172652009-04-13 Robert Millan <rmh@aybabtu.com>
17266
17267 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 17268 that name for menuentries when appropriate.
7ebc2d6b 17269
d8ba3667 172702009-04-13 Felix Zielcke <fzielcke@z-51.de>
17271
17272 * util/grub.d/10_freebsd.in: Add a missing `fi'.
17273
cba416eb 172742009-04-13 Robert Millan <rmh@aybabtu.com>
17275
17276 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
17277 to Linux, simply abort telling the user it's no longer supported.
17278
a547a745 172792009-04-13 Felix Zielcke <fzielcke@z-51.de>
17280
17281 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 17282 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 17283 `freebsd_loadenv' only when devices.hints exist.
17284
232a769c 172852009-04-13 Pavel Roskin <proski@gnu.org>
17286
17287 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
17288
c3012039 172892009-04-13 Felix Zielcke <fzielcke@z-51.de>
17290
17291 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
17292 partition number.
17293 (grub_drive): Likewise.
17294
234022fe 172952009-04-13 David S. Miller <davem@davemloft.net>
17296
17297 * kern/sparc64/ieee1275/ieee1275.c: New file.
17298 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
17299 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
17300 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
17301 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
17302 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
17303 grub_ieee1275_alloc_physmem): Declare new exported functions.
17304
d8e1836c 17305 * include/grub/sparc64/ieee1275/loader.h: New file.
17306 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17307 * include/grub/sparc64/kernel.h: Likewise.
17308 * loader/sparc64/ieee1275/linux.c: Likewise.
17309
96bd81ec 17310 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
17311 (grub_fstest_SOURCES): Likewise.
17312
6a4737e5 17313 * util/hostdisk.c (make_device_name): Do not make any assumptions
17314 about the length of drive names.
17315
1d7a72fd 17316 * kern/dl.c (grub_dl_load_file): Close file immediately when
17317 we are done using it.
17318
56bc2471 173192009-04-12 David S. Miller <davem@davemloft.net>
17320
17321 * kern/misc.c (grub_ltoa): Fix cast when handling negative
17322 values. Noticed by Pavel Roskin.
17323
df38d0bb 17324 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
17325 target compiler.
7dd4a573 17326
e382e93a 17327 * genmk.rb: Add more flexible image type specification, also
17328 pass --strip-unneeded to objcopy.
17329 * conf/i386-pc.rmk: Use *_FORMAT.
17330 * conf/i386-pc.mk: Rebuilt.
17331
f5dbbca9 17332 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
17333 (OFDISK_HASH_SZ): Define.
17334 (ofdisk_hash): New hash table.
17335 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
17336 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
17337 instead of device phandle which is not unique.
17338
91c88b12 17339 * kern/sparc64/ieee1275/init.c: Delete, replace with...
17340 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
17341 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
17342 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
17343 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
17344 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
17345 GRUB_KERNEL_MACHINE_DATA_END): Define.
17346 (grub_kernel_image_size, grub_total_module_size): Declare.
17347
5b5d4aa5 173482009-04-12 Pavel Roskin <proski@gnu.org>
17349
7dd4a573 17350 * configure.ac: Change the logic when we check for target tools.
17351 Do it when the target is specified and it's different from the
17352 specified value of the host.
5b5d4aa5 17353
c91e1793 173542009-04-11 Felix Zielcke <fzielcke@z-51.de>
17355
17356 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
17357 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
17358 GNU/kFreeBSD. Check if a device is a character device. Use
17359 DIOCGMEDIASIZE to get the size.
17360 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
17361 support for GNU/kFreeBSD.
17362 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
17363 is a character device instead of a block device. Add support for
17364 FreeBSD device names.
17365
17366 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
17367 is a character device instead of a block device.
17368
17369 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
17370 is a character device instead of a block device.
17371
b1ac8644 173722009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
17373
17374 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
17375 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
17376 FreeBSD. Check if a device is a character device. Use
17377 DIOCGMEDIASIZE to get the size.
17378 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
17379 support for FreeBSD.
17380 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
17381 is a character device instead of a block device. Add support for
17382 FreeBSD device names.
17383
17384 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
17385 a character device instead of a block device.
17386 (grub_util_check_char_device): New function.
17387
17388 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
17389 a character device instead of a block device.
17390
17391 * include/grub/util/getroot.h (grub_util_check_char_device): New
17392 prototype.
17393
a3f7515a 173942009-04-11 David S. Miller <davem@davemloft.net>
17395
17396 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
17397 static libgcc.
17398 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
17399 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
17400 function, if present.
17401 (__bswapdi2): Likewise.
17402
0d44993d 17403 * include/grub/sparc64/ieee1275/boot.h: New file.
17404 * boot/sparc64/ieee1275/boot.S: Likewise.
17405 * boot/sparc64/ieee1275/diskboot.S: Likewise.
17406
ed3d2bc2 17407 * kern/misc.c (grub_ltoa): New function.
17408 (grub_vsprintf): Use it to format 'long' integers.
17409
d3bfb59c 174102009-04-10 David S. Miller <davem@davemloft.net>
17411
17412 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
17413 slots are of type grub_ieee1275_cell_t.
17414 (grub_nand_read): Likewise.
17415 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
17416 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
17417 macros are used to compare values in arg/ret block of the call.
17418 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17419 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
17420 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
17421 grub_ieee1275_instance_to_path, grub_ieee1275_write,
17422 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
17423 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
17424 grub_ieee1275_close, grub_ieee1275_set_property,
17425 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
17426 grub_ieee1275_cell_t.
17427 * kern/ieee1275/openfw.c (grub_map): Likewise.
17428 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
17429 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
17430
450e2238 17431 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
17432 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
17433 (grub_devalias_iterate): Likewise.
17434
7dd4a573 174352009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 17436
17437 UFS improvements
17438
17439 * fs/ufs.c (INODE_NBLOCKS): new definition
17440 (struct grub_ufs_dirent): added fields for non-BSD dirents
17441 (grub_ufs_get_file_block): fixed double indirect handling
17442 (grub_ufs_lookup_symlink): use more robust way to determine whether
17443 symlink is inline
17444 (grub_ufs_find_file): support for non-BSD dirents
17445 (grub_ufs_dir): support for non-BSD dirents
17446
e7e6862a 174472009-04-10 Bean <bean123ch@gnail.com>
17448
17449 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
17450 attribute, otherwise the size would be wrong for i386 platform.
17451
17452 * include/grub/pci.h (grub_pci_read_word): New inline function.
17453 (grub_pci_read_byte): Likewise.
17454 (grub_pci_write): Likewise.
17455 (grub_pci_write_word): Likewise.
17456 (grub_pci_write_byte): Likewise.
17457
17458 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
17459
17460 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
17461 (find_framebuf): Scan pci to locate the frame buffer address.
17462
17463 * commands/efi/fixvideo.c: New file.
17464
17465 * commands/efi/loadbios.c: Likewise.
17466
17467 * commands/memrw.c: Likewise.
17468
17469 * util/grub-dumpbios.in: Likewise.
17470
17471 * conf/common.rmk (grub-dumpbios): New utility.
17472 (pkglib_MODULES): New module memrw.mod.
17473 (memrw_mod_SOURCE): New macro.
17474 (memrw_mod_CFLAGS): Likewise.
17475 (memrw_mod_LDFLAGS): Likewise.
17476
7dd4a573 17477 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17478 fixvideo.mod.
17479 (loadbios_mod_SOURCE): New macro.
17480 (loadbios_mod_CFLAGS): Likewise.
17481 (loadbios_mod_LDFLAGS): Likewise.
17482 (fixvideo_mod_SOURCE): Likewise.
17483 (fixvideo_mod_CFLAGS): Likewise.
17484 (fixvideo_mod_LDFLAGS): Likewise.
17485
7dd4a573 17486 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17487 fixvideo.mod.
17488 (loadbios_mod_SOURCE): New macro.
17489 (loadbios_mod_CFLAGS): Likewise.
17490 (loadbios_mod_LDFLAGS): Likewise.
17491 (fixvideo_mod_SOURCE): Likewise.
17492 (fixvideo_mod_CFLAGS): Likewise.
17493 (fixvideo_mod_LDFLAGS): Likewise.
17494
af63ada2 174952009-04-08 Felix Zielcke <fzielcke@z-51.de>
17496
17497 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
17498
c2cdde70 174992009-04-07 David S. Miller <davem@davemloft.net>
17500
17501 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
17502 support for R_SPARC_OLO10 relocations. Fix compile warning for
17503 R_SPARC_WDISP30 case.
ea3f72cf 17504 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 17505
761319cf 175062009-04-06 Pavel Roskin <proski@gnu.org>
17507
1007d1f5 17508 * include/grub/misc.h (ARRAY_SIZE): New macro.
17509 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
17510 New macro.
17511 * loader/i386/linux.c (allocate_pages): Use free_pages().
17512 (grub_linux_unload): Don't use free_pages().
17513 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
17514 wrong index. Treat all other modes as text modes.
17515 (grub_cmd_linux): Initialize vid_mode unconditionally to
17516 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
17517
761319cf 17518 * commands/help.c (print_command_help): Use cmd->prio, not
17519 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
17520
ea761d40 175212009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 17522
ea761d40 17523 Parttool
17524
17525 * parttool/pcpart.c: new file
17526 * commands/parttool.c: likewise
17527 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
17528 (parttool_mod_SOURCES): new variable
17529 (parttool_mod_CFLAGS): likewise
17530 (parttool_mod_LDFLAGS): likewise
17531 (pcpart_mod_SOURCES): likewise
17532 (pcpart_mod_CFLAGS): likewise
17533 (pcpart_mod_LDFLAGS): likewise
7dd4a573 17534 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 17535 and parttool/pcpart.c
17536 * conf/i386-efi.rmk: likewise
17537 * conf/i386-ieee1275.rmk: likewise
17538 * conf/i386-pc.rmk: likewise
17539 * conf/powerpc-ieee1275.rmk: likewise
17540 * conf/sparc64-ieee1275.rmk: likewise
17541 * conf/x86_64-ieee1275.rmk: likewise
17542
05aaebfb 175432009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17544
17545 Support for mtime and further expandability of dir command
17546
17547 * include/grub/lib/datetime.h: moved to ...
7dd4a573 17548 * include/grub/datetime.h: ... moved here and added
05aaebfb 17549 declaration of grub_unixtime2datetime. All users updated
7dd4a573 17550 * include/grub/fs.h: new syntax for dir and mtime functions in
17551 struct grub_fs
05aaebfb 17552 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
17553 and GRUB_FSHELP_FLAGS_MASK
17554 * commands/ls.c (grub_ls_list_files): Write mtime in long format
17555 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
17556 (grub_ext2_mtime): new function
17557 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
17558 (grub_hfsplus_mtime): new function
17559 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
17560 (GRUB_UFS_ATTR_FILE): likewise
17561 (GRUB_UFS_ATTR_LNK): likewise
17562 (struct grub_ufs_sblock): new fields mtime
17563 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
17564 all users updated
17565 (grub_ufs_dir): mtime support
17566 (grub_ufs_mtime): new function
17567 * fs/affs.c (grub_affs_dir): use new dir syntax
17568 * fs/afs.c (grub_afs_dir): likewise
17569 * fs/cpio.c (grub_cpio_dir): likewise
17570 * fs/fat.c (grub_fat_find_dir): likewise
17571 * fs/hfs.c (grub_hfs_dir): likewise
17572 * fs/iso9660.c (grub_iso9660_dir): likewise
17573 * fs/jfs.c (grub_jfs_dir): likewise
17574 * fs/minix.c (grub_minix_dir): likewise
17575 * fs/ntfs.c (grub_ntfs_dir): likewise
17576 * fs/reiserfs.c (grub_reiserfs_dir): likewise
17577 * fs/sfs.c (grub_sfs_dir): likewise
17578 * fs/xfs.c (grub_xfs_dir): likewise
17579 * util/hostfs.c (grub_hostfs_dir): likewise
17580 * lib/datetime.c: moved to ...
17581 * normal/datetime.c: ... moved here
17582 (grub_unixtime2datetime): new function
17583 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 17584 * normal/completion.c (iterate_dir): use new dir syntax
17585 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 17586 last modification time of a volume
7dd4a573 17587 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 17588 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 17589 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 17590 (normal_mod_SOURCES): likewise
17591 (datetime_mod_SOURCES): Removed lib/datetime.c
17592 * conf/i386-efi.rmk: likewise
7dd4a573 17593 * conf/i386-ieee1275.rmk: likewise
05aaebfb 17594 * conf/i386-pc.rmk: likewise
17595 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17596 * conf/sparc64-ieee1275.rmk: likewise
17597 * conf/x86_64-efi.rmk: likewise
05aaebfb 17598
8a7e1a14 175992009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 17602
17603 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 17604 on grub_fat_find_dir
17605 (grub_fat_find_dir): use grub_fat_iterate_dir
17606 (grub_fat_label): likewise
17607
04186a9c 176082009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17609
7dd4a573 17610 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 17611 and command.h
17612 remove extraneous kernel_elf_HEADERS
17613
da4c0bb6 176142009-04-04 Bean <bean123ch@gnail.com>
17615
17616 * include/grub/util/misc.h: Add dummy function fsync for mingw.
17617
17618 * util/misc.c: Likewise.
17619
54ad9555 176202009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
17621
17622 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
17623 instead of grub_printf.
17624
7a6bf9f2 176252009-04-03 Robert Millan <rmh@aybabtu.com>
17626
17627 * loader/i386/linux.c (grub_linux_setup_video): Fill
17628 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
17629 values from `mode info' structure instead of hardcoded
17630 values.
17631
3fcc2083 176322009-04-01 Pavel Roskin <proski@gnu.org>
17633
17634 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
17635 unused now.
17636 * genmk.rb: Likewise.
17637 * configure.ac: Likewise.
17638
5ec9740b 176392009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
17640
17641 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
17642 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
17643
5270cec8 176442009-04-01 David S. Miller <davem@davemloft.net>
17645
17646 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 17647 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 17648 (grub_setjmp): Mark with 'returns_twice' attribute.
17649 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
17650 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
17651 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
17652
9c3dd854 176532009-04-01 Robert Millan <rmh@aybabtu.com>
17654
17655 Reapply fix from 2008-07-28 which was accidentally reverted; also
17656 perform the same fix to a similar check in same function.
17657
17658 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17659 with the same number are found, just use issue a warning with
17660 grub_dprintf(), as this error has been reported to be non-fatal.
17661
0d818b7e 176622009-03-31 Pavel Roskin <proski@gnu.org>
17663
17664 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
17665 for cross-compilation.
17666
95646d92 176672009-03-30 Robert Millan <rmh@aybabtu.com>
17668
17669 Fix i386-ieee1275 build.
17670
17671 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
17672 Remove declaration.
17673
6a003ed1 176742009-03-30 Pavel Roskin <proski@gnu.org>
17675
17676 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
17677 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
17678 zero-terminated, rely only on the strlen value. Fix comparison
17679 of strings differing in length.
17680
92f33540 176812009-03-30 Robert Millan <rmh@aybabtu.com>
17682
17683 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
17684 checking for abi version. Improve error messages on BIOS to notify
17685 user about `linux16' command.
17686
a8c48fd5 176872009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17688
f968172e 17689 Leak fixes
a8c48fd5 17690
f968172e 17691 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
17692 in case of collision
17693 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 17694
9c323f09 176952009-03-29 Robert Millan <rmh@aybabtu.com>
17696
17697 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
17698 set `vid_mode' accordingly.
17699 (grub_linux_boot): Process `vid_mode' and set video mode.
17700
ae68f423 177012009-03-29 Robert Millan <rmh@aybabtu.com>
17702
17703 * util/grub.d/10_linux.in (linux_entry): New function.
17704 Factorize generation of Linux boot entries.
17705
5709cfc4 177062009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
17707
17708 Make the format of Environment Block plain text. The boot loader
17709 part is not tested well yet.
7dd4a573 17710
5709cfc4 17711 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
17712 (buffer): Removed.
17713 (envblk): Likewise.
17714 (usage): Remove "info" and "clear". Add "unset". Update the
17715 description of "set", as this does not delete variables any
17716 longer.
17717 (create_envblk_file): Complete rewrite.
17718 (open_envblk_file): Likewise.
17719 (cmd_info): Removed.
17720 (cmd_list): Likewise.
17721 (cmd_set): Likewise.
17722 (cmd_clear): Likewise.
17723 (list_variables): New function.
17724 (write_envblk): Likewise.
17725 (set_variables): Likewise.
17726 (unset_variables): Likewise.
17727 (main): Complete rewrite.
17728
17729 * commands/loadenv.c (buffer): Removed.
17730 (envblk): Likewise.
17731 (open_envblk_file): New function.
17732 (read_envblk_file): Complete rewrite.
17733 (grub_cmd_load_env): Likewise.
17734 (grub_cmd_list_env): Likewise.
17735 (struct blocklist): New struct.
17736 (free_blocklists): New function.
17737 (check_blocklists): Likewise.
17738 (write_blocklists): Likewise.
17739 (grub_cmd_save_env): Complete rewrite.
17740
17741 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
17742 a plain text signature.
17743 (GRUB_ENVBLK_MAXLEN): Removed.
17744 (struct grub_envblk): Complete rewrite.
17745 (grub_envblk_find): Removed.
17746 (grub_envblk_insert): Likewise.
17747 (grub_envblk_open): New prototype.
17748 (grub_envblk_set): Likewise.
17749 (grub_envblk_delete): Put const to VALUE.
17750 (grub_envblk_iterate): Put const to NAME and VALUE.
17751 (grub_envblk_close): New prototype.
17752 (grub_envblk_buffer): New inline function.
17753 (grub_envblk_size): Likewise.
17754
17755 * lib/envblk.c: Include grub/mm.h.
17756 (grub_env_find): Removed.
17757 (grub_envblk_open): New function.
17758 (grub_envblk_close): Likewise.
17759 (escaped_value_len): Likewise.
17760 (find_next_line): Likewise.
17761 (grub_envblk_insert): Removed.
17762 (grub_envblk_set): New function.
17763 (grub_envblk_delete): Complete rewrite.
17764 (grub_envblk_iterate): Likewise.
17765
a9368fd3 177662009-03-28 Robert Millan <rmh@aybabtu.com>
17767
17768 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
17769 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
17770 variables. Use 16-bit loader.
17771 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
17772 loader.
17773 * kern/i386/loader.S (grub_linux_boot): Rename to ...
17774 (grub_linux16_boot): ... this. Update all users.
17775 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
17776 (grub_linux_boot): ... this. Update all users.
17777
17778 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
17779 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
17780 commands to `linux16' and `initrd16'.
17781 (GRUB_MOD_FINI(linux)): Rename to ...
17782 (GRUB_MOD_FINI(linux16)): ... this.
17783
e4dd5a7e 177842009-03-24 Pavel Roskin <proski@gnu.org>
17785
17786 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
17787 not just for compilation.
17788
c04d6e05 177892009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
17790
17791 Move multiboot helper out of kernel
17792
17793 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
17794 `loader/i386/multiboot_helper.S'.
17795 * conf/i386-coreboot.rmk: Likewise
17796 * conf/i386-ieee1275.rmk: Likewise
17797
17798 * kern/i386/loader.S: Move multiboot helpers from here...
17799 * loader/i386/multiboot_helper.S: ...moved here
17800 * include/grub/i386/loader.h: Move declarations of multiboot
17801 helpers from here...
17802 * include/grub/i386/multiboot.h: ...moved here
17803 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
17804
42a5b3fc 178052009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17806
17807 * kern/env.c (grub_env_context_open): Added an argument to specify
17808 whether a new context inherits exported variables from current
17809 one. This is useful when making a sandbox to interpret a config
17810 file.
17811 All callers updated.
17812
17813 * include/grub/env.h (grub_env_context_open): Updated the prototype.
17814
b28bbc4e 178152009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17816
17817 * kern/env.c (grub_env_context_close): Fix memory leaks.
17818
f04f02e4 178192009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17820
17821 * normal/main.c (grub_normal_execute): Added an argument
17822 BATCH to specify if an interactive interface should be provided
17823 after reading a config file.
17824 All callers updated.
17825 (read_command_list): Prevent being executed twice.
17826 (read_fs_list): Likewise.
17827
42a5b3fc 17828 * include/grub/normal.h (grub_normal_execute): Updated the
17829 prototype.
f04f02e4 17830
41473ac2 178312009-03-22 Pavel Roskin <proski@gno.org>
17832
fbc00b0c 17833 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
17834 _start.
17835 * kern/i386/pc/startup.S: Likewise.
17836 * kern/i386/efi/startup.S: Likewise.
17837 * kern/i386/ieee1275/startup.S: Likewise.
17838 * kern/i386/coreboot/startup.S: Likewise.
17839 * kern/x86_64/efi/startup.S: Likewise.
17840
41473ac2 17841 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
17842 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
17843 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
17844
2274cc8f 178452009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
17846
17847 Bugfixes in multiboot for bugs uncovered by solaris kernel.
17848
17849 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
17850 limit detection.
17851 Use vaddr of correct segment for entry_point.
17852
b1b797cb 178532009-03-21 Bean <bean123ch@gmail.com>
17854
17855 * commands/blocklist.c: Add include file <grub/command.h>, remove
17856 <grub/normal.h> and <grub/arg.h>.
17857 (grub_cmd_blocklist): Use the new command interface.
17858 (GRUB_MOD_INIT): Likewise.
17859 (GRUB_MOD_FINI): Likewise.
17860 * commands/boot.c: Likewise.
17861 * commands/cat.c: Likewise.
17862 * commands/cmp.c: Likewise.
17863 * commands/configfile.c: Likewise.
17864 * commands/crc.c: Likewise.
17865 * commands/echo.c: Likewise.
17866 * commands/halt.c: Likewise.
17867 * commands/handler.c: Likewise.
17868 * commands/hdparm.c: Likewise.
17869 * commands/help.c: Likewise.
17870 * commands/hexdump.c: Likewise.
17871 * commands/loadenv.c: Likewise.
17872 * commands/ls.c: Likewise.
17873 * commands/lsmmap.c: Likewise.
17874 * commands/lspci.c: Likewise.
17875 * commands/loadenv.c: Likewise.
17876 * commands/read.c: Likewise.
17877 * commands/reboot.c: Likewise.
17878 * commands/search.c: Likewise.
17879 * commands/sleep.c: Likewise.
17880 * commands/test.c: Likewise.
17881 * commands/usbtest.c: Likewise.
17882 * commands/videotest.c: Likewise.
17883 * commands/i386/cpuid.c: Likewise.
17884 * commands/i386/pc/halt.c: Likewise.
17885 * commands/i386/pc/play.c: Likewise.
17886 * commands/i386/pc/pxecmd.c: Likewise.
17887 * commands/i386/pc/vbeinfo.c: Likewise.
17888 * commands/i386/pc/vbetest.c: Likewise.
17889 * commands/ieee1275/suspend.c: Likewise.
17890 * disk/loopback.c: Likewise.
17891 * font/font_cmd.c: Likewise.
17892 * hello/hello.c: Likewise.
17893 * loader/efi/appleloader.c: Likewise.
17894 * loader/efi/chainloader.c: Likewise.
17895 * loader/i386/bsd.c: Likewise.
17896 * loader/i386/efi/linux.c: Likewise.
17897 * loader/i386/ieee1275/linux.c: Likewise.
17898 * loader/i386/linux.c: Likewise.
17899 * loader/i386/pc/chainloader.c: Likewise.
17900 * loader/i386/pc/linux.c: Likewise.
17901 * loader/powerpc/ieee1275/linux.c: Likewise.
17902 * loader/multiboot_loader.c: Likewise.
17903 * term/gfxterm.c: Likewise.
17904 * term/i386/pc/serial.c: Likewise.
17905 * term/terminfo.c: Likewise.
17906
17907 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
17908 * term/i386/pc/vga.c: Likewise.
17909 * video/readers/jpeg.c: Likewise.
17910 * video/readers/png.c: Likewise.
17911 * video/readers/tga.c: Likewise.
17912
17913 * util/grub-fstest (cmd_loopback): Removed.
17914 (cmd_blocklist): Likewise.
17915 (cmd_ls): Likewise.
17916 (grub_register_command): Likewise.
17917 (grub_unregister_command): Likewise.
17918 (execute_command): Use grub_command_find to locate command and execute
17919 it.
17920
17921 * include/grub/efi/chainloader.h: Removed.
17922 * loader/efi/chainloader_normal.c: Likewise.
17923 * loader/i386/bsd_normal.c: Likewise.
17924 * loader/i386/pc/chainloader_normal.c: Likewise.
17925 * loader/i386/pc/multiboot_normal.c: Likewise.
17926 * loader/linux_normal.c: Likewise.
17927 * loader/multiboot_loader_normal.c: Likewise.
17928 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17929
17930 * gencmdlist.sh: Scan new registration command grub_register_extcmd
17931 and grub_register_command_p1.
17932
17933 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
17934 kern/command.c, lib/arg.c and commands/extcmd.c.
17935 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
17936 (minicmd_mod_SOURCES): New variable.
17937 (minicmd_mod_CFLAGS): Likewise.
17938 (minicmd_mod_LDFLAGS): Likewise.
17939 (extcmd_mod_SOURCES): Likewise.
17940 (extcmd_mod_CFLAGS): Likewise.
17941 (extcmd_mod_LDFLAGS): Likewise.
17942 (boot_mod_SOURCES): Removed.
17943 (boot_mod_CFLAGS): Likewise.
17944 (boot_mod_LDFLAGS): Likewise.
17945
17946 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
17947 kern/corecmd.c.
17948 (kernel_img_HEADERS): Add command.h.
17949 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
17950 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
17951 and lib/arg.c.
17952 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
17953 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
17954 remove the corresponding normal mode command.
17955 (normal_mod_SOURCES): Remove normal/arg.c.
17956 * conf/i386-coreboot.rmk: Likewise.
17957 * conf/i386-efi.rmk: Likewise.
17958 * conf/i386-ieee1275.rmk: Likewise.
17959 * conf/powerpc-ieee1275.rmk: Likewise.
17960 * conf/x86_64-efi.rmk: Likewise.
17961
17962 * include/grub/arg.h: Move from here ...
17963 * include/grub/lib/arg.h: ... to here.
17964
17965 * normal/arg.c: Move from here ...
17966 * lib/arg.c: ... to here.
17967
17968 * commands/extcmd.c: New file.
17969 * commands/minicmd.c: Likewise.
17970 * include/grub/command.h: Likewise.
17971 * include/grub/extcmd.h: Likewise.
17972 * kern/command.c: Likewise.
17973 * kern/corecmd.c: Likewise.
17974
17975 * kern/list.c (grub_list_iterate): Return int instead of void.
17976 (grub_list_insert): New function.
17977 (grub_prio_list_insert): Likewise.
17978
17979 * kern/rescue.c (grub_rescue_command): Removed.
17980 (grub_rescue_command_list): Likewise.
17981 (grub_rescue_register_command): Likewise.
17982 (grub_rescue_unregister_command): Likewise.
17983 (grub_rescue_cmd_boot): Move to minicmd.c
17984 (grub_rescue_cmd_help): Likewise.
17985 (grub_rescue_cmd_info): Likewise.
17986 (grub_rescue_cmd_boot): Likewise.
17987 (grub_rescue_cmd_testload): Likewise.
17988 (grub_rescue_cmd_dump): Likewise.
17989 (grub_rescue_cmd_rmmod): Likewise.
17990 (grub_rescue_cmd_lsmod): Likewise.
17991 (grub_rescue_cmd_exit): Likewise.
17992 (grub_rescue_print_devices): Moved to corecmd.c.
17993 (grub_rescue_print_files): Likewise.
17994 (grub_rescue_cmd_ls): Likewise.
17995 (grub_rescue_cmd_insmod): Likewise.
17996 (grub_rescue_cmd_set): Likewise.
17997 (grub_rescue_cmd_unset): Likewise.
7d074e3c 17998 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 17999 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 18000 commands, remove grub_rescue_register_command calls.
b1b797cb 18001
7d074e3c 18002 * normal/command.c (grub_register_command): Removed.
b1b797cb 18003 (grub_unregister_command): Likewise.
18004 (grub_command_find): Likewise.
18005 (grub_iterate_commands): Likewise.
18006 (rescue_command): Likewise.
18007 (export_command): Moved to corecmd.c.
18008 (set_command): Removed.
18009 (unset_command): Likewise.
18010 (insmod_command): Likewise.
18011 (rmmod_command): Likewise.
18012 (lsmod_command): Likewise.
18013 (grub_command_init): Likewise.
18014
18015 * normal/completion.c (iterate_command): Use cmd->prio to check for
18016 active command.
18017 (complete_arguments): Use grub_extcmd_t structure to find options.
18018 (grub_normal_do_completion): Change function grub_iterate_commands to
18019 grub_command_iterate.
18020
18021 * normal/execute.c (grub_script_execute_cmd): No need to parse
18022 argument here.
18023
18024 * normal/main.c (grub_dyncmd_dispatcher): New function.
18025 (read_command_list): Register unload commands as dyncmd.
18026 (grub_cmd_normal): Use new command interface, register rescue,
18027 unregister normal at entry, register normal, unregister rescue at exit.
18028
18029 * include/grub/list.h (grub_list_test_t): New type.
18030 (grub_list_iterate): Return int instead of void.
18031 (grub_list_insert): New function.
18032 (GRUB_AS_NAMED_LIST_P): New macro.
18033 (GRUB_AS_PRIO_LIST): Likewise.
18034 (GRUB_AS_PRIO_LIST_P): Likewise.
18035 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
18036 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
18037 (grub_prio_list): New structure.
18038 (grub_prio_list_insert): New function.
18039 (grub_prio_list_remove): New inline function.
18040
18041 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
18042 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
18043 (GRUB_COMMAND_FLAG_MENU): Likewise.
18044 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18045 (GRUB_COMMAND_FLAG_TITLE): Likewise.
18046 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18047 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
18048 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
18049 (grub_command): Likewise.
18050 (grub_register_command): Likewise.
18051 (grub_command_find): Likewise.
18052 (grub_iterate_commands): Likewise.
18053 (grub_command_init): Likewise.
18054 (grub_arg_parse): Likewise.
18055 (grub_arg_show_help): Likewise.
18056
18057 * include/grub/rescue.h (grub_rescue_register_command): Removed.
18058 (grub_rescue_unregister_command): Likewise.
18059
18060 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
18061 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
18062 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
18063
18064 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
18065 grub_rescue_cmd_initrd.
18066 * include/grub/i386/loader.h: Likewise.
18067 * include/grub/x86_64/loader.h: Likewise.
18068
18069 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
18070
1f4147aa 180712009-03-21 Bean <bean123ch@gmail.com>
18072
18073 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
18074 instead of stat in mingw environment.
18075
18076 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
18077
18078 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
18079
18080 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
18081 AC_CONFIG_LINKS.
18082
2156d5ba 180832009-03-21 Bean <bean123ch@gmail.com>
18084
18085 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
18086 out of range error.
18087
177b82ca 180882009-03-18 Michel Dänzer <michel@daenzer.net>
18089
18090 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
18091 checking inode flags for EXT4_EXTENTS_FLAG.
18092
14aad807 180932009-03-18 Robert Millan <rmh@aybabtu.com>
18094
18095 * loader/i386/linux.c: Include `<grub/video.h>' and
18096 `<grub/i386/pc/vbe.h>'..
18097 (grub_linux_setup_video): New function. Loosely based on the EFI one.
18098 (grub_linux32_boot): Attempt to configure video settings with
18099 grub_linux_setup_video().
18100 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
18101 to avoid grub_console_fini() which would step out of graphical mode
18102 unconditionally.
18103
8cf83a27 181042009-03-14 Robert Millan <rmh@aybabtu.com>
18105
18106 Fix build on powerpc.
18107 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
18108
40164e75 181092009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
18110
18111 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
18112 background image command.
18113
c58bc32a 181142009-03-12 Colin D Bennett <colin@gibibit.com>
18115
18116 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
18117 (grub_gfxterm_putchar): Extract pairs of identical calls to
18118 draw_cursor out of conditional blocks.
18119
5415144a 181202009-03-11 Pavel Roskin <proski@gnu.org>
18121
18122 * fs/hfs.c (grub_hfs_strncasecmp): New function.
18123 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
18124
6394042e 181252009-03-11 Robert Millan <rmh@aybabtu.com>
18126
18127 * loader/i386/multiboot_elfxx.c
18128 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
18129
b7b50e5f 181302009-03-11 Felix Zielcke <fzielcke@z-51.de>
18131
18132 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
18133 `kern/handler.c'.
18134
1ca7fc96 181352009-03-11 Robert Millan <rmh@aybabtu.com>
18136
18137 * loader/i386/multiboot.c (code_size): New variable.
18138 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 18139 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 18140 4-byte alignment to MBI and others by increasing
7d074e3c 18141 `boot_loader_name_length' appropriately.
1ca7fc96 18142
18143 * loader/i386/multiboot_elfxx.c
18144 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
18145
a83ea1d2 181462009-03-09 Felix Zielcke <fzielcke@z-51.de>
18147
18148 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
18149 `fs/ext2.c'.
18150
aa9f3bff 181512009-03-08 Robert Millan <rmh@aybabtu.com>
18152
18153 Make loader/i386/linux.c usable on i386-pc again.
18154
18155 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
18156 memory to heap.
18157 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
18158 `#error' stanza.
18159
d8b3b60e 181602009-03-07 Bean <bean123ch@gmail.com>
18161
18162 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
18163 allocation.
18164
b362c9e9 181652009-03-06 Robert Millan <rmh@aybabtu.com>
18166
18167 Fix display issue on terminals with screen size other than 80x25
18168 (e.g. gfxterm with resolution higher than 640x480).
18169
18170 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 18171 position relative to the center of the terminal instead of relying
b362c9e9 18172 on a hardcoded offset.
18173
9304eef1 181742009-03-04 Robert Millan <rmh@aybabtu.com>
18175
18176 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
18177 installed.
18178
18179 * Makefile.in (host_kernel): New variable.
18180 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
18181 scripts instead of just the windows one.
18182 * configure.ac: Initialize and AC_SUBST `host_kernel'.
18183
eabc95fb 181842009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 18185
18186 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
18187 `kern/handler.c'.
18188 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18189 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18190 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18192 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18193 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18194
ceb1223c 181952009-03-04 Felix Zielcke <fzielcke@z-51.de>
18196
18197 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
18198 or if there's no space for the disk label and print the partition number on a
18199 invalid magic.
18200
4910684a 182012009-03-04 Felix Zielcke <fzielcke@z-51.de>
18202
18203 * util/misc.c: Include <time.h>.
18204 (grub_millisleep): New function.
18205
7e9ca17a 182062009-03-04 Bean <bean123ch@gmail.com>
18207
18208 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
18209 another option -mno-red-zone.
18210
18211 * commands/handler.c: Change module description.
18212
18213 * kern/handler.c: Add missing space at the end of description line.
18214
18215 * kern/list.c: Likewise.
18216
f501677c 182172009-03-03 Robert Millan <rmh@aybabtu.com>
18218
18219 Move more components to the relocation area, and fix mbi pointer
18220 handling to use the destination rather than the origin (thanks to
18221 Vladimir Serbinenko for spotting).
18222
18223 * loader/i386/multiboot.c (mbi_dest): New variable.
18224 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
18225 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
18226 relocation area.
18227
9902d047 182282009-03-01 Bean <bean123ch@gmail.com>
18229
50fb7002 18230 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 18231 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
18232 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
18233 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
18234
18235 * loader/i386/efi/linux.c (acpi_guid): New variable.
18236 (acpi_guid): Likewise.
18237 (EBDA_SEG_ADDR): New constant.
18238 (LOW_MEM_ADDR): Likewise.
18239 (FAKE_EBDA_SEG): Likewise.
18240 (fake_bios_data): New function.
18241 (grub_linux_boot): Call fake_bios_data.
18242
71b9f361 182432009-03-01 Bean <bean123ch@gmail.com>
18244
18245 * commands/terminal.c: Removed.
18246
18247 * commands/handler.c: New file.
18248
18249 * include/grub/list.h: Likewise.
18250
18251 * include/grub/handler.h: Likewise.
18252
18253 * kern/list.c: Likewise.
18254
18255 * kern/handler.c: Likewise.
18256
18257 * kern/term.h: Include header file <grub/handler.h>.
18258 (grub_term_input): Move next field to the beginning.
18259 (grub_term_output): Likewise.
18260 (grub_term_input_class): New variable.
18261 (grub_term_output_class): Likewise.
18262 (grub_term_register_input): Changed to inline function.
18263 (grub_term_register_output): Likewise.
18264 (grub_term_unregister_input): Likewise.
18265 (grub_term_unregister_output): Likewise.
18266 (grub_term_set_current_input): Likewise.
18267 (grub_term_set_current_output): Likewise.
18268 (grub_term_get_current_input): Likewise.
18269 (grub_term_get_current_output): Likewise.
18270 (grub_term_iterate_input): Removed.
18271 (grub_term_iterate_output): Likewise.
18272
18273 * kern/term.c (grub_term_list_input): Removed.
18274 (grub_term_list_output): Likewise.
18275 (grub_term_input_class): New variable.
18276 (grub_term_output_class): Likewise.
50fb7002 18277 (grub_cur_term_input): Change variable as macro.
71b9f361 18278 (grub_cur_term_output): Likewise.
18279 (grub_term_register_input): Removed.
18280 (grub_term_register_output): Likewise.
18281 (grub_term_unregister_input): Likewise.
18282 (grub_term_unregister_output): Likewise.
18283 (grub_term_set_current_input): Likewise.
18284 (grub_term_set_current_output): Likewise.
18285 (grub_term_iterate_input): Likewise.
18286 (grub_term_iterate_output): Likewise.
18287 (grub_term_get_current_input): Likewise.
18288 (grub_term_get_current_output): Likewise.
18289
18290 * util/grub-editenv.c: Include header file <grub/handler.h>.
18291 (grub_term_get_current_input): Removed.
18292 (grub_term_get_current_output): Likewise.
18293 (grub_term_input_class): New variable.
50fb7002 18294 (grub_term_output_class): Likewise.
71b9f361 18295
18296 * util/grub-fstest.c (grub_term_get_current_input): Removed.
18297 (grub_term_get_current_output): Likewise.
18298 (grub_term_input_class): New variable.
50fb7002 18299 (grub_term_output_class): Likewise.
71b9f361 18300
18301 * util/grub-probe.c (grub_term_get_current_input): Removed.
18302 (grub_term_get_current_output): Likewise.
18303 (grub_term_input_class): New variable.
50fb7002 18304 (grub_term_output_class): Likewise.
71b9f361 18305
18306 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
18307 (grub_term_get_current_output): Likewise.
18308 (grub_term_input_class): New variable.
50fb7002 18309 (grub_term_output_class): Likewise.
71b9f361 18310
18311 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
18312 (terminal_mod_SOURCES): Likewise.
18313 (terminal_mod_CFLAGS): Likewise.
18314 (terminal_mod_LDFLAGS): Likewise.
18315
18316 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
18317 handler.c.
18318 (kernel_img_SOURCES): Add list.c and handler.c.
18319 (kernel_img_HEADERS): Add list.h and handler.h.
18320
18321 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18322 handler.c.
18323 (kernel_mod_SOURCES): Add list.c and handler.c.
18324 (kernel_mod_HEADERS): Add list.h and handler.h.
18325
18326 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
18327 handler.c.
18328 (kernel_elf_SOURCES): Add list.c and handler.c.
18329 (kernel_elf_HEADERS): Add list.h and handler.h.
18330
18331 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18332 handler.c.
18333 (kernel_elf_SOURCES): Add list.c and handler.c.
18334 (kernel_elf_HEADERS): Add list.h and handler.h.
18335
18336 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18337 handler.c.
18338 (kernel_mod_SOURCES): Add list.c and handler.c.
18339 (kernel_mod_HEADERS): Add list.h and handler.h.
18340
18341 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18342 handler.c.
18343 (kernel_elf_SOURCES): Add list.c and handler.c.
18344 (kernel_elf_HEADERS): Add list.h and handler.h.
18345
8a31787f 183462009-02-27 Robert Millan <rmh@aybabtu.com>
18347
18348 Factorize elf32 / elf64 code in Multiboot loader. This will
18349 prevent it from getting out of sync again.
18350
18351 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
18352 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
18353 grub_multiboot_load_elf64): Move from here ...
18354 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
18355 grub_multiboot_load_elf): ... to here (new file).
18356
51cd3dfc 183572009-02-27 Robert Millan <rmh@aybabtu.com>
18358
18359 * util/grub.d/10_linux.in: Rename "single-user mode" to
18360 "recovery mode".
18361
6e8c9c3a 183622009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 Don't leak in SCSI code.
18365 * disk/scsi.c (grub_scsi_close): free `scsi'.
18366
4b6bf4f9 183672009-02-27 Robert Millan <rmh@aybabtu.com>
18368
18369 * loader/i386/pc/multiboot.c: Move from here ...
18370 * loader/i386/multiboot.c: ... to here. Update all users.
18371
b9413424 183722009-02-27 Robert Millan <rmh@aybabtu.com>
18373
18374 Patch from Alexandre Bique <bique.alexandre@gmail.com>
18375 * util/i386/pc/grub-setup.c (setup): Fix directory path.
18376
50fb7002 183772009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 18378
18379 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
18380 b-tree.
18381
8cc50345 183822009-02-27 Robert Millan <rmh@aybabtu.com>
18383
18384 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
18385 `0x' qualifier as 0 when base is specified as parameter).
18386
6e09b8b7 183872009-02-24 Bean <bean123ch@gmail.com>
18388
18389 * configure.ac: Check for -mcmodel=large in x86_64 target.
18390
18391 * include/grub/efi/api.h (efi_call_10): New macro.
18392 (efi_wrap_10): New function.
18393
18394 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
18395 (GRUB_PE32_REL_BASED_HIGH): Likewise.
18396 (GRUB_PE32_REL_BASED_LOW): Likewise.
18397 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
18398 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
18399 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
18400 (GRUB_PE32_REL_BASED_SECTION): Likewise.
18401 (GRUB_PE32_REL_BASED_REL): Likewise.
18402 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
18403 (GRUB_PE32_REL_BASED_DIR64): Likewise.
18404 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
18405
18406 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
18407 issue.
18408
18409 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
18410 (efi_wrap_10): New function.
18411
18412 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
18413
18414 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
18415 MB/MBP model (NV chipset).
18416 (devdata_devs): Add devpath_5 to the list.
18417
18418 * load/i386/efi/linux.c (video_base): Remove variable.
18419 (RGB_MASK): New macro.
18420 (RGB_MAGIC): Likewise.
18421 (LINE_MIN): Likewise.
18422 (LINE_MAX): Likewise.
18423 (FBTEST_STEP): Likewise.
18424 (FBTEST_COUNT): Likewise.
18425 (fb_list): New variable.
18426 (grub_find_video_card): Remove function.
18427 (find_framebuf): New function.
18428 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
18429 line length.
18430
18431 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
18432 problem for x86_64.
18433
74b21bee 184342009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
18435
18436 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
18437
18438 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
18439 coding tool name.
18440
a455f472 184412009-02-22 Robert Millan <rmh@aybabtu.com>
18442
18443 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
18444 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
18445 in our relocation, instead of using it directly from heap. Also
18446 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
18447
6374daf3 184482009-02-21 Robert Millan <rmh@aybabtu.com>
18449
18450 Implement USB keyboard support (based on patch by Marco Gerards)
18451
18452 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
18453 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
18454 (usb_keyboard_mod_LDFLAGS): New variables.
18455
18456 * term/usb_keyboard.c: New file.
18457
8fa4ea70 184582009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18459
18460 Corrected wrong declaration
18461
18462 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
18463
353976ac 184642009-02-14 Christian Franke <franke@computer.org>
18465
18466 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
18467 (grub_lspci_iter): Print class code and programming interface byte.
18468
6aa1169b 184692009-02-14 Christian Franke <franke@computer.org>
18470
18471 * gendistlist.sh: Ignore `.svn' directories.
18472
265372ca 184732009-02-14 Felix Zielcke <fzielcke@z-51.de>
18474
18475 * fs/fat.c: Add 2009 to Copyright line.
18476
9ff516f3 184772009-02-14 Christian Franke <franke@computer.org>
18478
18479 * commands/hdparm.c: New file. Provides `hdparm' command
18480 which sends ATA commands via grub_disk_ata_pass_through ().
18481
18482 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
18483
18484 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
18485 and <grub/cpu/io.h> to include/grub/ata.h.
18486 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
18487 (GRUB_CDROM_SECTOR_SIZE): Remove.
18488 (GRUB_ATA_*): Move to include/grub/ata.h.
18489 (GRUB_ATAPI_*): Likewise.
18490 (enum grub_ata_commands): Likewise.
18491 (enum grub_ata_timeout_milliseconds): Likewise.
18492 (struct grub_ata_device): Likewise.
18493 (grub_ata_regset): Likewise.
18494 (grub_ata_regget): Likewise.
18495 (grub_ata_regset2): Likewise.
18496 (grub_ata_regget2): Likewise.
18497 (grub_ata_check_ready): Likewise.
18498 (grub_ata_wait_not_busy): Remove static, exported in
18499 include/grub/ata.h.
18500 (grub_ata_wait_drq): Likewise.
18501 (grub_ata_pio_read): Likewise.
18502
18503 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
18504 function for hdparm.mod.
18505
18506 * include/grub/ata.h: New file, contains declarations from
18507 disk/ata.c.
18508 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
18509
18510 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
18511 (grub_disk_ata_pass_through): New exported variable.
18512
18513 * kern/disk.c (grub_disk_ata_pass_through): New variable.
18514
772e23da 185152009-02-13 Colin D Bennett <colin@gibibit.com>
18516
18517 Support multiple fallback entries, and provide an API to support
18518 executing default+fallback menu entries. Renamed the `terminal' menu
18519 viewer to `text'.
18520
18521 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
18522 variable declaration.
18523 (grub_menu_execute_callback): New structure declaration.
18524 (grub_menu_execute_callback_t): New typedef.
18525 (grub_menu_execute_with_fallback): New function declaration.
18526 (grub_menu_get_entry): Likewise.
18527 (grub_menu_get_timeout): Likewise.
18528 (grub_menu_set_timeout): Likewise.
18529
18530 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
18531
18532 * normal/menu.c (grub_wait_after_message): Moved to
18533 `normal/menu_text.c'.
18534 (draw_border): Likewise.
18535 (print_message): Likewise.
18536 (print_entry): Likewise.
18537 (print_entries): Likewise.
18538 (grub_menu_init_page): Likewise.
18539 (get_entry_number): Likewise.
18540 (print_timeout): Likewise.
18541 (run_menu): Likewise.
18542 (grub_menu_execute_entry): Likewise.
18543 (show_text_menu): Likewise.
18544 (get_and_remove_first_entry_number): New function.
18545 (grub_menu_execute_with_fallback): Likewise.
18546 (get_entry): Renamed to ...
18547 (grub_menu_get_entry): .. this and made it global.
18548 (get_timeout): Renamed to ...
18549 (grub_menu_get_timeout): ... this and made it global.
18550 (set_timeout): Renamed to ...
18551 (grub_menu_set_timeout): ... this and made it global.
18552 (grub_normal_terminal_menu_viewer): Renamed to ...
18553 (grub_normal_text_menu_viewer): ... this.
18554
18555 * normal/menu_text.c: New file. Extracted text-menu-specific code
18556 from normal/menu.c.
18557
18558 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
18559 (normal_mod_SOURCES): Likewise.
18560
18561 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18562 (normal_mod_SOURCES): Likewise.
18563
18564 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18565 (normal_mod_SOURCES): Likewise.
18566
18567 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
18568 (normal_mod_SOURCES): Likewise.
18569
18570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18571 (normal_mod_SOURCES): Likewise.
18572
18573 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18574 (normal_mod_SOURCES): Likewise.
18575
18576 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18577 (normal_mod_SOURCES): Likewise.
18578
16ac430e 185792009-02-11 Robert Millan <rmh@aybabtu.com>
18580
18581 * util/grub.d/00_header.in: Update old reference to `font' command.
18582
06ff20fc 185832009-02-10 Felix Zielcke <fzielcke@z-51.de>
18584
18585 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
18586
18587 Based on patch from Javier Martín.
18588
96da9407 185892009-02-09 Felix Zielcke <fzielcke@z-51.de>
18590
18591 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 18592 to avoid false positives with FAT.
96da9407 18593 (grub_fstest_SOURCES): Likewise.
18594 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18595 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18597 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18598 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18599 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18600
6dca6fe4 186012009-02-09 Felix Zielcke <fzielcke@z-51.de>
18602
06ff20fc 18603 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 18604 bpb.version_specific.fat12_or_fat16.fstype and
18605 bpb.version_specific.fat32.fstype.
18606
2550c62f 186072009-02-08 Robert Millan <rmh@aybabtu.com>
18608
be110b30 18609 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 18610
56978920 186112009-02-08 Robert Millan <rmh@aybabtu.com>
18612
18613 * Makefile.in (host_os, host_cpu): New variables.
18614 (target_os): Remove. Update all users.
18615
d64399b5 186162009-02-08 Marco Gerards <marco@gnu.org>
18617
18618 * Makefile.in (enable_grub_emu_usb): New variable.
18619 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
18620 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
18621 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
18622 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
18623 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
18624 `usbtest.mod' and `usbms.mod'.
18625 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
18626 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
18627 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
18628 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
18629 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
18630 variables.
18631
18632 * disk/usbms.c: New file.
18633
18634 * include/grub/usb.h: Likewise.
18635
18636 * include/grub/usbtrans.h: Likewise.
18637
18638 * include/grub/usbdesc.h: Likewise.
18639
18640 * bus/usb/usbtrans.c: Likewise.
18641
18642 * bus/usb/ohci.c: Likewise.
18643
18644 * bus/usb/uhci.c: Likewise.
18645
18646 * bus/usb/usbhub.c: Likewise.
18647
18648 * bus/usb/usb.c: Likewise.
18649
18650 * commands/usbtest.c: Likewise.
18651
18652 * util/usb.c: Likewise.
50fb7002 18653
d64399b5 18654 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
18655
18656 * configure.ac: Test for libusb presence.
50fb7002 18657
d64399b5 18658 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
18659
2b40d6bb 186602009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
18661
18662 * kern/mm.c: Add more comments.
18663
73a4ce81 186642009-02-08 Robert Millan <rmh@aybabtu.com>
18665
18666 Patch from Javier Martín.
18667 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
18668 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
18669
f821ce59 186702009-02-08 Robert Millan <rmh@aybabtu.com>
18671
18672 * fs/cpio.c: Split tar functionality to ...
18673 * fs/tar.c: ... here (new file). Update all users.
18674
aebfc4b0 186752009-02-07 Robert Millan <rmh@aybabtu.com>
18676
18677 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
18678 backward-incompatible features.
18679
18680 Based on patch from Javier Martín, with some adjustments.
18681
50fb7002 186822009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 18683
18684 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
18685
0bb5115e 186862009-02-07 Robert Millan <rmh@aybabtu.com>
18687
18688 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
18689 position of `disk/lvm.c' to ensure grub_init_all() always picks it
18690 after the RAID stuff.
18691
38a0f8e7 186922009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
18693
50fb7002 18694 Fixes problem when running vbetest command as reported by
38a0f8e7 18695 Vladimir Serbinenko <phcoder@gmail.com>.
18696
18697 * (grub_vbe_set_video_mode): Fixed problem with text modes.
18698
3143cc1c 186992009-02-04 Felix Zielcke <fzielcke@z-51.de>
18700
18701 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
18702 /dev/md/NpN style mdraid devices.
18703
9cba6fce 187042009-02-03 Felix Zielcke <fzielcke@z-51.de>
18705
18706 * util/unifont2pff.rb: Remove.
18707
e507a2c1 187082009-02-03 Felix Zielcke <fzielcke@z-51.de>
18709
18710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
18711 `#'.
18712
d2c2b4cd 187132009-02-03 Felix Zielcke <fzielcke@z-51.de>
18714
18715 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
18716 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18717 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18718 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18719 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18720 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18721 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18722
b4315fb0 187232009-02-02 Christian Franke <franke@computer.org>
18724
18725 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
18726
de3aa260 187272009-02-01 Felix Zielcke <fzielcke@z-51.de>
18728
7c3ff286 18729 * INSTALL: Note that we now require at least autoconf 2.59 and
18730 that LZO is optional.
de3aa260 18731
825a182b 187322009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18733
18734 Base on patch on bug #24154 created by Tomas Tintera
18735 <trosos@seznam.cz>.
18736
18737 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
18738
a69ef770 187392009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18740
7c3ff286 18741 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 18742 <bero@arklinux.org>.
18743
18744 * normal/parser.y (script_init): Add missing semicolon.
18745
6fa42fa6 187462009-01-31 Colin D Bennett <colin@gibibit.com>
18747
7c3ff286 18748 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 18749 (free_menu_entry_classes): Added.
18750 (grub_normal_menu_addentry): Added class property handling.
18751 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
18752 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
18753
18754 * normal/menu_viewer.c: New file.
18755
18756 * normal/menu.c (run_menu_entry): Renamed to ...
18757 (grub_menu_execute_entry): ... this and made it as global.
18758 (grub_menu_run): Renamed to ...
18759 (show_text_menu): ... this and made it local.
18760 (show_text_menu): Adapt to new function names.
18761 (grub_normal_terminal_menu_viewer): New global variable.
18762
18763 * include/grub/menu.h: New file.
18764
18765 * include/grub/menu_viewer.h: New file.
18766
18767 * include/grub/normal.h: Added include to grub/menu.h.
18768 (grub_menu_entry): Moved to include/grub/menu.h.
18769 (grub_menu_entry_t): Likewise.
18770 (grub_menu): Likewise.
18771 (grub_menu_t): Likewise.
18772 (grub_normal_terminal_menu_viewer): Added.
18773 (grub_menu_execute_entry): Likewise.
18774 (grub_menu_run): Removed.
18775
18776 * DISTLIST: Added include/grub/menu.h.
18777 Added include/grub/menu_viewer.h.
18778 Added normal/menu_viewer.c.
18779
187802009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
18781
18782 * normal/execute.c (grub_script_execute_menuentry): Changed to use
18783 arglist for menutitle arguments.
18784
18785 * normal/main.c (grub_normal_menu_addentry): Likewise.
18786
18787 * normal/parser.y (menuentry): Likewise.
18788
18789 * normal/script.c (grub_script_create_cmdmenu): Likewise.
18790
18791 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
18792 (grub_script_create_cmdmenu): Likewise.
18793
18794 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
18795
18796 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
18797 changes.
18798
18799 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
18800
18801 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
18802
18803 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
18804
18805 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18806
18807 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18808
18809 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18810
56192c23 188112009-01-30 Christian Franke <franke@computer.org>
18812
18813 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
18814 in option help text.
18815
d72521b3 188162009-01-27 Pavel Roskin <proski@gnu.org>
18817
18818 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
18819
994b5e84 188202009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18821
18822 * commands/lsmmap.c: Add include to grub/machine/memory.h.
18823
18824 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
18825
18826 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
18827 unregister function.
18828
6a7eab2c 188292009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18830
18831 * disk/scsi.c (grub_scsi_read): Fix sign problem.
18832
18833 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
18834
18835 * util/grub-mkfont.c (usage): Fix typo.
18836
18837 * util/elf/grub-mkimage.c (load_modules): Fix warning.
18838
1806b56e 188392009-01-26 Daniel Mierswa <impulze@impulze.org>
18840
3fb18f09 18841 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
18842
336e1fb9 18843 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
18844
1806b56e 18845 * kern/misc.c (grub_strcasecmp): New function.
18846 (grub_strcasecmp): Use grub_size_t instead of int for length.
18847 Fix return value.
18848 * include/grub/misc.h: Update function prototypes.
18849
580b2a0f 188502009-01-26 Robert Millan <rmh@aybabtu.com>
18851
18852 * configure.ac: Fix cross-compilation check.
ef257b36 18853
d31c24f1 188542009-01-22 Christian Franke <franke@computer.org>
18855
18856 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
18857 (precision) digit string. Allow `.format2' without `format1' (width).
18858 Limit input chars for `%s' output to `format2' if specified. This is
18859 compatible with standard printf ().
18860
3138b44c 188612009-01-22 Christian Franke <franke@computer.org>
18862
18863 * disk/ata.c (grub_ata_wait_status): Replace by ...
18864 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
18865 other status bits may be invalid while BSY is asserted.
18866 (grub_ata_check_ready): New function.
18867 (grub_ata_cmd): Removed.
18868 (grub_ata_wait_drq): New function.
18869 (grub_ata_strncpy): Remove inline.
18870 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
18871 and error check now done by grub_ata_wait_drq ().
18872 (grub_ata_pio_write): Likewise.
18873 (grub_atapi_identify): Set DEV before check for !BSY. Use
18874 grub_ata_wait_drq () to wait for data.
18875 (grub_ata_device_initialize): Add status register check to
18876 detect missing SATA slave devices. Add debug messages.
18877 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
18878 (grub_atapi_packet): Set DEV before check for !BSY. Replace
18879 transfer loop by grub_ata_pio_write ().
18880 (grub_ata_identify): Set DEV before check for !BSY. Use
18881 grub_ata_wait_drq () to wait for data.
ef257b36 18882 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 18883 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
18884 read/write in one loop. Fix invalid command on write. Fix incomplete
18885 command on (size % batch) == 0. Add missing error check after write of
18886 last block. Add debug messages.
18887 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
18888
59a64ef6 188892009-01-19 Christian Franke <franke@computer.org>
18890
18891 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
18892 (GRUB_ATAPI_IREASON_*): Likewise.
18893 (grub_ata_pio_write): Fix timeout error return.
18894 (grub_atapi_identify): Add grub_ata_wait () after cmd.
18895 (grub_atapi_wait_drq): New function.
18896 (grub_atapi_packet): New parameter `size'.
18897 Use grub_atapi_wait_drq () and direct write instead of
18898 grub_ata_pio_write ().
18899 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
18900 reads the number of bytes requested by the device for each DRQ
18901 assertion.
18902 (grub_atapi_write): Remove old implementation, return not
18903 implemented instead.
18904
1cfe20b3 189052009-01-19 Christian Franke <franke@computer.org>
18906
18907 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
18908 of 512 to calculate data size.
18909 (grub_scsi_read12): Likewise.
18910 (grub_scsi_write10): Likewise.
18911 (grub_scsi_write12): Likewise.
18912 (grub_scsi_read): Adjust size according to blocksize.
18913 Add checks for invalid blocksize and unaligned transfer.
18914
bee5fe5d 189152009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
18916
18917 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
18918
ef257b36 18919 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 18920 width glyphs.
18921
3e643f8c 189222009-01-19 Robert Millan <rmh@aybabtu.com>
18923
18924 * config.guess: Update to latest version from config git.
18925 * config.sub: Likewise.
18926
4fa80998 189272009-01-17 Felix Zielcke <fzielcke@z-51.de>
18928
18929 * Makefile.in: Change font compilation to use new grub-mkfont instead
18930 of java version.
18931
18932 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
18933 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
18934 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18935 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18936 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
18937 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
18938 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
18939 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
18940 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
18941
7086085b 189422009-01-16 Christian Franke <franke@computer.org>
18943
18944 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
18945 (enum grub_ata_timeout_milliseconds): New enum.
18946 (grub_ata_wait_status): Add parameter milliseconds.
18947 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
18948 recovery from timed-out commands.
18949 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
18950 return grub_errno instead of REG_ERROR.
18951 (grub_ata_pio_write): Add parameter milliseconds.
18952 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
18953 Pass milliseconds to grub_ata_wait_status () and
18954 grub_ata_pio_read ().
18955 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
18956 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
18957 grub_ata_wait_status (). Fix IDENTIFY timeout check.
18958 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
18959 It is not suitable for device detection, because DEV bit is ignored,
18960 the command may run too long, and not all devices set the signature
18961 properly.
18962 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
18963 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
18964 Fix device selection, DEV bit must be set first to address the registers
18965 of the correct device.
18966 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
18967 grub_ata_pio_read/write ().
18968 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
18969 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
18970
4a412913 189712009-01-13 Carles Pina i Estany <carles@pina.cat>
18972
18973 * util/grub-editenv.c (main): Use fseeko(), not fseek().
18974
7795c55e 189752009-01-13 Bean <bean123ch@gmail.com>
d913988c 18976
18977 * util/grub-mkfont.c (write_font): forget to remove some debug code.
18978
7795c55e 189792009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 18980
18981 * Makefile.in: (enable_grub_mkfont): New variable.
18982 (freetype_cflags): Likewise.
18983 (freetype_libs): Likewise.
18984
18985 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
18986 (grub_mkfont_SOURCES): New variable.
18987 (grub_mkfont_CFLAGS): Likewise.
18988 (grub_mkfont_LDFLAGS): Likewise.
18989
18990 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
18991 library if `--enable-grub-mkfont' is requested.
18992 (enable_grub_mkfont): New variable.
18993 (freetype_cflags): Likewise.
18994 (freetype_libs): Likewise.
18995
18996 * util/grub-mkfont.c: New file.
18997
093af1fe 189982009-01-12 Christian Franke <franke@computer.org>
18999
19000 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
19001 mode check. Fix setting of compat_use[].
19002
f36cc108 190032009-01-10 Robert Millan <rmh@aybabtu.com>
19004
19005 Update a few copyright years which we forgot to do in 2008 (only for
19006 files whose changes made in 2008 were copyright-significant)
19007
19008 * Makefile.in: Add 2008 to Copyright line.
19009 * disk/ieee1275/ofdisk.c: Likewise.
19010 * disk/efi/efidisk.c: Likewise.
19011 * kern/dl.c: Likewise.
19012 * kern/sparc64/ieee1275/init.c: Likewise.
19013 * kern/mm.c: Likewise.
19014 * kern/efi/mm.c: Likewise.
19015 * boot/i386/pc/boot.S: Likewise.
19016 * genfslist.sh: Likewise.
19017 * fs/iso9660.c: Likewise.
19018 * fs/hfs.c: Likewise.
19019 * fs/jfs.c: Likewise.
19020 * fs/minix.c: Likewise.
19021 * fs/ufs.c: Likewise.
19022 * gensymlist.sh.in: Likewise.
19023 * genkernsyms.sh.in: Likewise.
19024 * include/grub/misc.h: Likewise.
19025 * include/grub/types.h: Likewise.
19026 * include/grub/symbol.h: Likewise.
19027 * include/grub/elf.h: Likewise.
19028 * include/grub/kernel.h: Likewise.
19029 * include/grub/disk.h: Likewise.
19030 * include/grub/dl.h: Likewise.
19031 * include/grub/i386/linux.h: Likewise.
19032 * include/grub/i386/pc/biosdisk.h: Likewise.
19033 * include/grub/efi/api.h: Likewise.
19034 * include/grub/efi/pe32.h: Likewise.
19035 * include/grub/util/misc.h: Likewise.
19036 * normal/execute.c: Likewise.
19037 * normal/arg.c: Likewise.
19038 * normal/completion.c: Likewise.
19039 * normal/lexer.c: Likewise.
19040 * normal/parser.y: Likewise.
19041 * normal/misc.c: Likewise.
19042 * commands/i386/pc/vbeinfo.c: Likewise.
19043 * commands/hexdump.c: Likewise.
19044 * commands/terminal.c: Likewise.
19045 * commands/ls.c: Likewise.
19046 * commands/help.c: Likewise.
19047 * partmap/pc.c: Likewise.
19048 * loader/efi/chainloader.c: Likewise.
19049 * loader/multiboot_loader.c: Likewise.
19050 * loader/i386/pc/multiboot2.c: Likewise.
19051 * term/efi/console.c: Likewise.
19052 * term/i386/pc/serial.c: Likewise.
19053 * util/lvm.c: Likewise.
19054 * util/console.c: Likewise.
19055 * util/i386/efi/grub-mkimage.c: Likewise.
19056 * util/raid.c: Likewise.
19057
7f02114b 190582009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
19059
19060 * commands/videotest.c: Removed include to grub/machine/memory.h.
19061
19062 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
19063 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
19064 (video_mod_SOURCES): Removed.
19065 (video_mod_CFLAGS): Likewise.
19066 (video_mod_LDFLAGS): Likewise.
19067 (gfxterm_mod_SOURCES): Likewise.
19068 (gfxterm_mod_CFLAGS): Likewise.
19069 (gfxterm_mod_LDFLAGS): Likewise.
19070 (videotest_mod_SOURCES): Likewise.
19071 (videotest_mod_CFLAGS): Likewise.
19072 (videotest_mod_LDFLAGS): Likewise.
19073 (bitmap_mod_SOURCES): Likewise.
19074 (bitmap_mod_CFLAGS): Likewise.
19075 (bitmap_mod_LDFLAGS): Likewise.
19076 (tga_mod_SOURCES): Likewise.
19077 (tga_mod_CFLAGS): Likewise.
19078 (tga_mod_LDFLAGS): Likewise.
19079 (jpeg_mod_SOURCES): Likewise.
19080 (jpeg_mod_CFLAGS): Likewise.
19081 (jpeg_mod_LDFLAGS): Likewise.
19082 (png_mod_SOURCES): Likewise.
19083 (png_mod_CFLAGS): Likewise.
19084 (png_mod_LDFLAGS): Likewise.
19085
19086 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
19087 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
19088 (video_mod_SOURCES): Added.
19089 (video_mod_CFLAGS): Likewise.
19090 (video_mod_LDFLAGS): Likewise.
19091 (videotest_mod_SOURCES): Likewise.
19092 (videotest_mod_CFLAGS): Likewise.
19093 (videotest_mod_LDFLAGS): Likewise.
19094 (bitmap_mod_SOURCES): Likewise.
19095 (bitmap_mod_CFLAGS): Likewise.
19096 (bitmap_mod_LDFLAGS): Likewise.
19097 (tga_mod_SOURCES): Likewise.
19098 (tga_mod_CFLAGS): Likewise.
19099 (tga_mod_LDFLAGS): Likewise.
19100 (jpeg_mod_SOURCES): Likewise.
19101 (jpeg_mod_CFLAGS): Likewise.
19102 (jpeg_mod_LDFLAGS): Likewise.
19103 (png_mod_SOURCES): Likewise.
19104 (png_mod_CFLAGS): Likewise.
19105 (png_mod_LDFLAGS): Likewise.
19106 (gfxterm_mod_SOURCES): Likewise.
19107 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 19108 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 19109
19110 * term/gfxterm.c: Removed include to grub/machine/memory.h,
19111 grub/machine/console.h.
19112
644fff97 191132009-01-04 Jerone Young <jerone@gmail.com>
19114
19115 Make on screen instructions clearer
19116
19117 Based on patch created by Jidanni <jidanni@jidanni.org>
19118
19119 * normal/menu.c: print clearer instructions on the screen
19120
1e901a75 191212009-01-02 Colin D Bennett <colin@gibibit.com>
19122
19123 New font engine.
34c44600 19124
1e901a75 19125 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
19126 build system and fixed gfxterm.c to work with different sized fonts.
19127
19128 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 19129
1e901a75 19130 * configure: Re-generated.
34c44600 19131
1e901a75 19132 * DISTLIST: Removed font/manager.c.
19133 Added font/font.c.
19134 Added font/font_cmd.c.
34c44600 19135
1e901a75 19136 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
19137 compilation.
34c44600 19138
1e901a75 19139 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 19140
19141 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 19142
19143 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 19144
1e901a75 19145 * normal/menu.c: Likewise.
34c44600 19146
1e901a75 19147 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
19148 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 19149
1e901a75 19150 * include/grub/font.h: Replaced with new file.
34c44600 19151
1e901a75 19152 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
19153 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
19154 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
19155 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
19156 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 19157 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 19158 fg_red, fg_green, fg_blue, fg_alpha.
19159 (grub_video_adapter): Removed blit_glyph.
34c44600 19160 (grub_video_blit_glyph): Removed.
19161
1e901a75 19162 * font/manager.c: Removed file.
34c44600 19163
19164 * font/font.c: New file.
19165
1e901a75 19166 * font/font_cmd.c: Likewise.
34c44600 19167
1e901a75 19168 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 19169
1e901a75 19170 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
19171 (grub_video_vbe_map_rgba): Likewise.
19172 (grub_video_vbe_unmap_color_int): Likewise.
19173 (grub_video_vbe_blit_glyph): Removed.
19174 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 19175
1e901a75 19176 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
19177 (get_pixel): Likewise.
34c44600 19178 (set_pixel): Likewise.
19179
1e901a75 19180 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 19181
1e901a75 19182 * term/gfxterm.c: Adapted to new font engine.
34c44600 19183
1e901a75 19184 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 19185
1e901a75 19186 * term/i386/pc/vga.c: Likewise.
34c44600 19187
1e901a75 19188 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 19189
1e901a75 19190 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 19191
1e901a75 19192 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19193
1e901a75 19194 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19195
1e901a75 19196 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 19197
1e901a75 19198 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 19199
1e901a75 19200 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 19201
1e901a75 19202 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 19203
1e901a75 19204 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19205
19206 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 19207
1e901a75 19208 * util/grub-mkconfig_lib.in: Changed font extension.
19209
278922e8 192102008-12-28 Felix Zielcke <fzielcke@z-51.de>
19211
19212 * util/getroot.c (grub_util_get_grub_dev): Add support for
19213 /dev/md/dNNpNN style partitionable mdraid devices.
19214
3ced05cf 192152008-12-12 Alex Smith <alex@alex-smith.me.uk>
19216
19217 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
19218 at a time limit of the PXE TFTP API correctly.
19219 (grub_pxefs_close): Likewise.
19220
7fd0ee30 192212008-11-29 Robert Millan <rmh@aybabtu.com>
19222
34c44600 19223 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 19224 grub_ata_device_initialize() calls.
19225
34c44600 192262008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 19227
19228 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
19229 iteration failed.
19230 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
19231
89313780 192322008-11-28 Robert Millan <rmh@aybabtu.com>
19233
19234 Fix build on powerpc-ieee1275. Based on patch created by
19235 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
19236 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19237 `kern/ieee1275/mmap.c'.
19238 * include/grub/powerpc/ieee1275/memory.h: New file.
19239
15257703 19240 Provide grub-install on coreboot.
19241 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
19242 (grub_install_SOURCES): New variable.
19243 * util/i386/pc/grub-install.in: Add a few condition checks to make it
19244 usable on coreboot.
19245
9fc5388a 192462008-11-25 Felix Zielcke <fzielcke@z-51.de>
19247
19248 * util/grub-fstest.c (grub_term_get_current_input): Change return type
19249 to `grub_term_input_t'.
19250 (grub_term_get_current_output): Change return type to
19251 `grub_term_output_t'.
19252
bc3a2f31 192532008-11-22 Robert Millan <rmh@aybabtu.com>
19254
34c44600 19255 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 19256 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
19257 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
19258 grub_vga_text_cls().
19259
80fc88f2 19260 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 19261 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 19262
cbf36fd3 19263 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
19264 to 0x200000 (avoids trouble with some OFW implementations, and matches
19265 with the one in Yaboot).
19266 Reported by Manoel Abranches
19267
73e8e268 192682008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 19269
19270 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
19271 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
19272
73e8e268 19273 * util/grub-mkconfig_lib.in (grub_warn): New function.
19274 (convert_system_path_to_grub_path): Use grub_warn() when issuing
19275 warnings, to obtain consistent formatting.
19276 * util/grub.d/00_header.in: Likewise.
19277 * util/update-grub_lib.in: Likewise.
19278
e94045a1 19279 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 19280 Move comment text to `#error' stanza.
e94045a1 19281
79d29fd7 19282 Harmonize ieee1275's grub_available_iterate() with the generic
19283 grub_machine_mmap_iterate() interface (fixes a recently-introduced
19284 build problem on i386-ieee1275):
19285 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
19286 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
19287 parameter `type'. Update all users of this function.
19288 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19289 `kern/ieee1275/mmap.c'.
19290 * kern/ieee1275/init.c
19291 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
19292 with ...
19293 (grub_machine_mmap_iterate): ... this.
19294 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
19295 return type to `grub_err_t'. Update all implementations of this
19296 function prototype.
19297 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
19298 Likewise.
19299
60d6b16e 19300 Add `lsmmap' command (lists firmware-provided memory map):
19301 * commands/lsmmap.c: New file.
19302 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
19303 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
19304 variables.
19305 * conf/powerpc-ieee1275.rmk: Likewise.
19306 * conf/i386-coreboot.rmk: Likewise.
19307 * conf/i386-ieee1275.rmk: Likewise.
19308
ebaaf49b 193092008-11-19 Robert Millan <rmh@aybabtu.com>
19310
19311 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 19312 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
19313 constraints to initrd allocation (based on code from
19314 loader/i386/pc/linux.c). Without them, initrd was allocated too high
19315 for Linux to find it.
ebaaf49b 19316
dfab719f 193172008-11-14 Robert Millan <rmh@aybabtu.com>
19318
19319 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
19320 order to cope with duplicate slashes.
19321
10fc3eb9 193222008-11-14 Robert Millan <rmh@aybabtu.com>
19323
19324 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
19325 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
19326 don't want to mess with lower memory, because it is used in the Linux
19327 loader.
19328
19329 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 19330 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 19331 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
19332 is in our heap (probably as a result of it being corrupted during
2f2a3442 19333 decompression). Add #error instance with comment to explain why this
19334 loader isn't currently usable on PC/BIOS.
10fc3eb9 19335
e2e07847 193362008-11-14 Robert Millan <rmh@aybabtu.com>
19337
19338 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 19339 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 19340
fe8e8d69 193412008-11-12 Robert Millan <rmh@aybabtu.com>
19342
19343 Make loader/i386/linux.c buildable on i386-pc (although disabled).
19344
19345 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
19346 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
19347 from here ...
19348 * include/grub/i386/pc/memory.h: ... to here.
19349
976b07d0 193502008-11-12 Robert Millan <rmh@aybabtu.com>
19351
19352 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
19353 split).
19354
19355 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
19356 (grub_console_cur_color, grub_console_real_putchar)
19357 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19358 (grub_console_setcolorstate, grub_console_setcolor)
19359 (grub_console_getcolor): Move from here ...
19360 * include/grub/i386/vga_common.h: ... to here (new file).
19361
19362 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
19363 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
19364 `<grub/i386/io.h>'.
19365 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
19366 `<grub/i386/vga_common.h>'.
19367
76679cd3 193682008-11-12 Robert Millan <rmh@aybabtu.com>
19369
19370 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
19371 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
19372 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
19373 variables.
19374 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19375 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
19376
19377 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
19378 grub_console_init() with call to grub_vga_text_init().
19379 (grub_machine_fini): Replace call to
19380 grub_console_fini() with call to grub_vga_text_fini() and
19381 grub_at_keyboard_fini().
19382
19383 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
19384 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19385 (grub_console_setcolorstate, grub_console_setcolor)
19386 (grub_console_getcolor): New function prototypes.
19387
19388 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
19389 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
19390 (grub_vga_text_setcursor): Static-ize.
19391 (grub_vga_text_term): New structure.
19392 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
19393
19394 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
19395 (grub_console_cur_color, grub_console_standard_color)
19396 (grub_console_normal_color, grub_console_highlight_color)
19397 (map_char, grub_console_putchar, grub_console_getcharwidth)
19398 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
19399 (grub_console_getcolor): Move from here ...
19400 * term/i386/vga_common.c: ... to here (same function names).
19401
95b841d3 194022008-11-12 Robert Millan <rmh@aybabtu.com>
19403
19404 Use newly-added Multiboot support in coreboot.
19405
19406 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19407 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
19408
19409 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
19410 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
19411 (codestart): Store the MBI in `startup_multiboot_info' when we're
19412 being loaded using Multiboot.
19413
19414 * kern/i386/coreboot/init.c (grub_machine_init): Move
19415 grub_at_keyboard_init() call to beginning of function (useful for
19416 debugging). Call grub_machine_mmap_init() before attempting to use
19417 grub_machine_mmap_iterate().
19418 (grub_lower_mem, grub_upper_mem): Move from here ...
19419 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
19420 here (new file).
19421
19422 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
19423 function prototype.
19424
761ca975 194252008-11-12 Robert Millan <rmh@aybabtu.com>
19426
19427 Fix a regression introduced by the at_keyboard.mod split. Because
19428 some terminals are default on some platforms and non-default on
19429 others, the first terminal being registered determines which is
19430 going to be default.
19431
19432 * kern/term.c (grub_term_register_input): If this is the first
19433 terminal being registered, set it as the current one.
19434 (grub_term_register_output): Likewise.
19435
19436 * term/efi/console.c (grub_console_init): Do not call
19437 grub_term_set_current_output() or grub_term_set_current_input().
19438 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
19439 * term/i386/pc/console.c (grub_console_init): Likewise.
19440 (grub_console_fini): Do not call grub_term_set_current_input()
19441 (but leave grub_term_set_current_output() to restore text mode).
19442
6c529df7 194432008-11-10 Robert Millan <rmh@aybabtu.com>
19444
19445 * util/grub.d/00_header.in: Add backward compatibility check for
19446 versions of terminal.mod that don't understand `terminal_input' or
19447 `terminal_output'.
19448
132e4113 194492008-11-09 Robert Millan <rmh@aybabtu.com>
19450
19451 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
19452 `terminal_input' / `terminal_output', not `terminal'.
19453
ac293d50 194542008-11-08 Robert Millan <rmh@aybabtu.com>
19455
19456 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 19457 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 19458
0025933a 194592008-11-08 Robert Millan <rmh@aybabtu.com>
19460
19461 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 19462 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 19463 members. Update all users.
19464 * util/console.c (grub_ncurses_term): Split in ...
19465 (grub_ncurses_term_input): ... this, and ...
19466 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 19467 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 19468
37c86336 194692008-11-08 Robert Millan <rmh@aybabtu.com>
19470
19471 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
19472 (PKGDATA): Add $(pkgdata_SRCDIR).
19473 (pkglib_BUILDDIR): New variable.
19474 (pkgdata_SRCDIR): New variable.
19475 (build_env.mk): New target.
19476 (include_DATA): New variable.
19477 (install-local): Install $(include_DATA) files in $(includedir).
19478
b6c15a2d 194792008-11-07 Pavel Roskin <proski@gnu.org>
19480
d99d46f1 19481 * gendistlist.sh: Use C locale for sorting to ensure consistent
19482 output on all systems.
19483
b6c15a2d 19484 * util/grub.d/00_header.in: Remove incorrect space before
19485 "serial".
19486
c32ee8c9 194872008-11-07 Robert Millan <rmh@aybabtu.com>
19488
19489 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
19490 per specification.
19491 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
19492 * loader/multiboot_loader.c (find_multi_boot2_header): New function
19493 (based on find_multi_boot1_header).
19494 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
19495 using find_multi_boot2_header(), and abort if neither Multiboot or
19496 Multiboot headers were found.
19497
651c29b7 194982008-11-07 Robert Millan <rmh@aybabtu.com>
19499
19500 Modularize at_keyboard.mod:
19501
19502 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
19503 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19504 (at_keyboard_mod_LDFLAGS): New variables.
19505
19506 Actual terminal split:
19507
19508 * include/grub/term.h (struct grub_term): Split in ...
19509 (struct grub_term_input): ... this, and ...
19510 (struct grub_term_output): ... this. Update all users.
19511 (grub_term_set_current): Split in ...
19512 (grub_term_set_current_input): ... this, and ...
19513 (grub_term_set_current_output): ... this.
19514 (grub_term_get_current): Split in ...
19515 (grub_term_get_current_input): ... this, and ...
19516 (grub_term_get_current_output): ... this.
19517 (grub_term_register): Split in ...
19518 (grub_term_register_input): ... this, and ...
19519 (grub_term_register_output): ... this.
19520 (grub_term_unregister): Split in ...
19521 (grub_term_unregister_input): ... this, and ...
19522 (grub_term_unregister_output): ... this.
19523 (grub_term_iterate): Split in ...
19524 (grub_term_iterate_input): ... this, and ...
19525 (grub_term_iterate_output): ... this.
19526
19527 * kern/term.c (grub_term_list): Split in ...
19528 (grub_term_list_input): ... this, and ...
19529 (grub_term_list_output): ... this. Update all users.
19530 (grub_cur_term): Split in ...
19531 (grub_cur_term_input): ... this, and ...
19532 (grub_cur_term_output): ... this. Update all users.
19533 (grub_term_set_current): Split in ...
19534 (grub_term_set_current_input): ... this, and ...
19535 (grub_term_set_current_output): ... this.
19536 (grub_term_get_current): Split in ...
19537 (grub_term_get_current_input): ... this, and ...
19538 (grub_term_get_current_output): ... this.
19539 (grub_term_register): Split in ...
19540 (grub_term_register_input): ... this, and ...
19541 (grub_term_register_output): ... this.
19542 (grub_term_unregister): Split in ...
19543 (grub_term_unregister_input): ... this, and ...
19544 (grub_term_unregister_output): ... this.
19545 (grub_term_iterate): Split in ...
19546 (grub_term_iterate_input): ... this, and ...
19547 (grub_term_iterate_output): ... this.
19548
19549 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
19550 a check for input and one for output (and only attempt to get keys
19551 from user when input works).
19552
19553 * util/grub-probe.c (grub_term_get_current): Split in ...
19554 (grub_term_get_current_input): ... this, and ...
19555 (grub_term_get_current_output): ... this.
19556 * util/grub-fstest.c: Likewise.
19557 * util/i386/pc/grub-setup.c: Likewise.
19558 * util/grub-editenv.c: Likewise.
19559
19560 Portability adjustments:
19561
19562 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
19563 `term/i386/pc/at_keyboard.c'.
19564 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
19565 grub_keyboard_controller_init() (now handled by terminal .init).
19566 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
19567 grub_at_keyboard_init().
19568 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
19569 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
19570 at_keyboard.mod via input terminal interface).
19571 * include/grub/i386/coreboot/console.h: Convert into a stub for
19572 `<grub/i386/pc/console.h>'.
19573
19574 Migrate full terminals to new API:
19575
19576 * term/efi/console.c (grub_console_term): Split into ...
19577 (grub_console_term_input): ... this, and ...
19578 (grub_console_term_output): ... this. Update all users.
19579 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
19580 (grub_ofconsole_init): Split into ...
19581 (grub_ofconsole_init_input): ... this, and ...
19582 (grub_ofconsole_init_output): ... this.
19583 (grub_ofconsole_term): Split into ...
19584 (grub_ofconsole_term_input): ... this, and ...
19585 (grub_ofconsole_term_output): ... this. Update all users.
19586 * term/i386/pc/serial.c (grub_serial_term): Split into ...
19587 (grub_serial_term_input): ... this, and ...
19588 (grub_serial_term_output): ... this. Update all users.
19589 * term/i386/pc/console.c (grub_console_term): Split into ...
19590 (grub_console_term_input): ... this, and ...
19591 (grub_console_term_output): ... this. Update all users.
19592 (grub_console_term_input): Only enable it on PC/BIOS platform.
19593 (grub_console_init): Remove grub_keyboard_controller_init() call.
19594
19595 Migrate input terminals to new API:
19596
19597 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
19598 `i386' and `i386/pc' to enable build on x86_64 (this driver is
19599 i386-specific anyway).
19600 (grub_console_checkkey): Rename to ...
19601 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
19602 users.
19603 (grub_keyboard_controller_orig): New variable.
19604 (grub_console_getkey): Rename to ...
19605 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
19606 users.
19607 (grub_keyboard_controller_init): Static-ize. Save original
19608 controller value so that it can be restored ...
19609 (grub_keyboard_controller_fini): ... here (new function).
19610 (grub_at_keyboard_term): New structure.
19611 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
19612 functions.
19613
19614 Migrate output terminals to new API:
19615
19616 * term/i386/pc/vga.c (grub_vga_term): Change type to
19617 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19618 members. Update all users.
19619 * term/gfxterm.c (grub_video_term): Change type to
19620 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19621 members. Update all users.
19622 * include/grub/i386/pc/console.h (grub_console_checkkey)
19623 (grub_console_getkey): Do not export (no longer needed by gfxterm,
19624 etc).
19625
19626 Migrate `terminal' command and userland tools to new API:
19627
19628 * commands/terminal.c (grub_cmd_terminal): Split into ...
19629 (grub_cmd_terminal_input): ... this, and ...
19630 (grub_cmd_terminal_output): ... this.
19631 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
19632 `terminal_input' and `terminal_output'.
19633 * util/grub.d/00_header.in: Adjust `terminal' calls to new
19634 `terminal_input' / `terminal_output' API.
19635 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
19636 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
19637 provided ${GRUB_TERMINAL}, convert it).
19638
96e5d876 196392008-11-04 Robert Millan <rmh@aybabtu.com>
19640
19641 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
19642 for FreeBSD.
19643 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
19644
556f3775 196452008-11-03 Bean <bean123ch@gmail.com>
19646
19647 * kern/elf.c (grub_elf32_load): Revert to previous code.
19648 (grub_elf64_load): Likewise.
19649
19650 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
19651
926b9823 196522008-11-01 Robert Millan <rmh@aybabtu.com>
19653
19654 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
19655 (TARGET_CPPFLAGS): Likewise.
19656 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
19657
1432e958 196582008-11-01 Carles Pina i Estany <carles@pina.cat>
19659
19660 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
19661
dba3f844 196622008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 19663
19664 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
19665 addition of objects until the code is not going to be able to fail.
19666
dba3f844 196672008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 19668
19669 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
19670 (add a missing NULL check, and correct them by moving the pointer
19671 operations after the actual check).
19672
7ab28c21 196732008-10-29 Robert Millan <rmh@aybabtu.com>
19674
19675 * util/i386/pc/grub-install.in: Handle empty string as output from
19676 make_system_path_relative_to_its_root().
19677
1b7748eb 196782008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
19679
19680 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
19681 circular metadata worst case scenario. If the metadata is circular
19682 then copy the wrap in place.
19683 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
19684 project lib/format_text/layout.h
19685 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
19686
c9618ab2 196872008-10-03 Felix Zielcke <fzielcke@z-51.de>
19688
7a36edca 19689 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 19690
bf981c62 196912008-10-03 Felix Zielcke <fzielcke@z-51.de>
19692
19693 * util/update-grub_lib.in: Mention filename in warning message.
19694
6d994591 196952008-09-29 Felix Zielcke <fzielcke@z-51.de>
19696
19697 * NEWS: Update for rename of update-grub to grub-mkconfig.
19698
18ade780 196992008-09-29 Felix Zielcke <fzielcke@z-51.de>
19700
19701 * util/update-grub_lib.in: Copy to ...
19702 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 19703 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 19704 * util/update-grub.in: Rename to ...
19705 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
19706 option. Add `--output' option to allow users to specify the generated
19707 configuration file. Default to stdout.
19708 (update_grub_dir): Rename to ...
19709 (grub_mkconfig_dir): ... this.
19710 (grub_cfg): Default to an empty string.
19711 * conf/common.rmk (update-grub): Rename to ...
19712 (grub-mkconfig): ... this.
19713 (update-grub_lib): Copy to ...
19714 (grub-mkconfig_lib): ... this.
19715 (update-grub_SCRIPTS): Copy to ...
19716 (grub-mkconfig_SCRIPTS): ... this. Update all users.
19717 (update-grub_DATA): Rename to ...
19718 (grub-mkconfig_DATA): ... this.
19719
556ce6ac 197202008-09-28 Robert Millan <rmh@aybabtu.com>
19721
19722 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
19723 to `modified'. Add the real `created' field.
19724 (grub_iso9660_uuid): Use `modified' rather than `created' for
19725 constructing the UUID.
19726
197272008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 19728
19729 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
19730 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
19731
92274e85 197322008-09-28 Bean <bean123ch@gmail.com>
19733
19734 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
19735 Thanks to Christian Franke for finding this bug.
19736
add6f17a 197372008-09-25 Robert Millan <rmh@aybabtu.com>
19738
19739 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
19740 instances of grub_util_get_disk_name() (see previous commit).
19741
d2a367b8 197422008-09-25 Robert Millan <rmh@aybabtu.com>
19743
19744 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
19745 `util/i386/get_disk_name.c'.
19746 * conf/i386-efi.rmk: Likewise.
19747 * conf/x86_64-efi.rmk: Likewise.
19748 * conf/i386-coreboot.rmk: Likewise.
19749 * conf/i386-ieee1275.rmk: Likewise.
19750 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
19751 `util/ieee1275/get_disk_name.c'.
19752 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
19753 * util/ieee1275/get_disk_name.c: Remove file.
19754 * util/i386/get_disk_name.c: Remove file.
19755 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
19756 "hd%d" for device.map entries, rather than using
19757 grub_util_get_disk_name().
19758
81a06771 197592008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 19760
19761 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
19762 warning.
19763 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
19764
5a004279 197652008-09-24 Carles Pina i Estany <carles@pina.cat>
19766
19767 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
19768 Changed to 0x5100.
19769 (GRUB_TERM_PPAGE): Changed to 0x4900.
19770
397093d3 197712008-09-24 Robert Millan <rmh@aybabtu.com>
19772
19773 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
19774 macros (they were i386-pc specific).
19775 * include/grub/sparc64/ieee1275/console.h: Likewise.
19776 * include/grub/efi/console.h: Likewise.
19777
a91b6c7c 197782008-09-22 Bean <bean123ch@gmail.com>
19779
19780 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
19781 resident and in attribute list.
19782
19783 * include/grub/ntfs.h (BMP_LEN): Removed.
19784
c40fd116 197852008-09-22 Bean <bean123ch@gmail.com>
19786
81a06771 19787 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 19788 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
19789
19790 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
19791 error occurs, as grub_disk_open will call grub_disk_close, which will
19792 call p->close (scsi).
19793
81a06771 197942008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 19795
19796 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
19797 (AC_PREREQ): Bumped to 2.59.
19798 (AC_TRY_COMPILE): Replace obsolete macro with ...
19799 (AC_COMPILE_IFELSE): ... this.
19800 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
19801 (AC_LINK_IFELSE): ... this.
19802
5dc43410 198032008-09-21 Felix Zielcke <fzielcke@z-51.de>
19804
19805 * autogen.sh: Add a call to `gendistlist.sh'.
19806
9035dce4 198072008-09-19 Christian Franke <franke@computer.org>
19808
19809 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
19810 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
19811 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
19812 Export __enable_execute_stack() to modules.
19813 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
19814 New function.
19815
7fd75377 198162008-09-09 Felix Zielcke <fzielcke@z-51.de>
19817
040030b3 19818 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
19819 Sort the list.
19820
198212008-09-09 Felix Zielcke <fzielcke@z-51.de>
19822
19823 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 19824 #include <grub/util/hostdisk.h>.
19825
89d5ffcf 198262008-09-08 Robert Millan <rmh@aybabtu.com>
19827
19828 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
19829 segments when their filesz is zero (grub_file_read() interprets
81a06771 19830 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 19831 Use `lowest_segment' rather than 0 for calculating the current
19832 segment load address.
19833
40da438f 198342008-09-08 Robert Millan <rmh@aybabtu.com>
19835
19836 * util/hostdisk.c (open_device): Replace a grub_util_info() call
19837 with grub_dprintf("hostdisk", ...), as it was so verbose that it
19838 clobbered useful information.
19839
ddbf5556 198402008-09-08 Robert Millan <rmh@aybabtu.com>
19841
19842 * include/grub/util/biosdisk.h: Move to ...
19843 * include/grub/util/hostdisk.h: ... here. Update all users.
19844 * util/biosdisk.c: Move to ...
19845 * util/hostdisk.c: ... here. Update all users.
19846
783d0f48 198472008-09-07 Robert Millan <rmh@aybabtu.com>
19848
19849 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
19850 variables.
19851 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
19852 and length can be stored directly in the `mbi->mmap_addr' and
19853 `mbi->mmap_length' struct fields.
19854
548e2ea5 198552008-09-07 Robert Millan <rmh@aybabtu.com>
19856
19857 * conf/i386.rmk: New file. Provides declaration for building
19858 `cpuid.mod'.
19859 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
19860 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
19861 variables.
19862 Include `conf/i386.mk'.
19863 * conf/i386-efi.rmk: Likewise.
19864 * conf/x86_64-efi.rmk: Likewise.
19865 * conf/i386-coreboot.rmk: Likewise.
19866 * conf/i386-ieee1275.rmk: Likewise.
19867
0ea85a37 198682008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
19869
19870 Based on patch created by Colin D Bennett <colin@gibibit.com>.
19871 Adds optimization support for BGR based modes.
19872
19873 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
19874 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19875 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19876 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19877 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19878 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19879 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19880 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19881 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19882 (grub_video_i386_vbeblit_index_index): Likewise.
19883 (grub_video_i386_vbeblit_replace_directN): Added.
19884 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19885 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19886 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19887 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19888 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19889 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 19890 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 19891 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19892 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19893 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19894 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19895 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19896 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
19897
19898 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
19899 (grub_video_i386_vbefill_R8G8B8): Likewise.
19900 (grub_video_i386_vbefill_index): Likewise.
19901 (grub_video_i386_vbefill_direct32): Added.
19902 (grub_video_i386_vbefill_direct24): Likewise.
19903 (grub_video_i386_vbefill_direct16): Likewise.
19904 (grub_video_i386_vbefill_direct8): Likewise.
19905
81a06771 19906 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 19907 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
19908 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
19909 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
19910 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
19911 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 19912
0ea85a37 19913 * video/video.c (grub_video_get_blit_format): Updated to use new
19914 blit formats. Added handling for 16 bit color modes.
81a06771 19915
19916 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 19917 fillers.
19918 (common_blitter): Updated to use new blitters.
19919
19920 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
19921 Removed.
19922 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19923 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19924 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19925 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19926 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19927 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19928 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19929 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19930 (grub_video_i386_vbeblit_index_index): Likewise.
19931 (grub_video_i386_vbeblit_replace_directN): Added.
19932 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19933 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19934 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19935 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19936 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19937 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
19938 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
19939 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19940 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19941 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19942 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19943 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19944 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 19945
0ea85a37 19946 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
19947 (grub_video_i386_vbefill_R8G8B8): Likewise.
19948 (grub_video_i386_vbefill_index): Likewise.
19949 (grub_video_i386_vbefill_direct32): Added.
19950 (grub_video_i386_vbefill_direct24): Likewise.
19951 (grub_video_i386_vbefill_direct16): Likewise.
19952 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 19953
0ea85a37 19954 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
19955 types.
81a06771 19956
0ea85a37 19957 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
19958 types.
81a06771 19959
0ea85a37 19960 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
19961 blitter types.
81a06771 19962
0ea85a37 19963 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
19964 types.
19965
e8a83df6 199662008-09-06 Felix Zielcke <fzielcke@z-51.de>
19967
19968 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
19969 RAID level 1.
19970
6bcd8ee5 199712008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 19972
6bcd8ee5 19973 * fs/iso9660.c (grub_iso9660_date): New structure.
19974 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
19975 (grub_iso9660_uuid): New function.
c375ae58 19976
59261157 199772008-09-05 Bean <bean123ch@gmail.com>
19978
19979 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
19980
19981 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
19982 insensitive bit for names in Win32 and Win32 & DOS namespace.
19983
19984 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
19985
19986 * include/grub/types.h (LONG_MAX): Likewise.
19987
58b6645a 199882008-09-04 Felix Zielcke <fzielcke@z-51.de>
19989
4ee55921 19990 * util/getroot.c: Include <config.h>.
19991 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
19992 add support for /dev/md/N devices and handle LVM double dash escaping.
19993
199942008-09-04 Felix Zielcke <fzielcke@z-51.de>
19995
19996 * config.guess: Update to latest version from config git.
19997 * config.sub: Likewise.
58b6645a 19998
9124f65d 199992008-09-03 Robert Millan <rmh@aybabtu.com>
20000
20001 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
20002 `disk->total_sectors'.
20003
81a06771 200042008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 20005
20006 * include/grub/normal.h: Fixed incorrect comment for
20007 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
20008
81a06771 200092008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 20010
20011 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
20012 values with defines.
20013
20014 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
20015 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
20016 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
20017 (GRUB_VBE_MODEATTR_COLOR): Likewise.
20018 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
20019 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
20020 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
20021 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
20022 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
20023 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
20024 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
20025 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
20026 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
20027 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
20028 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
20029 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
20030 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
20031 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
20032 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
20033
93d5cbf8 200342008-08-31 Robert Millan <rmh@aybabtu.com>
20035
20036 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
20037 declaration.
20038 (grub_multiboot): Fix a few warnings.
20039
21751d50 200402008-08-31 Robert Millan <rmh@aybabtu.com>
20041
20042 * loader/i386/pc/multiboot.c: Update comment not to say that
20043 boot_device support is unimplemented.
20044
e27a75c5 200452008-08-31 Robert Millan <rmh@aybabtu.com>
20046
20047 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
20048 or memory map support are unimplemented.
20049
81a06771 200502008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 20051
20052 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
20053
81a06771 200542008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 20055
20056 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
20057 total video memory in 'vbeinfo' output; show color format details for
20058 each video mode.
20059
7c5d8d95 200602008-08-30 Pavel Roskin <proski@gnu.org>
20061
20062 * util/genmoddep.c: Remove for real this time.
20063 * DISTLIST: Remove util/genmoddep.c.
20064
4cebd25a 200652008-08-30 Robert Millan <rmh@aybabtu.com>
20066
20067 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
20068 as required by Multiboot spec (it was already 4-byte aligned, but
20069 only by chance).
20070
b497a269 200712008-08-29 Pavel Roskin <proski@gnu.org>
20072
e3925185 20073 * kern/powerpc/ieee1275/crt0.S: Rename to ...
20074 * kern/powerpc/ieee1275/startup.S: ... this.
20075 * conf/powerpc-ieee1275.rmk: Adjust for the above.
20076 * DISTLIST: Likewise.
20077
b497a269 20078 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
20079 grub/cpu/kernel.h. Add start label for consistency with other
20080 platforms. Add grub_prefix immediately after start. Add jump
20081 to the code after grub_prefix.
20082 * include/grub/powerpc/kernel.h: Provide valid values for
20083 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
20084
6e5a42fe 200852008-08-29 Bean <bean123ch@gmail.com>
20086
20087 * configure.ac: Change host_os to cygwin for mingw.
20088 (asprintf): New check for function.
20089
20090 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
20091 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
20092
20093 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 20094 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 20095 sync, sleep and grub_util_get_disk_size for mingw.
20096
20097 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
20098 to get size in mingw.
20099 (open_device): Use flag O_BINARY if it's defined.
20100 (find_root_device): Add dummy code for mingw.
20101
20102 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
20103 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
20104 (get_scsi_disk_name): Return 0 for mingw.
20105
20106 * util/hostfs.c: #include <grub/util/misc.h>.
20107 (grub_hostfs_open): Use "rb" flag to open file, use
20108 grub_util_get_disk_size to get disk size for mingw.
20109
20110 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
20111 (asprintf): New function if HAVE_ASPRINTF is not set.
20112 (sync): New function for mingw.
20113 (sleep): Likewise.
20114 (grub_util_get_disk_size): Likewise.
20115
ab3f2673 201162008-08-28 Pavel Roskin <proski@gnu.org>
20117
20118 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20119 kern/time.c.
20120
1c282483 201212008-08-28 Robert Millan <rmh@aybabtu.com>
20122
20123 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
20124
678e849c 201252008-08-28 Robert Millan <rmh@aybabtu.com>
20126
20127 Change find_grub_drive() syntax so it doesn't prevent it from
20128 detecting NULL names as errors.
20129
20130 * util/biosdisk.c (find_grub_drive): Move free slot search code
20131 from here ...
20132 (find_free_slot): ... to here.
20133 (read_device_map): Use find_free_slot() to search for free slots.
20134
965c75ca 201352008-08-27 Marco Gerards <marco@gnu.org>
20136
20137 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
20138 (scsi_mod_SOURCES): New variable.
20139 (scsi_mod_CFLAGS): Likewise
20140 (scsi_mod_LDFLAGS): Likewise.
20141
20142 * disk/scsi.c: New file.
20143
20144 * include/grub/scsi.h: Likewise.
20145
20146 * include/grub/scsicmd.h: Likewise.
20147
20148 * disk/ata.c: Include <grub/scsi.h>.
20149 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
20150 instead.
20151 (grub_ata_iterate): Skip ATAPI devices.
20152 (grub_ata_open): Only handle ATAPI devices.
20153 (struct grub_atapi_read): Removed.
20154 (grub_atapi_readsector): Likewise.
20155 (grub_ata_read): No longer handle ATAPI devices.
20156 (grub_ata_write): Likewise.
20157 (grub_atapi_iterate): New function.
20158 (grub_atapi_read): Likewise.
20159 (grub_atapi_write): Likewise.
20160 (grub_atapi_open): Likewise.
20161 (grub_atapi_close): Likewise.
20162 (grub_atapi_dev): New variable.
20163 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
20164 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
20165
20166 * include/grub/disk.h (enum grub_disk_dev_id): Add
20167 `GRUB_DISK_DEVICE_SCSI_ID'.
20168
c07ae501 201692008-08-26 Robert Millan <rmh@aybabtu.com>
20170
20171 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
20172 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
20173 descriptive.
20174
5ed20adc 201752008-08-23 Bean <bean123ch@gmail.com>
20176
20177 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
20178 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20179 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
20180 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
20181 dm_nv.mod.
20182 (raid5rec_mod_SOURCES): New macro.
20183 (raid5rec_mod_CFLAGS): Likewise.
20184 (raid5rec_mod_LDFLAGS): Likewise.
20185 (raid6rec_mod_SOURCES): Likewise.
20186 (raid6rec_mod_CFLAGS): Likewise.
20187 (raid6rec_mod_LDFLAGS): Likewise.
20188 (mdraid_mod_SOURCES): Likewise.
20189 (mdraid_mod_CFLAGS): Likewise.
20190 (mdraid_mod_LDFLAGS): Likewise.
20191 (dm_nv_mod_SOURCES): Likewise.
20192 (dm_nv_mod_CFLAGS): Likewise.
20193 (dm_nv_mod_LDFLAGS): Likewise.
20194
20195 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
20196 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20197 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20198
20199 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
20200 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20201
20202 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20203
20204 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20205
20206 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20207
20208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20209
20210 * disk/raid5_recover.c: New file.
20211
20212 * disk/raid6_recover.c: Likewise.
20213
20214 * disk/mdraid_linux.c: Likewise.
20215
20216 * disk/dmraid_nvidia.c: Likewise.
20217
20218 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
20219 ULONG_MAX.
20220
20221 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
20222 calculate the size of raid device.
20223 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
20224 different layout of raid5.
20225 (grub_raid_scan_device): Remove code specific to mdraid.
20226 (grub_raid_list): New variable.
20227 (free_array): New function.
20228 (grub_raid_register): Likewise.
20229 (grub_raid_unregister): Likewise.
20230 (grub_raid_rescan): Likewise.
20231 (GRUB_MOD_INIT): Don't iterate device here.
20232 (GRUB_MOD_FINI): Use free_array to release resource.
20233
20234 * include/grub/raid.h: Remove macro and structure specific to mdraid.
20235 (grub_raid5_recover_func_t): New function variable type.
20236 (grub_raid6_recover_func_t): Likewise.
20237 (grub_raid5_recover_func): New variable.
20238 (grub_raid6_recover_func): Likewise.
20239 (grub_raid_register): New function.
20240 (grub_raid_unregister): Likewise.
20241 (grub_raid_rescan): Likewise.
20242 (grub_raid_block_xor): Likewise.
20243
20244 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
20245 (CMD_CRC): New macro.
20246 (part): Removed.
20247 (read_file): Handle device as well as file.
20248 (cmd_crc): New function.
20249 (fstest): Handle multiple disks.
20250 (options): Remove part, raw and long, add root and diskcount.
20251 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 20252 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 20253 add handling for the new options, support multiple disks.
20254
20255 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
20256
29c18915 202572008-08-23 Bean <bean123ch@gmail.com>
20258
20259 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
20260
20261 * genfslist.sh: Ignore kernel.mod.
20262
20263 * genpartmaplist.sh: Likewise.
20264
8415f261 202652008-08-23 Robert Millan <rmh@aybabtu.com>
20266
20267 * util/getroot.c (find_root_device): Skip anything that starts with
20268 a dot, not just directories. This avoids things like /dev/.tmp.md0.
20269
d5a7dc5b 202702008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 20271
d5a7dc5b 20272 * util/update-grub.in (GRUB_GFXMODE): Export variable.
20273 * util/grub.d/00_header.in: Allow the administrator to change default
20274 gfxmode via ${GRUB_GFXMODE}.
20275
380cfbb4 202762008-08-21 Felix Zielcke <fzielcke@z-51.de>
20277
20278 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
20279
c9baafe7 202802008-08-21 Robert Millan <rmh@aybabtu.com>
20281
20282 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
20283 loader.
20284 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
20285 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
20286
e290bef2 202872008-08-20 Carles Pina i Estany <carles@pina.cat>
20288
20289 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
20290 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
20291
f9dbfc96 202922008-08-19 Robert Millan <rmh@aybabtu.com>
20293
20294 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
20295 (struct grub_virtual_screen): Remove `cursor_color'.
20296 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
20297 initialization.
20298 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
20299
dd6bd6ab 203002008-08-18 Robert Millan <rmh@aybabtu.com>
20301
20302 Unify (identical) linux_normal.c files.
20303 * loader/i386/efi/linux_normal.c: Move from here ...
20304 * loader/linux_normal.c: ... to here. Update all users.
20305 * loader/i386/pc/linux_normal.c: Delete. Update all users.
20306 * loader/i386/ieee1275/linux_normal.c: Likewise.
20307
7f42f83e 203082008-08-18 Robert Millan <rmh@aybabtu.com>
20309
20310 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
20311 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
20312 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
20313 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
20314 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
20315 New macros.
20316 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
20317 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
20318 (GRUB_LINUX_CL_END_OFFSET): ... to here.
20319 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
20320 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
20321 (GRUB_EFI_CL_END_OFFSET): Rename to ...
20322 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
20323 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
20324 Initialize `params->video_cursor_x' and `params->video_cursor_y'
20325 portably using grub_getxy().
20326 Replace `-EFI' with `-bzImage' in boot message.
20327
38487ddb 203282008-08-17 Robert Millan <rmh@aybabtu.com>
20329
20330 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
20331
deceb3ec 203322008-08-17 Robert Millan <rmh@aybabtu.com>
20333
20334 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
20335
20336 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
20337 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
20338 (grub_machine_mmap_iterate): New function declaration.
20339 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
20340 structure.
20341 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
20342 macros.
20343
20344 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
20345 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
20346 Move e820 parsing from here ...
20347 * kern/i386/pc/mmap.c: New file.
20348 (grub_machine_mmap_iterate): ... to here.
20349
20350 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
20351 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
20352 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
20353 (grub_available_iterate): Redeclare to return `void', and redeclare
20354 its hook to use grub_uint64_t as addr and size parameters, and rename
20355 to ...
20356 (grub_machine_mmap_iterate): ... this. Update all users.
20357
20358 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
20359 to make it more readable. Rename to ...
20360 (grub_machine_mmap_iterate): ... this.
20361
20362 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
20363 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
20364 (grub_multiboot): Allocate an extra region after the payload, and fill
20365 it with a Multiboot memory map. Adjust a.out loader to calculate size
20366 with the extra space.
20367 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
20368 with the extra space.
20369
f8aa0f43 203702008-08-17 Carles Pina i Estany <carles@pina.cat>
20371
9807deb9 20372 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 20373
605f5bb6 203742008-08-17 Felix Zielcke <fzielcke@z-51.de>
20375
20376 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
20377 mdate-sh to the list `find' searches for.
20378 * DISTLIST: Regenerated.
20379
210db6c6 203802008-08-16 Felix Zielcke <fzielcke@z-51.de>
20381
20382 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
20383 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 20384 genmoddep.awk, gensymlist.sh.in.
20385 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 20386 * DISTLIST: Regenerated.
48cdbfd4 20387 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 20388
1082b929 203892008-08-16 Robert Millan <rmh@aybabtu.com>
20390
20391 * disk/raid.c (grub_raid_init): Handle/report errors set by
20392 grub_device_iterate().
20393 * disk/lvm.c (grub_lvm_init): Likewise.
20394
42ce5170 203952008-08-15 Bean <bean123ch@gmail.com>
20396
20397 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20398 and datehook.mod.
20399 (datetime_mod_SOURCES): New macro.
20400 (datetime_mod_CFLAGS): Likewise.
20401 (datetime_mod_LDFLAGS): Likewise.
20402 (date_mod_SOURCES): Likewise.
20403 (date_mod_CFLAGS): Likewise.
20404 (date_mod_LDFLAGS): Likewise.
20405 (datehook_mod_SOURCES): Likewise.
20406 (datehook_mod_CFLAGS): Likewise.
20407 (datehook_mod_LDFLAGS): Likewise.
20408
20409 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20410 and datehook.mod.
20411 (datetime_mod_SOURCES): New macro.
20412 (datetime_mod_CFLAGS): Likewise.
20413 (datetime_mod_LDFLAGS): Likewise.
20414 (date_mod_SOURCES): Likewise.
20415 (date_mod_CFLAGS): Likewise.
20416 (date_mod_LDFLAGS): Likewise.
20417 (datehook_mod_SOURCES): Likewise.
20418 (datehook_mod_CFLAGS): Likewise.
20419 (datehook_mod_LDFLAGS): Likewise.
20420
20421 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20422 and datehook.mod.
20423 (datetime_mod_SOURCES): New macro.
20424 (datetime_mod_CFLAGS): Likewise.
20425 (datetime_mod_LDFLAGS): Likewise.
20426 (date_mod_SOURCES): Likewise.
20427 (date_mod_CFLAGS): Likewise.
20428 (date_mod_LDFLAGS): Likewise.
20429 (datehook_mod_SOURCES): Likewise.
20430 (datehook_mod_CFLAGS): Likewise.
20431 (datehook_mod_LDFLAGS): Likewise.
20432
20433 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20434 and datehook.mod.
20435 (datetime_mod_SOURCES): New macro.
20436 (datetime_mod_CFLAGS): Likewise.
20437 (datetime_mod_LDFLAGS): Likewise.
20438 (date_mod_SOURCES): Likewise.
20439 (date_mod_CFLAGS): Likewise.
20440 (date_mod_LDFLAGS): Likewise.
20441 (datehook_mod_SOURCES): Likewise.
20442 (datehook_mod_CFLAGS): Likewise.
20443 (datehook_mod_LDFLAGS): Likewise.
20444
20445 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20446 and datehook.mod.
20447 (datetime_mod_SOURCES): New macro.
20448 (datetime_mod_CFLAGS): Likewise.
20449 (datetime_mod_LDFLAGS): Likewise.
20450 (date_mod_SOURCES): Likewise.
20451 (date_mod_CFLAGS): Likewise.
20452 (date_mod_LDFLAGS): Likewise.
20453 (datehook_mod_SOURCES): Likewise.
20454 (datehook_mod_CFLAGS): Likewise.
20455 (datehook_mod_LDFLAGS): Likewise.
20456
20457 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
20458
20459 * commands/date.c: New file.
20460
20461 * hook/datehook.c: Likewise.
20462
20463 * include/grub/lib/datetime.h: Likewise.
20464
20465 * include/grub/i386/cmos.h: Likewise.
20466
20467 * lib/datetime.c: Likewise.
20468
20469 * lib/i386/datetime.c: Likewise.
20470
20471 * lib/efi/datetime.c: Likewise.
20472
0e9242da 204732008-08-14 Robert Millan <rmh@aybabtu.com>
20474
20475 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
20476 (grub_mkelfimage_SOURCES): New variable.
20477 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
20478
20479 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
20480 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
20481 * conf/powerpc-ieee1275.rmk: Likewise.
20482 * conf/i386-ieee1275.rmk: Likewise.
20483
20484 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
20485 * kern/i386/coreboot/init.c: Likewise.
20486
20487 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
20488 with `<grub/cpu/kernel.h>'.
20489 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
20490 to ...
20491 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
20492 * kern/i386/coreboot/startup.S: Likewise.
20493
20494 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
20495 (GRUB_MOD_GAP): Remove.
20496 * include/grub/powerpc/kernel.h: New file.
20497 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
20498 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20499 * include/grub/i386/kernel.h: New file.
20500 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
20501 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
20502 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20503
20504 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
20505 `grub-mkelfimage'.
20506 Use --directory when invoking grub_mkimage.
20507
20508 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
20509 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
20510 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
20511 and GRUB_KERNEL_CPU_PREFIX.
20512
b86408f8 205132008-08-14 Felix Zielcke <fzielcke@z-51.de>
20514
d5e619ca 20515 * include/grub/err.h (grub_err_printf): New function prototype.
20516 * util/misc.c (grub_err_printf): New function.
20517 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
20518 grub_printf.
20519 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 20520
7161f0e0 205212008-08-13 Robert Millan <rmh@aybabtu.com>
20522
20523 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
20524
a1967522 205252008-08-13 Robert Millan <rmh@aybabtu.com>
20526
20527 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
20528 boot entry.
20529
371458b5 205302008-08-12 Robert Millan <rmh@aybabtu.com>
20531
20532 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
20533 of the relocation code from here ...
20534 (grub_multiboot): ... to here.
20535 (forward_relocator, backward_relocator): Move from here ...
20536 * kern/i386/loader.S (grub_multiboot_forward_relocator)
20537 (grub_multiboot_backward_relocator): ... to here.
20538 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
20539 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
20540 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
20541 (grub_multiboot_forward_relocator_end)
20542 (grub_multiboot_backward_relocator)
20543 (grub_multiboot_backward_relocator_end): New variables.
20544
05f9452b 205452008-08-12 Bean <bean123ch@gmail.com>
20546
20547 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
20548
20024ab0 205492008-08-11 Robert Millan <rmh@aybabtu.com>
20550
20551 * kern/i386/linuxbios/startup.S: Move from here ...
20552 * kern/i386/coreboot/startup.S: ... to here.
20553
20554 * kern/i386/linuxbios/init.c: Move from here ...
20555 * kern/i386/coreboot/init.c: ... to here.
20556
20557 * kern/i386/linuxbios/table.c: Move from here ...
20558 * kern/i386/coreboot/mmap.c: ... to here.
20559
20560 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
20561
e352e9cd 205622008-08-11 Robert Millan <rmh@aybabtu.com>
20563
20564 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
20565 errors. Leave it to the upper layer to handle them.
20566
2d05bc6a 205672008-08-09 Christian Franke <franke@computer.org>
20568
20569 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
20570 * conf/common.rmk: Install `grub-pe2elf' only if requested.
20571 Install `grub.d/10_windows' only on Cygwin.
20572 * configure.ac: Add subst of `target_os'.
20573 Check `target_os' also before setting TARGET_OBJ2ELF.
20574 Add `--enable-grub-pe2elf'.
20575
042bd419 205762008-08-08 Robert Millan <rmh@aybabtu.com>
20577
20578 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20579 (grub_last_time): Change type to grub_uint64_t.
20580 (grub_disk_open): Migrate code from to using grub_get_time_ms().
20581 (grub_disk_close): Likewise.
20582
20583 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20584 (run_menu): Migrate code from to using grub_get_time_ms().
20585
20586 * util/misc.c (grub_get_time_ms): New function.
20587
7f280db5 205882008-08-08 Marco Gerards <marco@gnu.org>
20589
20590 * disk/ata.c (grub_ata_regget): Change return type to
20591 `grub_uint8_t'.
20592 (grub_ata_regget2): Likewise.
20593 (grub_ata_wait_status): New function.
20594 (grub_ata_wait_busy): Removed function, updated all users to use
20595 `grub_ata_wait_status'.
20596 (grub_ata_wait_drq): Likewise.
20597 (grub_ata_cmd): New function.
20598 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
20599 error handling.
20600 (grub_ata_pio_write): Add error handling.
20601 (grub_atapi_identify): Likewise.
20602 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
20603 handling.
20604 (grub_ata_identify): Use `grub_ata_cmd' and improve error
20605 handling. Actually use the detected registers. Reorder the
20606 detection logic such that it is easier to read.
20607 (grub_ata_pciinit): Do not assign the same ID to each controller.
20608 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
20609 handling.
20610 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
20611
20612 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
20613
1fbc5e66 206142008-08-08 Marco Gerards <marco@gnu.org>
20615
20616 * NEWS: Update.
20617
819ce6c0 206182008-08-07 Bean <bean123ch@gmail.com>
20619
20620 * include/grub/x86_64/pci.h: New file.
20621
5c41d44d 206222008-08-07 Christian Franke <franke@computer.org>
20623
20624 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
20625 (TIMER2_GATE): Likewise.
20626 (grub_pit_wait): Add enable/disable of the timer2 gate
20627 bit of port 0x61. This fixes a possible infinite loop.
20628
5ebc275d 206292008-08-07 Bean <bean123ch@gmail.com>
20630
20631 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
20632 kern/i386/tsc.c and kern/i386/pit.c.
20633
20634 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
20635 x86_64 platform.
20636
20637 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
20638 <grub/i386/tsc.h>.
20639
20640 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
20641
e383b3d0 206422008-08-07 Bean <bean123ch@gmail.com>
20643
20644 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
20645
20646 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
20647
20648 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
20649 multiple inclusion. Add #include <grub/types.h>.
20650
1cbb58ac 206512008-08-06 Christian Franke <franke@computer.org>
20652
20653 * conf/common.rmk: Build and install `10_windows'.
20654 * util/grub.d/10_windows.in: New script.
20655
337f5a1e 206562008-08-06 Pavel Roskin <proski@gnu.org>
20657
20658 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
20659
057bc4ac 206602008-08-06 Robert Millan <rmh@aybabtu.com>
20661
20662 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
20663 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
20664
2b99f123 206652008-08-06 Bean <bean123ch@gmail.com>
20666
20667 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
20668 (grub_pxefs_fs_int): Remove dummy definition.
20669 (grub_pxefs_open): Use data->block_size to store the current block
20670 size setting.
20671 (grub_pxefs_read): Use block size stored in data->block_size. As the
20672 value of grub_pxe_blksize can be changed after the file is opened.
20673
9f0234cb 206742008-08-06 Bean <bean123ch@gmail.com>
20675
20676 * fs/i386/pc/pxe.c (curr_file): new variable.
20677 (grub_pxefs_open): Simply the handling of pxe file system. Don't
20678 require the dummy internal file system anymore.
20679 (grub_pxefs_read): Removed.
20680 (grub_pxefs_close): Likewise.
20681 (grub_pxefs_fs_int): Likewise.
20682 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
20683 connection when we switch file.
20684 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
20685
a55d42e0 206862008-08-06 Robert Millan <rmh@aybabtu.com>
20687
20688 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
20689 `halt.mod'.
20690 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
20691 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
20692
20693 * kern/i386/halt.c: New file.
20694 * kern/i386/reboot.c: Likewise.
20695 * include/grub/i386/reboot.h: Likewise.
20696 * include/grub/i386/halt.h: Likewise.
20697
20698 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
20699 Include `<grub/cpu/halt.h>'.
20700 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
20701 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
20702
20703 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
20704 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
20705 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
20706 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
20707 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
20708 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
20709 from here ...
20710 * include/grub/i386/at_keyboard.h: ... to here.
20711
24371d26 207122008-08-05 Robert Millan <rmh@aybabtu.com>
20713
20714 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
20715 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
20716 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
20717 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20718 `kern/generic/millisleep.c'.
20719
20720 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
20721 instead of grub_get_rtc().
20722 (grub_tsc_init): Initialize `tsc_boot_time'.
20723
20724 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
20725 (grub_machine_init): Use grub_tsc_init() rather than
20726 installing an RTC-based handler via grub_install_get_time_ms().
20727
20728 * kern/i386/pit.c: New file.
20729 * include/grub/i386/pit.h: Likewise.
20730
9e7007b3 207312008-08-05 Bean <bean123ch@gmail.com>
20732
20733 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
20734
20735 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
20736 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
20737 (pxe_mod_SOURCES): New macro.
20738 (pxe_mod_CFLAGS): Likewise.
20739 (pxe_mod_LDFLAGS): Likewise.
20740 (pxecmd_mod_SOURCES): Likewise.
20741 (pxecmd_mod_CFLAGS): Likewise.
20742 (pxecmd_mod_LDFLAGS): Likewise.
20743
20744 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
20745 (grub_pxe_call): Likewise.
20746
20747 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
20748
20749 * commands/i386/pc/pxecmd.c: New file.
20750
9f0234cb 20751 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 20752
20753 * include/grub/i386/pc/pxe.h: Likewise.
20754
6977d49f 207552008-08-05 Bean <bean123ch@gmail.com>
20756
20757 * util/console.c (grub_console_cur_color): New variable.
20758 (grub_console_standard_color): Likewise.
20759 (grub_console_normal_color): Likewise.
20760 (grub_console_highlight_color): Likewise.
20761 (color_map): Likewise.
20762 (use_color): Likewise.
20763 (NUM_COLORS): New macro.
20764 (grub_ncurses_setcolorstate): Handle color properly.
20765 (grub_ncurses_setcolor): Don't change color here, just remember the
20766 settings, color will be set in grub_ncurses_setcolorstate.
20767 (grub_ncurses_getcolor): New function.
20768 (grub_ncurses_init): Initialize color pairs.
20769 (grub_ncurses_term): New member grub_ncurses_getcolor.
20770
9c2ff3ee 207712008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 20772
9c2ff3ee 20773 High resolution timer support. Implemented for x86 CPUs using TSC.
20774 Extracted generic grub_millisleep() so it's linked in only as needed.
20775 This requires a Pentium compatible CPU; if the RDTSC instruction is
20776 not supported, then it falls back on the generic grub_get_time_ms()
20777 implementation that uses the machine's RTC.
20778
20779 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
20780 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20781 `kern/generic/millisleep.c'.
20782
20783 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
20784 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
20785
20786 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
20787 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
20788
20789 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20790
20791 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20792 `kern/generic/millisleep.c'.
20793
20794 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20795
20796 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
20797
20798 * kern/generic/rtc_get_time_ms.c: New file.
20799
20800 * kern/generic/millisleep.c: New file.
337f5a1e 20801
9c2ff3ee 20802 * kern/misc.c: Don't include
20803 <kern/time.h> anymore.
20804 (grub_millisleep_generic): Removed.
20805
20806 * commands/sleep.c (grub_interruptible_millisleep): Uses
20807 grub_get_time_ms() instead of grub_get_rtc().
20808
20809 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
20810 function.
20811 (grub_cpu_is_cpuid_supported): New inline function.
20812 (grub_cpu_is_tsc_supported): New inline function.
20813 (grub_tsc_init): New function prototype.
20814 (grub_tsc_get_time_ms): New function prototype.
20815
20816 * kern/i386/tsc.c (grub_get_time_ms): New file.
20817
20818 * include/grub/time.h: Include <grub/types.h.
20819 (grub_millisleep_generic): Removed.
20820 (grub_get_time_ms): New prototype.
20821 (grub_install_get_time_ms): New prototype.
20822 (grub_rtc_get_time_ms): New prototype.
20823
20824 * kern/time.c (grub_get_time_ms): New function.
20825 (grub_install_get_time_ms): New function.
20826
20827 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
20828 <grub/time.h> anymore.
20829 (grub_millisleep): Removed.
20830 (grub_machine_init): Call grub_tsc_init.
20831
20832 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
20833 get_time_ms() implementation.
20834
20835 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
20836 (ieee1275_get_time_ms): New function.
20837 (grub_machine_init): Install get_time_ms() implementation.
20838
20839 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
20840 (grub_machine_init): Call grub_tsc_init().
20841 (grub_millisleep): Removed.
bf06a93f 20842
9c2ff3ee 20843 * kern/ieee1275/init.c (grub_millisleep): Removed.
20844 (grub_machine_init): Install ieee1275_get_time_ms()
20845 implementation.
20846 (ieee1275_get_time_ms): New function.
20847 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
20848 real work.
20849
9ec92aaf 208502008-08-05 Marco Gerards <marco@gnu.org>
20851
20852 * disk/ata.c: Include <grub/pci.h>.
20853 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
20854 (grub_ata_initialize): Rewritten.
20855 (grub_ata_device_initialize): New function.
20856
8d23f507 208572008-08-04 Pavel Roskin <proski@gnu.org>
20858
20859 * kern/main.c: Include grub/mm.h.
20860
5e15ee3d 208612008-08-04 Robert Millan <rmh@aybabtu.com>
20862
20863 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
20864 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
20865 corruption problem).
20866
a9053f8f 208672008-08-04 Robert Millan <rmh@aybabtu.com>
20868
20869 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
20870 warnings introduced in my last commit.
20871
dd19c7d7 208722008-08-03 Robert Millan <rmh@aybabtu.com>
20873
20874 Make PCI available on all i386 architectures.
20875
20876 * include/grub/i386/pc/pci.h: Move from here ...
20877 * include/grub/i386/pci.h: ... to here.
20878
20879 * include/grub/i386/pc/pci.h: Remove.
20880 * include/grub/i386/efi/pci.h: Remove.
20881 * include/grub/x86_64/efi/pci.h: Remove.
20882
20883 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
20884 `<grub/cpu/pci.h>'.
20885
20886 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
20887 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
20888 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
20889
20890 * conf/i386-ieee1275.rmk: Likewise.
20891
e14a6184 208922008-08-03 Robert Millan <rmh@aybabtu.com>
20893
20894 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
20895 (grub_console_setcursor): Make it possible to set cursor off.
20896
52768e37 208972008-08-03 Robert Millan <rmh@aybabtu.com>
20898
20899 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
20900 of modules instead of assuming which platform provides what.
20901 * util/update-grub.in: Likewise.
20902
2d52f57f 209032008-08-03 Robert Millan <rmh@aybabtu.com>
20904
20905 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
20906 instead of `grub_install_dos_part' to determine whether a drive needs
20907 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 20908 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 20909
2a5cd121 209102008-08-02 Robert Millan <rmh@aybabtu.com>
20911
20912 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
20913
93808428 209142008-08-02 Robert Millan <rmh@aybabtu.com>
20915
20916 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
20917 of informational grub_dprintf() calls.
20918
3bd0a12a 209192008-08-02 Robert Millan <rmh@aybabtu.com>
20920
20921 * disk/memdisk.c (memdisk_size): Don't initialize.
20922 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
20923
20924 * include/grub/i386/pc/kernel.h
20925 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
20926 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
20927 (grub_memdisk_image_size, grub_arch_memdisk_addr)
20928 (grub_arch_memdisk_size): Remove.
20929
20930 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
20931 field (was only used to transfer a constant). Add `type' field to
20932 support multiple module types.
20933 (grub_module_iterate): New function.
20934
20935 * kern/device.c (grub_device_open): Do not hide error messages
20936 when grub_disk_open() fails. Use grub_print_error() instead.
20937
20938 * kern/i386/pc/init.c (grub_arch_modules_addr)
20939 (grub_arch_memdisk_size): Remove functions.
20940 (grub_arch_modules_addr): Return the module address in high memory
20941 (now that it isn't copied anymore).
20942
20943 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
20944 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
20945 decompression routine (grub_total_module_size already includes that
20946 now). Don't copy modules back to low memory.
20947
20948 * kern/main.c: Include `<grub/mm.h>'.
20949 (grub_load_modules): Split out (and use) ...
20950 (grub_module_iterate): ... this function, which iterates through
20951 module objects and runs a hook.
20952 Comment out grub_mm_init_region() call, as it would cause non-ELF
20953 modules to be overwritten.
20954
20955 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
20956 the memdisk image in its own region, make it part of the module list.
20957 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
20958 (main): Parse --memdisk|-m option, and pass user-provided path as
20959 parameter to generate_image().
20960 (add_segments): Pass `memdisk_path' down to load_modules().
20961 (load_modules): Embed memdisk image in module section when requested.
20962 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
20963 `header.type' instead of `header.offset'.
20964
20965 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
20966 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
20967 (memdisk_mod_LDFLAGS): New variables.
20968 * conf/i386-coreboot.rmk: Likewise.
20969 * conf/i386-ieee1275.rmk: Likewise.
20970
a927cc73 209712008-08-02 Robert Millan <rmh@aybabtu.com>
20972
20973 * loader/i386/pc/multiboot.c (playground, forward_relocator)
20974 (backward_relocator): New variables. Used to allocate and relocate
20975 the payload, respectively.
20976 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 20977 address, install the appropriate relocator code in each bound of
a927cc73 20978 the payload, and set the entry point such that
20979 grub_multiboot_real_boot() will jump to one of them.
20980
20981 * kern/i386/loader.S (grub_multiboot_payload_size)
20982 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20983 (grub_multiboot_payload_entry_offset): New variables.
20984 (grub_multiboot_real_boot): Set cpu context to what the relocator
20985 expects, and jump to the relocator instead of the payload.
20986
20987 * include/grub/i386/loader.h (grub_multiboot_payload_size)
20988 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20989 (grub_multiboot_payload_entry_offset): Export.
20990
b15d8a0c 209912008-08-01 Bean <bean123ch@gmail.com>
20992
20993 * normal/menu_entry.c (editor_getline): Don't return the original
20994 string as result, as it will be released by lexer once it has done
20995 using it.
20996
cdfb3d22 209972008-08-01 Robert Millan <rmh@aybabtu.com>
20998
20999 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
21000 within menuentries, not before them.
21001 util/grub.d/10_hurd.in: Likewise.
21002
9175e93d 210032008-08-01 Bean <bean123ch@gmail.com>
21004
21005 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
21006 (bufio_mod_SOURCES): New macro.
21007 (bufio_mod_CFLAGS): Likewise.
21008 (bufio_mod_LDFLAGS): Likewise.
21009
21010 * include/grub/bufio.h: New file.
21011
21012 * io/bufio.c: Likewise.
21013
21014 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
21015 (grub_video_reader_png): Use grub_buffile_open to open file.
21016
21017 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
21018 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
21019
21020 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
21021 (grub_video_reader_tga): Use grub_buffile_open to open file.
21022
21023 * font/manager.c: Include <grub/bufio.h>.
21024 (add_font): Use grub_buffile_open to open file.
21025
3d8383e7 210262008-07-31 Robert Millan <rmh@aybabtu.com>
21027
21028 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
21029 ELF segments, use a macro for arbitrarily accessing any of them instead
21030 of preparing a pointer that allows access to one at a time.
21031 (grub_multiboot_load_elf64): Likewise.
21032
16e641b6 210332008-07-31 Bean <bean123ch@gmail.com>
21034
21035 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
21036 GRUB_KERNEL_MACHINE_DATA_END.
21037
59198b72 210382008-07-30 Robert Millan <rmh@aybabtu.com>
21039
21040 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
21041 Increase from 0x50 to 0x60.
21042 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
21043 use UUIDs to identify the root drive for them. If that's not
21044 possible, abort.
21045 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
21046 check, for cross-disk installs.
21047
ae88bca3 210482008-07-30 Robert Millan <rmh@aybabtu.com>
21049
21050 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
21051 is non-empty, use it to set the `prefix' environment variable instead
21052 of the usual approach.
21053 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
21054 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
21055 environment variable instead of dummy make_install_device().
21056
21057 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
21058 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 21059 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 21060
21061 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
21062 New variable reference.
21063 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
21064 New macro. Defines offset of `grub_prefix' within startup.S (relative
21065 to `start').
21066 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
21067 section within startup.S (relative to `start').
21068 * include/grub/i386/coreboot/kernel.h: Likewise.
21069
21070 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
21071 Overwrite grub_prefix with its contents, at the beginning of the
21072 first segment.
21073 (main): Understand -p|--prefix.
21074
14f41dd1 210752008-07-30 Robert Millan <rmh@aybabtu.com>
21076
21077 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
21078
4ca049a3 210792008-07-30 Robert Millan <rmh@aybabtu.com>
21080
21081 * term/i386/pc/vga_text.c (grub_console_cls): Use
21082 grub_console_gotoxy() to go back to beginning of the screen.
21083 Found by Patrick Georgi <patrick.georgi@coresystems.de>
21084
2921d337 210852008-07-29 Christian Franke <franke@computer.org>
21086
21087 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
21088 Add conversion of emulated mount points on Cygwin.
21089
b609876d 210902008-07-29 Christian Franke <franke@computer.org>
21091
21092 * util/update-grub.in: Add a check for admin
21093 group on Cygwin.
21094 Remove old `grub.cfg.new' before creation.
21095 Add `-f' to `mv' to handle the different filesystem
21096 semantics of Windows.
21097
e93e4679 210982008-07-29 Bean <bean123ch@gmail.com>
21099
21100 * normal/main.c (get_line): Fix buffer overflow bug.
21101
41694fd0 211022008-07-28 Robert Millan <rmh@aybabtu.com>
21103
21104 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
21105 (struct grub_apple_header): New struct. Describes the layout of
21106 the partmap header.
21107 (apple_partition_map_iterate): Check the header magic as well as the
21108 partition magic (which was already being checked).
21109
cfd0b4e6 211102008-07-28 Pavel Roskin <proski@gnu.org>
21111
21112 * genmk.rb: Add a warning to the beginning of the output that
21113 it's a generated file and should not be edited.
21114
93cce016 211152008-07-28 Robert Millan <rmh@aybabtu.com>
21116
21117 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21118 with the same number are found, just use issue a warning with
21119 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 21120
cd1df915 211212008-07-27 Robert Millan <rmh@aybabtu.com>
21122
21123 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
21124 information.
21125
b70a8427 211262008-07-27 Bean <bean123ch@gmail.com>
21127
21128 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
21129 (grub_fat_find_dir): Ignore case when comparing filename.
21130
8f5e379f 211312008-07-27 Bean <bean123ch@gmail.com>
21132
21133 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
21134 smallino, as it's more descriptive, and i8count can be confused with
21135 the other field count.
21136 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
21137 inode type.
21138
a85cd5a0 211392008-07-27 Bean <bean123ch@gmail.com>
21140
21141 * commands/crc.c: New file.
21142
21143 * lib/crc.c: Likewise.
21144
21145 * include/grub/lib/crc.h: Likewise.
21146
21147 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
21148
21149 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
21150 (hexdump): Move this function to ...
21151
21152 * lib/hexdump.c: ... here.
21153
21154 * include/grub/hexdump.h: Renamed to ...
21155
21156 * include/grub/lib/hexdump.h: ... this.
21157
21158 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
21159
21160 * util/grub-editenv.c: Likewise.
21161
21162 * include/envblk.h: Renamed to ...
21163
21164 * include/lib/envblk.h: ... this.
21165
21166 * util/envblk.c: Renamed to ...
21167
21168 * lib/envblk.c: ... this.
21169
21170 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
21171 lib/hexdump.c.
21172 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
21173 (pkglib_MODULES): Add crc.mod.
21174 (hexdump_mod_SOURCES): Add lib/hexdump.c.
21175 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
21176 (crc_mod_SOURCES): New macro.
21177 (crc_mod_CFLAGS): Likewise.
21178 (crc_mod_LDFLAGS): Likewise.
21179
21180 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
21181
21182 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21183
21184 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21185
21186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21187
21188 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21189
c298def0 211902008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 21191
21192 * commands/help.c: Include <grub/term.h>.
21193 (TERM_WIDTH): Removed. Updated all users.
21194
cc349fb3 211952008-07-27 Pavel Roskin <proski@gnu.org>
21196
21197 * util/getroot.c (find_root_device): Rephrase a comment to avoid
21198 spurious warnings about a comment within a comment.
21199
9051607e 212002008-07-25 Robert Millan <rmh@aybabtu.com>
21201
21202 * util/getroot.c (find_root_device): Skip devices that match
21203 /dev/dm-[0-9]. This lets the real device be found for any type of
21204 abstraction (LVM, EVMS, RAID..).
21205 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
21206 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
21207 device is found first, find_root_device() will now skip it.
21208
01453bfc 212092008-07-24 Pavel Roskin <proski@gnu.org>
21210
21211 * include/grub/types.h: Use __builtin_bswap32() and
21212 __builtin_bswap64() with gcc 4.3 and newer.
21213
6af9849f 212142008-07-24 Christian Franke <franke@computer.org>
21215
3a0fa256 21216 * util/i386/pc/grub-install.in: If `--debug' is specified,
21217 pass `--verbose' to grub-setup.
21218 Abort script if make_system_path_relative_to_its_root() fails.
21219
7810e747 212202008-07-24 Bean <bean123ch@gmail.com>
21221
21222 * configure.ac: Fixed a bug caused by the previous cygwin patch,
21223 variable `target_platform' should be `platform'.
21224
42290e17 212252008-07-24 Bean <bean123ch@gmail.com>
21226
51cc5193 21227 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 21228 (grub_png_init_fixed_block): New function.
21229 (grub_png_decode_image_data): Handle fixed huffman code compression.
21230
2a8a80e4 212312008-07-24 Bean <bean123ch@gmail.com>
21232
21233 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
21234 (grub_pe2elf_SOURCES): New macro.
21235 (CLEANFILES): Add grub-pe2elf.
21236
21237 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
21238 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
21239 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
21240 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
21241 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
21242 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
21243 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
21244 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
21245 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
21246 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
21247 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
21248 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
21249 (GRUB_PE32_DT_FUNCTION): Likewise.
21250 (GRUB_PE32_REL_I386_DIR32): Likewise.
21251 (GRUB_PE32_REL_I386_REL32): Likewise.
21252 (grub_pe32_symbol): New structure.
21253 (grub_pe32_reloc): Likewise.
21254
21255 * util/grub-pe2elf.c: New file.
21256
21257 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
21258 start symbol in non pc platform.
21259
21260 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
21261
21262 The following patches are from Christian Franke.
21263
21264 * include/grub/dl.h: Remove .previous, gas supports this only
21265 for ELF format.
21266
21267 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
21268 Remove .type, gas supports this only for ELF format.
21269
21270 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
21271 nullbytes in symbol table. This fixes an infinite loop if table is
21272 zero filled.
21273
21274 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
21275 TARGET_IMG_LDFLAGS and EXEEXT.
21276
21277 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
21278 TARGET_IMG_LDFLAGS_AC.
21279 (grub_CHECK_STACK_ARG_PROBE): New function.
21280
21281 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
21282
21283 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
21284
21285 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
21286 to set TARGET_IMG_LD* accordingly.
21287 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
21288 Add call to grub_CHECK_STACK_ARG_PROBE.
21289 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
21290
21291 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
21292
21293 * genmk.rb: Add EXEEXT to CLEANFILES.
21294
12ccdb75 212952008-07-23 Robert Millan <rmh@aybabtu.com>
21296
21297 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
21298 define the codes for arrows and lines used for the menu).
21299 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
21300 as well.
21301
21302 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
21303 fonts, because the latter are too slow.
21304
18eeaf04 213052008-07-21 Bean <bean123ch@gmail.com>
21306
21307 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
21308 a20. Run keyboard test last, as it will cause macbook to halt.
21309
b095e2ad 213102008-07-18 Pavel Roskin <proski@gnu.org>
21311
21312 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
21313 load foreign architecture modules correctly anyway. Keep
21314 support for loading host architecture modules, whether we
21315 compile them or not.
21316
737feb35 213172008-07-17 Pavel Roskin <proski@gnu.org>
21318
3f4ce737 21319 * configure.ac: Use -m32 or -m64 regardless of whether we had to
21320 change target_cpu. The compiler default can mismatch target_cpu
21321 in any case.
21322
4ad2d049 21323 * disk/efi/efidisk.c: Fix format warnings on x86_64.
21324 * kern/efi/efi.c: Likewise.
21325
f6130a12 21326 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
21327 target compiler is functional.
21328 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
21329 are set up.
21330
58393a2d 21331 * configure.ac: Default to efi platform for x86_64-apple. Allow
21332 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
21333 adjustments from the rest, only do them if target is not
21334 explicitly given. Merge other adjustments with the final sanity
21335 check. Remove an extraneous check for supported CPU. Be
21336 specific which CPU and which platform is not supported.
21337
737feb35 21338 * configure.ac: Default to pc platform for x86_64.
21339
546f966a 213402008-07-17 Robert Millan <rmh@aybabtu.com>
21341
21342 Partial LinuxBIOS -> Coreboot rename.
21343
21344 * conf/i386-linuxbios.rmk: Renamed to ...
21345 * conf/i386-coreboot.rmk: ... this.
21346 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
21347 * configure.ac: Accept "coreboot" as input platform (but maintain
21348 compatibility with "linuxbios").
21349 * include/grub/i386/linuxbios: Renamed to ...
21350 * include/grub/i386/coreboot: ... this.
21351
20011694 213522008-07-17 Bean <bean123ch@gmail.com>
21353
21354 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 21355 (appleldr_mod_SOURCE): New variable.
20011694 21356 (appleldr_mod_CFLAGS): Likewise.
21357 (appleldr_mod_LDFLAGS): Likewise.
21358 (pci_mod_SOURCES): Likewise.
21359 (pci_mod_CFLAGS): Likewise.
21360 (pci_mod_LDFLAGS): Likewise.
21361 (lspci_mod_SOURCES): Likewise.
21362 (lspci_mod_CFLAGS): Likewise.
21363 (lspci_mod_LDFLAGS): Likewise.
21364
21365 * conf/x86_64-efi.rmk: New file.
21366
21367 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
21368 macro.
21369 (grub_efidisk_write): Likewise.
21370
21371 * include/efi/api.h (efi_call_0): New macro.
21372 (efi_call_1): Likewise.
21373 (efi_call_2): Likewise.
21374 (efi_call_3): Likewise.
21375 (efi_call_4): Likewise.
21376 (efi_call_5): Likewise.
21377 (efi_call_6): Likewise.
21378
21379 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
21380 grub_rescue_cmd_chainloader.
21381
21382 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
21383 (grub_pe32_optional_header): Change some fields based on i386 or
21384 x86_64 platform.
21385 (GRUB_PE32_PE32_MAGIC): Likewise.
21386
21387 * include/grub/efi/uga_draw.h: New file.
21388
21389 * include/grub/elf.h (STN_ABS): New constant.
21390 (R_X86_64_NONE): Relocation constant for x86_64.
21391 (R_X86_64_64): Likewise.
21392 (R_X86_64_PC32): Likewise.
21393 (R_X86_64_GOT32): Likewise.
21394 (R_X86_64_PLT32): Likewise.
21395 (R_X86_64_COPY): Likewise.
21396 (R_X86_64_GLOB_DAT): Likewise.
21397 (R_X86_64_JUMP_SLOT): Likewise.
21398 (R_X86_64_RELATIVE): Likewise.
21399 (R_X86_64_GOTPCREL): Likewise.
21400 (R_X86_64_32): Likewise.
21401 (R_X86_64_32S): Likewise.
21402 (R_X86_64_16): Likewise.
21403 (R_X86_64_PC16): Likewise.
21404 (R_X86_64_8): Likewise.
21405 (R_X86_64_PC8): Likewise.
21406
21407 * include/grub/i386/efi/pci.h: New file.
21408
21409 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
21410 Change it value based on platform.
21411 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
21412 (GRUB_E820_RAM): Likewise.
21413 (GRUB_E820_RESERVED): Likewise.
21414 (GRUB_E820_ACPI): Likewise.
21415 (GRUB_E820_NVS): Likewise.
21416 (GRUB_E820_EXEC_CODE): Likewise.
21417 (GRUB_E820_MAX_ENTRY): Likewise.
21418 (grub_e820_mmap): New structure.
21419 (linux_kernel_header): Change the efi field according to different
21420 kernel version, also field from linux_kernel_header.
21421
21422 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
21423
21424 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
21425 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
21426 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
21427 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
21428 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
21429 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
21430 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
21431 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
21432 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
21433 (GRUB_PCI_ADDR_IO_MASK): Likewise.
21434
21435 * include/grub/x86_64/efi/kernel.h: New file.
21436
21437 * include/grub/x86_64/efi/loader.h: Likewise.
21438
21439 * include/grub/x86_64/efi/machine.h: Likewise.
21440
21441 * include/grub/x86_64/efi/pci.h: Likewise.
21442
21443 * include/grub/x86_64/efi/time.h: Likewise.
21444
21445 * include/grub/x86_64/linux.h: Likewise.
21446
21447 * include/grub/x86_64/setjmp.h: Likewise.
21448
21449 * include/grub/x86_64/time.h: Likewise.
21450
21451 * include/grub/x86_64/types.h: Likewise.
21452
21453 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
21454 GRUB_TARGET_SIZEOF_VOID_P.
21455
21456 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
21457 (grub_efi_locate_handle): Likewise.
21458 (grub_efi_open_protocol): Likewise.
21459 (grub_efi_set_text_mode): Likewise.
21460 (grub_efi_stall): Likewise.
21461 (grub_exit): Likewise.
21462 (grub_reboot): Likewise.
21463 (grub_halt): Likewise.
21464 (grub_efi_exit_boot_services): Likewise.
21465 (grub_get_rtc): Likewise.
21466
21467 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
21468 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
21469 (grub_efi_allocate_pages): Wrap efi calls.
21470 (grub_efi_free_pages): Wrap efi calls.
21471 (grub_efi_get_memory_map): Wrap efi calls.
21472
21473 * kern/x86_64/dl.c: New file.
21474
21475 * kern/x86_64/efi/callwrap.S: Likewise.
21476
21477 * kern/x86_64/efi/startup.S: Likewise.
21478
21479 * loader/efi/appleloader.c: Likewise.
21480
21481 * loader/efi/chainloader.c (cmdline): New variable.
21482 (grub_chainloader_unload): Wrap efi calls.
21483 (grub_chainloader_boot): Likewise.
21484 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
21485 command line.
21486
21487 * loader/efi/chainloader_normal.c (chainloader_command):
21488 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
21489 command line.
21490
21491 * loader/i386/efi/linux.c (allocate_pages): Change allocation
21492 method.
21493 (grub_e820_add_region): New function.
21494 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
21495 booting.
21496 (grub_find_video_card): New function.
21497 (grub_linux_setup_video): New function.
21498 (grub_rescue_cmd_linux): Probe for video information.
21499
21500 * normal/x86_64/setjmp.S: New file.
21501
21502 * term/efi/console.c (map_char): New function.
21503 (grub_console_putchar): Map unicode char.
21504 (grub_console_checkkey): Wrap efi calls.
21505 (grub_console_getkey): Likewise.
21506 (grub_console_getwh): Likewise.
21507 (grub_console_gotoxy): Likewise.
21508 (grub_console_cls): Likewise.
21509 (grub_console_setcolorstate): Likewise.
21510 (grub_console_setcursor): Likewise.
21511
21512 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
21513
59652a20 215142008-07-16 Pavel Roskin <proski@gnu.org>
21515
ef294055 21516 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
21517 format strings.
21518
59652a20 21519 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
21520 pointer, not an integer. This fixes a warning and prevents
21521 precision loss on 64-bit systems.
21522 (relocate_addresses): Remove unneeded cast.
21523
afc3b5d7 215242008-07-15 Pavel Roskin <proski@gnu.org>
21525
506b2b3e 21526 * kern/i386/ieee1275/init.c: Include grub/cache.h.
21527
62ead89c 21528 * term/ieee1275/ofconsole.c: Disable code unused on i386.
21529
c4cd51d7 21530 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
21531 Fix comparison between signed and unsigned.
21532
0d3d8f28 21533 * include/grub/i386/ieee1275/console.h: Declare
21534 grub_console_init() and grub_console_fini().
21535
8804b286 21536 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
21537 It's empty and unused.
21538
ee01cf35 21539 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
21540 beginning to avoid warnings with some compilers.
21541
afc3b5d7 21542 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
21543 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
21544
e4e8eaa5 215452008-07-14 Pavel Roskin <proski@gnu.org>
21546
407aceb4 21547 * kern/env.c (grub_register_variable_hook): Don't copy empty
21548 string, it leaks memory. Pass "" to grub_env_set(), it should
21549 handle constant strings.
21550
e4e8eaa5 21551 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
21552 * commands/cmp.c (grub_cmd_cmp): Likewise.
21553 * kern/dl.c (grub_dl_flush_cache): Likewise.
21554 (grub_dl_load_core): Likewise.
21555 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
21556 (grub_elf64_load_phdrs): Likewise.
21557
d4e2dad3 215582008-07-13 Pavel Roskin <proski@gnu.org>
21559
21560 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
21561 between signed and unsigned.
21562 (LzmaEnc_Finish): Fix warning about an unused parameter.
21563
aa24b516 215642008-07-13 Bean <bean123ch@gmail.com>
21565
21566 * Makefile.in (enable_lzo): New rule.
21567
21568 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
21569
21570 * configure.ac (ENABLE_LZO): New option --enable-lzo.
21571
21572 * boot/i386/pc/lnxboot.S: #include <config.h>.
21573
21574 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 21575 its value according to the compression algorithm used, lzo or lzma.
aa24b516 21576
21577 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
21578 compression algorithm according to configure macro.
21579
21580 * kern/i386/pc/startup.S (codestart): Likewise.
21581
21582 * kern/i386/pc/lzma_decode.S: New file.
21583
21584 * include/grub/lib/LzFind.h: Likewise.
21585
21586 * include/grub/lib/LzHash.h: Likewise.
21587
21588 * include/grub/lib/LzmaDec.h: Likewise.
21589
21590 * include/grub/lib/LzmaEnc.h: Likewise.
21591
21592 * include/grub/lib/LzmaTypes.h: Likewise.
21593
21594 * lib/LzFind.c: Likewise.
21595
21596 * lib/LzmaDec.c: Likewise.
21597
21598 * lib/LzmaEnc.c: Likewise.
21599
4ae821ac 216002008-07-13 Bean <bean123ch@gmail.com>
21601
21602 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
21603 (grub_ext4_extent_header): New structure.
21604 (grub_ext4_extent): Likewise.
21605 (grub_ext4_extent_idx): Likewise.
21606 (grub_ext4_find_leaf): New function.
21607 (grub_ext2_read_block): Handle extents.
21608
9a745147 216092008-07-12 Robert Millan <rmh@aybabtu.com>
21610
21611 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
21612
d49a4cf6 216132008-07-11 Robert Millan <rmh@aybabtu.com>
21614
21615 * util/grub.d/40_custom.in: New file. Example on how to add custom
21616 entries to /etc/grub.d.
21617 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
21618 40_custom (implicitly, by merging all the grub.d rules).
21619
947414b4 216202008-07-11 Pavel Roskin <proski@gnu.org>
21621
0059cf6f 21622 * commands/read.c (grub_getline): Fix invalid memory access.
21623 Don't add newline to the variable value.
21624
947414b4 21625 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
21626 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
21627 (serial_hw_get_port): Check validity of the port number.
21628 (grub_cmd_serial): Check return value of serial_hw_get_port().
21629
62a02d00 216302008-07-07 Pavel Roskin <proski@gnu.org>
21631
21632 * boot/i386/pc/diskboot.S (notification_string): Replace
21633 "Loading kernel" with just "loading". This is shorter, less
21634 confusing and saves a few bytes for possible future changes.
21635
3e5581b0 216362008-07-05 Pavel Roskin <proski@gnu.org>
21637
ea387a48 21638 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
21639 size for ATAPI devices, they are undefined. Output sector
21640 number in decimal form.
21641
3e5581b0 21642 * disk/ata.c: Use named constants for status bits.
21643
fdecb8fd 216442008-07-04 Pavel Roskin <proski@gnu.org>
21645
bcd35b90 21646 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
21647 grub_addr_t before casting it to the void pointer to fix a
21648 warning. Non-addressable regions are discarded earlier.
21649 (grub_arch_modules_addr): Cast _end to grub_addr_t.
21650 * kern/i386/linuxbios/table.c: Include grub/misc.h.
21651 (check_signature): Don't shadow table_header.
21652 (grub_linuxbios_table_iterate): Cast numeric constants to
21653 grub_linuxbios_table_header_t.
21654 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
21655 grub_stop().
21656
af58ab3d 21657 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
21658 prevent warnings.
21659
1759aa57 21660 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
21661 pointer, which can cause warnings. Support 64-bit addresses.
21662
fdecb8fd 21663 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
21664 of sizeof(long). This fixes PowerPC image generation on x86_64.
21665
8516d2a8 216662008-07-04 Robert Millan <rmh@aybabtu.com>
21667
21668 This fixes a performance issue when pc & gpt partmap iterators
21669 didn't abort iteration even after our hook found what it was
fe987087 21670 looking for (often causing expensive probes of non-existent drives).
8516d2a8 21671
21672 Some callers relied on previous buggy behaviour, since they would
34c44600 21673 raise an error when their own hooks caused early abortion of its
8516d2a8 21674 iteration.
21675
21676 * kern/device.c (grub_device_open): Improve error message.
21677 * disk/lvm.c (grub_lvm_open): Likewise.
21678 * disk/raid.c (grub_raid_open): Likewise.
21679
21680 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
21681 when hook requests it, independently of grub_errno.
21682 (pc_partition_map_probe): Do not fail when find_func() caused
21683 early abortion of pc_partition_map_iterate().
21684
21685 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
21686 when hook requests it, independently of grub_errno.
21687 (gpt_partition_map_probe): Do not fail when find_func() caused
21688 early abortion of gpt_partition_map_iterate().
21689
21690 * kern/partition.c (grub_partition_iterate): Abort parent iteration
21691 when hook requests it, independently of grub_errno. Do not fail when
21692 part_map_iterate_hook() caused early abortion of p->iterate().
21693
21694 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
21695 when grub_partition_iterate() returned with non-zero.
21696
277d0de9 216972008-07-03 Pavel Roskin <proski@gnu.org>
21698
21699 * disk/ata.c (grub_ata_pio_write): Check status before writing,
21700 like we do in grub_ata_pio_read().
21701 (grub_ata_readwrite): Always write individual sectors. Fix the
21702 sector count for the remainder.
21703 (grub_ata_write): Enable writing to ATA devices. Correctly
21704 report error for ATAPI devices.
21705
d4c9b428 217062008-07-02 Pavel Roskin <proski@gnu.org>
21707
e43fc690 21708 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
21709 warning.
21710
f707af42 21711 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
21712 for every read sector, we already increment it for the whole
21713 batch. This fixes reading more than 256 sectors at once.
21714
11e16b15 21715 * util/grub-editenv.c (cmd_info): Cast argument to long
21716 explicitly. ptrdiff_t reduces to int on i386.
21717
cbabfdd4 21718 * util/grub-editenv.c (main): Be specific which parameter is
21719 missing.
21720
b8fbce0a 21721 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
21722 (memdisk): Make memdisk_orig_addr a pointer.
21723
c9c8e606 21724 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
21725 for file offsets, use grub_off_t instead. Fix printf format
21726 warnings.
21727
ca62e598 21728 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
21729 there. Real unexpected warnings should not drown in the noise
21730 about known problems.
21731
ce8d1766 21732 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
21733 grub_disk_addr_t for memory addresses.
21734
00c7a56a 21735 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
21736 explicitly to fix a warning.
21737
08d3ef09 21738 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
21739
cb71ba20 21740 * Makefile.in (MODULE_LDFLAGS): New variable.
21741 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
21742 the linker accepts --build-id=none.
21743 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
21744 MODULE_LDFLAGS.
21745 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
21746
d4c9b428 21747 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
21748 those in Linux XFS code. Provide a way to access 64-bit parent
21749 inode.
21750 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
21751 the end of struct grub_xfs_dir_header.
21752
d4156eee 217532008-07-02 Bean <bean123ch@gmail.com>
21754
21755 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
21756 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21757 and GRUB_IEEE1275_FLAG_NO_ANSI.
21758
21759 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
21760 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21761 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
21762
21763 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
21764 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
21765
21766 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
21767 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
21768
21769 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
21770 esc sequence on non ANSI terminal.
21771 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
21772
21773 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
21774 beginning of file.
21775
2270f77b 217762008-07-02 Bean <bean123ch@gmail.com>
21777
21778 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
21779 (grub_editenv_SOURCES): New variable.
21780 (pkglib_MODULES): Add loadenv.mod.
21781 (loadenv_mod_SOURCES): New variable.
21782 (loadenv_mod_CFLAGS): Likewise.
21783 (loadenv_mod_LDFLAGS): Likewise.
21784
21785 * include/grub/envblk.h: New file.
21786
21787 * util/envblk.c: New file.
21788
21789 * util/grub-editenv.c: New file.
21790
21791 * commands/loadenv.c: New file.
21792
0e9e51ec 217932008-07-01 Pavel Roskin <proski@gnu.org>
21794
d89b7634 21795 * include/multiboot2.h (struct multiboot_tag_module): Use char,
21796 not unsigned char. This fixes warnings and is consistent with
21797 other tags.
21798
bf1835b1 21799 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
21800
8222a04b 21801 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
21802
6a42d99d 21803 * term/tparm.c (analyze): Always set *popcount.
21804
10b159d1 21805 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
21806 cast to fix a warning.
21807
b8789f6c 21808 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
21809 cast to suppress a warning.
21810
29d7e38a 21811 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
21812 grub_fshelp_read_file() expects.
21813
f341f669 21814 * fs/fat.c: Fix UUID calculation on big-endian systems. We
21815 write uuid as a 32-bit value in CPU byte order, so declare and
21816 use it as such.
21817
0e9e51ec 21818 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
21819 long if the format specifier expects it.
21820 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
21821 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21822 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
21823 long to fix a warning.
21824 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
21825 grub_dprintf() arguments to fix warnings.
21826
3aefa857 218272008-06-30 Pavel Roskin <proski@gnu.org>
21828
56c7668b 21829 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
21830 install_bsd_part immediately before core.img is embedded or
21831 modified on disk. This fixes core.img verification if core.img
21832 cannot be embedded.
21833
3aefa857 21834 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
21835 core_path to calculate the blocklist.
21836 Patch from Javier Martín <lordhabbit@gmail.com>
21837
5444088d 218382008-06-29 Robert Millan <rmh@aybabtu.com>
21839
21840 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
21841 block to disk block.
21842 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
21843 Patch from Niels Böhm <bitbucket@arcor.de>
21844
674835c8 218452008-06-29 Robert Millan <rmh@aybabtu.com>
21846
21847 * util/update-grub_lib.in (font_path): Search for fonts in
21848 /boot/grub first, which is more likely to be readable (we aren't
21849 deciding where fonts live, just looking for them).
21850
f527dbc8 218512008-06-26 Pavel Roskin <proski@gnu.org>
21852
6c2d8df6 21853 * util/biosdisk.c (read_device_map): Don't leave dead map
21854 entries for devices failing stat() check.
21855
f527dbc8 21856 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
21857 core_path_dev for the core.img path on the target device.
21858
aebe3d13 218592008-06-26 Robert Millan <rmh@aybabtu.com>
21860
21861 * disk/fs_uuid.c: New file.
21862 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
21863 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
21864 (fs_uuid_mod_LDFLAGS): New variables.
21865 * include/grub/disk.h (grub_disk_dev_id): Add
21866 `GRUB_DISK_DEVICE_UUID_ID'.
21867 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
21868 implement iterate().
21869
37aaf354 218702008-06-26 Robert Millan <rmh@aybabtu.com>
21871
21872 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
21873 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
21874 Linux image includes no initrd.
21875
25ff262a 218762008-06-21 Javier Martín <lordhabbit@gmail.com>
21877
21878 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
21879 call to resolve the core image location that effectively appended the
21880 name twice.
21881
76a2bd44 218822008-06-21 Robert Millan <rmh@aybabtu.com>
21883
21884 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
21885 call from here ...
21886
21887 * util/grub.d/10_hurd.in: ... to here ...
21888 * util/grub.d/10_linux.in: ... and here.
21889
650e1c79 218902008-06-19 Robert Millan <rmh@aybabtu.com>
21891
fe987087 21892 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 21893 after it has been set by grub_machine_set_prefix().
21894
6ce63911 218952008-06-19 Robert Millan <rmh@aybabtu.com>
21896
21897 * commands/search.c (search_label, search_fs_uuid, search_file): Print
21898 search result when not saving to variable, not the other way around.
21899 When saving to variable, abort iteration as soon as a match is found.
21900
73940cec 219012008-06-19 Robert Millan <rmh@aybabtu.com>
21902
21903 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
21904 check for partition that provides /boot/grub. Its logic is flawed,
21905 as it prevents prepare_grub_to_access_device() from being called
21906 multiple times.
21907
3c62a39d 219082008-06-19 Robert Millan <rmh@aybabtu.com>
21909
21910 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
21911 "insmod" command directly when abstraction modules are needed,
fe987087 21912 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 21913 since it had already been processed).
21914
47395a42 219152008-06-19 Pavel Roskin <proski@gnu.org>
21916
21917 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
21918 changed. This is needed in case GRUB_LIBDIR changes.
21919 * conf/i386-ieee1275.rmk: Likewise.
21920 * conf/i386-linuxbios.rmk: Likewise.
21921 * conf/i386-pc.rmk: Likewise.
21922 * conf/powerpc-ieee1275.rmk: Likewise.
21923
a145ac2d 219242008-06-18 Pavel Roskin <proski@gnu.org>
21925
21926 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
21927 kernel_elf_symlist.c to symlist.c for consistency with other
21928 architectures. Update all users.
21929 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21930
7847c51e 219312008-06-18 Robert Millan <rmh@aybabtu.com>
21932
21933 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
21934 it in prefix.
21935
21936 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
21937 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
21938 a RAID device, run setup() for all members independently on whether
21939 LVM abstraction is being used.
21940 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
21941 If grub-mkimage has set `*install_dos_part == -2', don't override this
21942 value.
21943 Perform *install_dos_part adjustments independently on whether
21944 we're embedding or not.
21945 Clarify error message when image is too big for embedding.
21946 Remove duplicate *install_dos_part stanza.
21947
b23e5644 219482008-06-17 Robert Millan <rmh@aybabtu.com>
21949
21950 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
21951 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
21952 variables.
21953 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
21954 values in grub_ofconsole_normal_color and
21955 grub_ofconsole_highlight_color (they're not directly related to
21956 background and foreground).
21957 (grub_ofconsole_setcolorstate): Extract background and foreground
21958 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
21959
0aac2f79 219602008-06-17 Robert Millan <rmh@aybabtu.com>
21961
21962 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
21963 /boot/grub for the check in last commit, not /boot (they could be
21964 different partitions).
21965
3cca7ef3 219662008-06-16 Robert Millan <rmh@aybabtu.com>
21967
21968 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
21969 asked to setup access for the same partition that provides /boot,
21970 don't bother using UUIDs since our root already has the value we
21971 want.
21972
347396d8 219732008-06-16 Robert Millan <rmh@aybabtu.com>
21974
21975 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
21976 I2O devices.
21977 Patch from Sven Mueller <sven@debian.org>.
21978
991477f8 219792008-06-16 Robert Millan <rmh@aybabtu.com>
21980
21981 * util/update-grub.in: Check for $EUID instead of $UID.
21982 Reported by Vincent Zweije.
21983
d31a32a1 219842008-06-16 Bean <bean123ch@gmail.com>
21985
fe987087 21986 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 21987 (grub_ext2_read_block): Likewise.
21988 (grub_ext2_read_inode): Likewise.
21989 (grub_ext2_mount): Likewise.
21990 (grub_ext2_close): Likewise.
21991 (grub_ext3_get_journal): Removed.
21992
fe987087 21993 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 21994 (grub_reiserfs_read_symlink): Likewise.
21995 (grub_reiserfs_mount): Likewise.
21996 (grub_reiserfs_open): Likewise.
21997 (grub_reiserfs_read): Likewise.
21998 (grub_reiserfs_close): Likewise.
21999 (grub_reiserfs_get_journal): Removed.
22000
22001 * fs/fshelp.c (grub_fshelp_read): Removed.
22002 (grub_fshelp_map_block): Likewise.
22003
22004 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
22005 (grub_fshelp_journal): Likewise.
22006 (grub_fshelp_read): Likewise.
22007 (grub_fshelp_map_block): Likewise.
22008
3540a760 220092008-06-16 Pavel Roskin <proski@gnu.org>
22010
22011 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
22012 floating point anymore.
22013 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
22014
95614c84 220152008-06-15 Pavel Roskin <proski@gnu.org>
22016
22017 * commands/ls.c (grub_ls_list_files): Use integer calculations
22018 for human readable format, avoid floating point use.
22019 * kern/misc.c (grub_ftoa): Remove.
22020 (grub_vsprintf): Remove floating point support.
22021
50465dd6 220222008-06-15 Robert Millan <rmh@aybabtu.com>
22023
fe6b695a 22024 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 22025 devices.
22026 Reported by Max Vozeler.
22027
a9207284 220282008-06-15 Robert Millan <rmh@aybabtu.com>
22029
22030 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
22031 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
22032 skipped later.
22033 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
22034 the beginning of the prefix.
22035
22036 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
22037 It is assumed that if we have a memdisk, grub-mkimage has set
22038 grub_prefix to include the "(memdisk)" drive in it.
22039
a7cbd45a 220402008-06-15 Robert Millan <rmh@aybabtu.com>
22041
22042 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
22043 Initialize keyboard controller after registering the terminal, so that
22044 grub_printf() can be called from grub_keyboard_controller_init().
22045
21cf716a 220462008-06-15 Robert Millan <rmh@aybabtu.com>
22047
22048 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
22049 extent-btree which is written as big endian on disk.
22050 Reported by Alain Greppin <al@chilibi.org>.
22051
23a64d8e 220522008-06-14 Robert Millan <rmh@aybabtu.com>
22053
22054 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
22055 * util/i386/pc/grub-install.in (modules): Likewise.
22056
d687651c 220572008-06-13 Pavel Roskin <proski@gnu.org>
22058
22059 * commands/ls.c (grub_ls_list_files): Fix format warnings.
22060
dfe9ddd4 220612008-06-13 Bean <bean123ch@gmail.com>
22062
22063 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
22064
22065 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
22066
22067 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
22068 to indicate sparse block.
22069
16ae7781 220702008-06-12 Pavel Roskin <proski@gnu.org>
22071
e6d1a308 22072 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
22073 number, grub_fshelp_read() does it for us.
22074
16ae7781 22075 * fs/fshelp.c (grub_fshelp_read): New function. Implement
22076 linear disk read with journal translation.
22077 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
22078 * include/grub/fshelp.h: Declare grub_fshelp_read().
22079
40fd3a2b 220802008-06-09 Pavel Roskin <proski@gnu.org>
22081
22082 * fs/minix.c (grub_minix_mount): Handle error reading
22083 superblock.
22084
f5679726 220852008-06-08 Robert Millan <rmh@aybabtu.com>
22086
22087 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
22088 don't append the RAID prefix afterwards.
22089 Reported by Clint Adams.
22090
ce525529 220912008-06-08 Robert Millan <rmh@aybabtu.com>
22092
22093 Based on description from Pavel:
22094 * kern/disk.c (grub_disk_check_range): Rename to ...
22095 (grub_disk_adjust_range): ... this. Add a comment explaining the
22096 tasks performed by this function.
22097
ad4936a0 220982008-06-08 Robert Millan <rmh@aybabtu.com>
22099
22100 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
22101 `num_serial' (for consistency with other variables).
22102 (struct grub_ntfs_data): Add `uuid' member.
22103 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
22104 (grub_ntfs_uuid): New function.
22105 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
22106
dc20b0f9 221072008-06-07 Pavel Roskin <proski@gnu.org>
22108
22109 * util/biosdisk.c (open_device): Revert last change to the
22110 function, it broke installation. The sector needs to be
22111 different dependent on which device is opened.
22112
c5e3cfba 221132008-06-06 Robert Millan <rmh@aybabtu.com>
22114
22115 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
22116 rest of GRUB, and breakage doesn't happen if its value were modified.
22117
22118 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22119 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
22120 a constant (same value).
22121 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
22122 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
22123
26a1f8c4 221242008-06-06 Robert Millan <rmh@aybabtu.com>
22125
22126 * util/biosdisk.c (open_device): Do not modify sector offset when
22127 accessing a partition. kern/disk.c already handles this for us.
22128
25d6b327 221292008-06-06 Robert Millan <rmh@aybabtu.com>
22130
22131 * util/grub-emu.c (grub_machine_init): Move code in this function from
22132 here ...
22133 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
22134 segfault in case grub_printf() is called).
22135
22136 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
22137 grub_probe. Update all users not to explicitly add it again.
22138 (grub_device): New variable; contains corresponding device for grubdir.
22139 (fs_module, partmap_module, devabstraction_module): Pass
22140 `--device ${grub_device}' to grub_probe to avoid traversing /dev
22141 every time.
22142
9ece62fb 221432008-06-05 Robert Millan <rmh@aybabtu.com>
22144
22145 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
22146 is found, print it (same layout as with labels).
22147
1ad36d37 221482008-06-04 Robert Millan <rmh@aybabtu.com>
22149
22150 * util/biosdisk.c (get_drive): Rename to ...
22151 (find_grub_drive): ... this. Update all users.
22152
22153 (get_os_disk): Rename to ...
22154 (convert_system_partition_to_system_disk): ... this. Update all users.
22155
22156 (find_drive): Rename to ...
22157 (find_system_device): ... this. Update all users.
22158
e6a30859 221592008-06-04 Robert Millan <rmh@aybabtu.com>
22160
22161 * util/biosdisk.c (get_os_disk): Handle IDA devices.
22162 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22163 (make_device_map): Likewise.
22164
00c108a4 221652008-06-01 Robert Millan <rmh@aybabtu.com>
22166
22167 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
22168 before dereferencing it.
22169
22170 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
22171 union with fat12/fat16-specific ones. Add some new fields, including
22172 `num_serial' for both versions.
22173 (struct grub_fat_data): Add `uuid' member.
22174 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
22175 names. Initialize `data->uuid' using `num_serial'.
22176 (grub_fat_uuid): New function.
22177 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
22178
22179 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
22180 (grub_reiserfs_uuid): New function.
22181 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
22182 member.
22183
22184 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
22185 (grub_xfs_uuid): New function.
22186 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
22187
1385c5bb 221882008-06-01 Robert Millan <rmh@aybabtu.com>
22189
22190 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
22191 code that is backward compatible with pre-uuid search command.
22192
c682dfd7 221932008-05-31 Robert Millan <rmh@aybabtu.com>
22194
22195 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
22196 floppies after everything else, to ensure floppy drive isn't accessed
22197 unnecessarily (patch from Bean).
22198
b7db5d47 221992008-05-31 Robert Millan <rmh@aybabtu.com>
22200
22201 * commands/search.c (search_label, search_fs_uuid, search_file): Do
22202 not print device names when we were asked to set a variable.
22203
6e037aa9 222042008-05-31 Robert Millan <rmh@aybabtu.com>
22205
22206 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
22207 using "cursor-on" and "cursor-off" commands (understood at least by
22208 the Open Firmware flavour on OLPC).
22209
41305bc8 222102008-05-31 Michael Gorven <michael@gorven.za.net>
22211
22212 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
22213 on and off sequences.
22214
69ba137e 222152008-05-31 Robert Millan <rmh@aybabtu.com>
22216
22217 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
22218 * util/update-grub.in: Likewise.
22219
520ae21b 222202008-05-30 Pavel Roskin <proski@gnu.org>
22221
22222 * util/biosdisk.c (linux_find_partition): Simplify logic and
22223 make the code more universal. Keep special processing for
22224 devfs, but use a simple rule for all other devices. If the
22225 device ends with a number, append 'p' and the partition number.
22226 Otherwise, append only the partition number.
22227
5786569b 222282008-05-30 Robert Millan <rmh@aybabtu.com>
22229
22230 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
22231 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
22232 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
22233 the `root' parameter to Linux.
22234
51500452 222352008-05-30 Robert Millan <rmh@aybabtu.com>
22236
22237 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
22238 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
22239 --fs_uuid with --fs-uuid.
22240 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
22241 all filesystems support them).
22242
811d3878 222432008-05-30 Robert Millan <rmh@aybabtu.com>
22244
22245 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 22246 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 22247
cab63c95 222482008-05-30 Robert Millan <rmh@aybabtu.com>
22249
22250 * util/grub.d/00_header.in: Remove obsolete comment referencing
22251 convert_system_path_to_grub_path().
22252 * util/update-grub.in: Likewise.
22253 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
22254 (convert_system_path_to_grub_path): Add a warning message explaining
22255 that this function is deprecated. Rely on is_path_readable_by_grub()
22256 for the readability checks.
22257 (font_path): Use is_path_readable_by_grub() for the readability
22258 check rather than convert_system_path_to_grub_path().
22259
972e2f7a 222602008-05-30 Robert Millan <rmh@aybabtu.com>
22261
22262 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
22263 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
22264 converting it first.
22265 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
22266 grub.cfg for access to font file, and afterwards call it again to set
22267 the root device.
22268
62191274 222692008-05-30 Robert Millan <rmh@aybabtu.com>
22270
22271 * commands/search.c (options): Add --fs_uuid option.
22272 (search_fs_uuid): New function.
22273 (grub_cmd_search): Fix --set argument passing.
22274 Use search_fs_uuid() when requested via --fs_uuid.
22275 (grub_search_init): Update help message.
22276 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
22277 and redeclare it as an array of 16-bit words.
22278 (grub_ext2_uuid): New function.
22279 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
22280 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
22281 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
22282 (GRUB_DEVICE_BOOT_UUID): New variables.
22283 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
22284 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
22285 whenever possible.
22286 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
22287 just assume `root' variable has the right value.
22288 * util/grub.d/10_linux.in: Likewise.
22289 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
22290 via PRINT_FS_UUID.
22291 (main): Recognise `-t fs_uuid' argument.
22292
01b73ec8 222932008-05-30 Robert Millan <rmh@aybabtu.com>
22294
22295 * util/biosdisk.c (map): Redefine structure to hold information
22296 about GRUB drive name.
fe6b695a 22297 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 22298 drive names.
22299 (call_hook): Remove.
22300 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
22301 member. Assume drive has partitions.
22302 (grub_util_biosdisk_open): Access device names via `.device' struct
22303 member.
22304 (open_device): Likewise.
22305 (find_drive): Likewise.
22306 (read_device_map): Adjust map[] usage to match the new struct
22307 definition. Don't check for duplicates (still possible, but not cheap
22308 anymore).
22309 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
22310 (make_device_name): Remove assumption of BIOS-like drive names.
22311
22f16596 223122008-05-30 Pavel Roskin <proski@gnu.org>
22313
22314 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
22315 compiling execute.c doesn't need grub_script.tab.h anymore.
22316 (normal/command.c_DEPENDENCIES): Likewise.
22317 (normal/function.c_DEPENDENCIES): Likewise.
22318 * conf/i386-ieee1275.rmk: Likewise.
22319 * conf/i386-linuxbios.rmk: Likewise.
22320 * conf/i386-pc.rmk: Likewise.
22321 * conf/powerpc-ieee1275.rmk: Likewise.
22322 * conf/sparc64-ieee1275.rmk: Likewise.
22323
528ad8f2 223242008-05-29 Pavel Roskin <proski@gnu.org>
22325
d1dff95d 22326 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
22327 when scanning metadata for volume group name.
22328
528ad8f2 22329 * include/grub/script.h: Don't include grub_script.tab.h. It's
22330 a generated file, which may only be included from the files with
22331 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
22332 use union YYSTYPE, as the later allows forward declaration.
22333 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
22334
47248e08 223352008-05-29 Robert Millan <rmh@aybabtu.com>
22336
22337 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
22338 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
22339 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
22340 (grub_console_checkkey): Add grub_dprintf() call to report unknown
22341 scan codes.
22342
ee632529 223432008-05-29 Robert Millan <rmh@aybabtu.com>
22344
22345 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
22346 control key combinations.
22347
eee96e08 223482008-05-29 Robert Millan <rmh@aybabtu.com>
22349
22350 * util/powerpc/ieee1275/grub-install.in: Move from here ...
22351 * util/ieee1275/grub-install.in: ... to here.
22352 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
22353 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
22354 (grub_install_SOURCES): Likewise.
22355
da9a6a94 223562008-05-29 Robert Millan <rmh@aybabtu.com>
22357
22358 * fs/affs.c: Update copyright year.
22359 * fs/ext2.c: Likewise.
22360 * fs/fshelp.c: Likewise.
22361 * fs/hfsplus.c: Likewise.
22362 * fs/ntfs.c: Likewise.
22363 * fs/xfs.c: Likewise.
22364 * include/grub/fshelp.h: Likewise.
22365 * util/grub-mkdevicemap.c: Likewise.
22366
12e65f3a 223672008-05-28 Robert Millan <rmh@aybabtu.com>
22368
22369 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
22370 might need to be fatfs to support some firmware implementations
22371 (e.g. OFW or EFI).
22372
23023641 223732008-05-28 Robert Millan <rmh@aybabtu.com>
22374
22375 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
22376 devices.
22377 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22378 (make_device_map): Likewise.
22379
887d2619 223802008-05-20 Bean <bean123ch@gmail.com>
22381
22382 * fs/fshelp.c (grub_fshelp_map_block): New function.
22383 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
22384 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
22385
22386 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
22387 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
22388 (grub_fshelp_journal): New structure.
22389 (grub_fshelp_map_block): New function prototype.
22390 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
22391 (grub_fshelp_map_block): Likewise.
22392
22393 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
22394 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
22395 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
22396 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
22397 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
22398 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
22399 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
22400 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
22401 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
22402 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
22403 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
22404 (grub_ext2_sblock): New members for journal support.
22405 (grub_ext3_journal_header): New structure.
22406 (grub_ext3_journal_revoke_header): Likewise.
22407 (grub_ext3_journal_block_tag): Likewise.
22408 (grub_ext3_journal_sblock): Likewise.
22409 (grub_fshelp_node): New members logfile and journal.
22410 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
22411 grub_fshelp_map_block to get real block number.
22412 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
22413 number.
22414 (grub_ext2_read_inode): Likewise.
22415 (grub_ext3_get_journal): New function.
22416 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
22417 (grub_ext2_close): Release memory used by journal.
22418
22419 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
22420 (REISERFS_MAGIC_DESC_BLOCK): New macro.
22421 (grub_reiserfs_transaction_header): Renamed to
22422 grub_reiserfs_description_block, replace field data with real_blocks.
22423 (grub_reiserfs_commit_block): New structure.
22424 (grub_reiserfs_data): New member journal.
22425 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
22426 number.
22427 (grub_reiserfs_read_symlink): Likewise.
22428 (grub_reiserfs_iterate_dir): Likewise.
22429 (grub_reiserfs_open): Likewise.
22430 (grub_reiserfs_read): Likewise.
22431 (grub_reiserfs_get_journal): New function.
22432 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
22433 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
22434 using grub_reiserfs_get_journal.
22435 (grub_reiserfs_close): Release memory used by journal.
22436
22437 * fs/affs.c (grub_affs_read_block): Change block type to
22438 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
22439
22440 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
22441
22442 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
22443
22444 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
22445
22446 * fs/udf.c (grub_udf_read_block): Change block type to
22447 grub_disk_addr_t. Use type cast to avoid warning.
22448
22449 * fs/xfs.c (grub_xfs_read_block): Likewise.
22450
b7c6bed5 224512008-05-16 Christian Franke <franke@computer.org>
22452
22453 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
22454 to ensure that break with ESC will always work.
22455 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
22456 Remove ESC from keyboard queue.
22457
eedf167f 224582008-05-16 Christian Franke <franke@computer.org>
22459
22460 * util/biosdisk.c: [__CYGWIN__] Add includes.
22461 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
22462 (get_os_disk): Move variable declarations to OS specific
22463 parts to avoid warning.
22464 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
22465 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
22466 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
22467 Cygwin.
22468 * util/getroot.c: [__CYGWIN__] Add includes.
22469 (strip_extra_slashes): Fix "/" case.
22470 [__CYGWIN__] (get_win32_path): New function.
22471 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
22472 [__CYGWIN__] (find_root_device): Disable.
22473 [__CYGWIN__] (get_bootsec_serial): New function.
22474 [__CYGWIN__] (find_cygwin_root_device): Likewise.
22475 [__linux__] (grub_guess_root_device): Add early returns to simplify
22476 structure.
22477 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
22478 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
22479 check for Linux only.
22480
a079699e 224812008-05-15 Bean <bean123ch@gmail.com>
22482
22483 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
22484 keyboard hang problem in apple's intel mac.
22485
1cf4059a 224862008-05-09 Robert Millan <rmh@aybabtu.com>
22487
22488 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
22489 devices.
22490 * util/grub-mkdevicemap.c (get_virtio_disk_name)
22491 (make_device_map): Likewise.
22492 Reported by Aurelien Jarno <aurel32@debian.org>
22493
ed759390 224942008-05-07 Ian Campbell <ijc@hellion.org.uk>
22495
22496 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
22497 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
22498 (make_device_map): Output entries for xvd type disks.
22499
b56c4eaa 225002008-05-07 Robert Millan <rmh@aybabtu.com>
22501
22502 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
22503 devices.
22504 * util/grub-mkdevicemap.c (get_cciss_disk_name)
22505 (make_device_map): Likewise.
22506 Reported by Roland Dreier <rdreier@cisco.com>
22507
7f8866ed 225082008-05-07 Robert Millan <rmh@aybabtu.com>
22509
22510 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
22511 grub_strstr() call. Correct a few mistakes in failure path handling.
22512
b0346e0f 225132008-05-06 Robert Millan <rmh@aybabtu.com>
22514
22515 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22516 Do not print a trailing slash (therefore, the root directory is an
22517 empty string).
22518 (convert_system_path_to_grub_path): Do not remove trailing slash
22519 from make_system_path_relative_to_its_root() output.
22520
22521 * util/i386/pc/grub-install.in: Add trailing slash to output from
22522 make_system_path_relative_to_its_root().
22523
6cf12cbd 225242008-05-06 Robert Millan <rmh@aybabtu.com>
22525
22526 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
22527 ensures that output lines aren't intermangled with those sent to
22528 stderr (via grub_util_info()).
22529 * util/grub-probe.c (grub_refresh): Likewise.
22530 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
22531
0fbb3117 225322008-05-05 Christian Franke <franke@computer.org>
22533
22534 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
22535 Add Cygwin device names.
22536 (get_ide_disk_name) [__CYGWIN__]: Likewise.
22537 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
22538 (check_device): Return error instead of success on empty name.
22539 (make_device_map): Move label inside linux specific code to
22540 prevent compiler warning.
22541
8124cdb7 225422008-04-30 Robert Millan <rmh@aybabtu.com>
22543
22544 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
22545 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
22546 first boot option.
22547 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
22548
094c01d0 225492008-04-29 Robert Millan <rmh@aybabtu.com>
22550
22551 * docs/grub.cfg: New file (example GRUB configuration).
22552
f4b1fc02 225532008-04-26 Robert Millan <rmh@aybabtu.com>
22554
329ce2a5 22555 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
22556 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
22557 and `disk/ieee1275/nand.c'.
f4b1fc02 22558
25f16ec1 225592008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 22560
25f16ec1 22561 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
22562 i386-linuxbios.
22563
22564 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
22565 change the buffer size to 4096 for cdrom device.
22566
22567 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
22568 and nand.mod.
22569 (_linux_mod_SOURCES): New variable.
22570 (_linux_mod_CFLAGS): Likewise.
22571 (_linux_mod_LDFLAGS): Likewise.
22572 (linux_mod_SOURCES): Likewise.
22573 (linux_mod_CFLAGS): Likewise.
22574 (linux_mod_LDFLAGS): Likewise.
22575 (nand_mod_SOURCES): Likewise.
22576 (nand_mod_CFLAGS): Likewise.
22577 (nand_mod_LDFLAGS): Likewise.
22578
22579 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
22580 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
22581 type property. (nand device in olpc don't have this property)
22582
22583 * include/grub/disk.h (grub_disk_dev_id): New macro
22584 GRUB_DISK_DEVICE_NAND_ID.
22585
22586 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
22587 function prototype.
22588 (grub_rescue_cmd_initrd): Likewise.
22589
22590 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
22591 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
22592 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 22593
25f16ec1 22594 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
22595 GRUB_MACHINE_IEEE1275 is defined.
22596
22597 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
22598 Use NESTED_FUNC_ATTR attribute on the hook parameter.
22599
22600 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
22601 on nested function heap_init.
22602 (grub_upper_mem): New variable for i386-ieee1275.
22603 (grub_get_extended_memory): New function for i386-ieee1275.
22604 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
22605
22606 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
22607 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
22608 property.
f19dbdb7 22609
25f16ec1 22610 * loader/i386/ieee1275/linux.c: New file.
22611
22612 * loader/i386/ieee1275/linux_normal.c: New file.
22613
22614 * disk/ieee1275/nand.c: New file.
22615
e89d61e9 226162008-04-18 Thomas Schwinge <tschwinge@gnu.org>
22617
22618 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
22619 value.
22620 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
22621
602566f6 226222008-04-18 Robert Millan <rmh@aybabtu.com>
22623
22624 Restructures early code path on ieee1275 to unify grub_main() as
22625 the first C function that is executed in every platform.
22626
22627 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
22628 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
22629 cmain().
22630 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
22631 * kern/ieee1275/cmain.c (cmain): Rename to ...
22632 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
22633 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
22634 at the beginning.
22635
57490c2b 226362008-04-18 Robert Millan <rmh@aybabtu.com>
22637
22638 * util/update-grub.in: Fix syntax error when setting
22639 `GRUB_PRELOAD_MODULES'.
22640 Reported by Stephane Chazelas <stephane@artesyncp.com>
22641
1977517d 226422008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
22643
22644 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
22645 section into account, newer toolchains generate unique build ids
22646 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 22647 we want build ids to be preserved
1977517d 22648 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
22649 far from other sections don't cause the raw binary images grow
22650 size
22651
bfb1f1a2 226522008-04-15 Robert Millan <rmh@aybabtu.com>
22653
22654 * disk/lvm.c: Update copyright year.
22655 * kern/misc.c: Likewise.
22656
01979850 226572008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22658
22659 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 22660 there is no memory left for physical volume name.
01979850 22661
0a1150e2 226622008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22663
22664 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
22665 volume name mapping to support bigger than 9 character names properly.
22666
82ead3fe 226672008-04-13 Robert Millan <rmh@aybabtu.com>
22668
22669 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
22670 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
22671
e54a72f5 226722008-04-13 Christian Franke <franke@computer.org>
22673
22674 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
22675 to create a floppy emulation boot CD when non emulation mode
22676 does not work.
22677 Enable Joliet CD filesystem extension.
22678
9fe86034 226792008-04-13 Robert Millan <rmh@aybabtu.com>
22680
22681 * kern/misc.c (grub_strncat): Fix off-by-one error.
22682 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
22683
22684 * kern/env.c (grub_env_context_close): Clear current context, not
22685 previous one.
22686 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
22687
22688 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
22689
7ceeee39 226902008-04-13 Robert Millan <rmh@aybabtu.com>
22691
22692 Improve robustness when handling LVM.
22693
22694 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 22695 (and leave `*p' unmodified).
7ceeee39 22696 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
22697 through it.
22698 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
22699 iterating through it.
22700 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
22701 through it.
fe6b695a 22702 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 22703 when due) on each grub_lvm_getvalue() or grub_strstr() call.
22704 Don't assume `vg->pvs != NULL' when iterating through it.
22705
58cd3d85 227062008-04-13 Robert Millan <rmh@aybabtu.com>
22707
22708 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
22709 * genmk.rb (partmap): New variable.
22710 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
22711 (#{partmap}): New target rule.
22712 * genpartmaplist.sh: New file.
22713 * Makefile.in (pkglib_DATA): Add partmap.lst.
22714 (partmap.lst): New target rule.
22715 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
22716 modules (including all partition maps), instead of preloading them.
22717
78b51059 227182007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
22719
22720 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
22721 `linux-boot-prober' (if installed) to detect other operating
22722 systems which are installed on the computer and add them to
22723 the boot menu.
22724 * conf/common.rmk: Build and install 30_os-prober.
22725
a91627b4 227262008-04-12 Robert Millan <rmh@aybabtu.com>
22727
22728 * kern/powerpc/ieee1275/init.c: Move from here ...
22729 * kern/ieee1275/init.c: ... to here. Update all users.
22730
22731 * kern/powerpc/ieee1275/cmain.c: Move from here ...
22732 * kern/ieee1275/cmain.c: ... to here. Update all users.
22733
22734 * kern/powerpc/ieee1275/openfw.c: Move from here ...
22735 * kern/ieee1275/openfw.c: ... to here. Update all users.
22736
22737 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
22738 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
22739
322562ea 227402008-04-10 Pavel Roskin <proski@gnu.org>
22741
22742 * configure.ac: Always use "_cv_" in cache variables for
22743 compatibility with Autoconf 2.62.
22744
a02a73c5 227452008-04-07 Robert Millan <rmh@aybabtu.com>
22746
22747 Revert grub/machine/init.h addition by Pavel (since it breaks on
22748 i386-ieee1275 and others):
22749 * util/i386/pc/misc.c: Remove grub/machine/init.h.
22750 * util/powerpc/ieee1275/misc.c: Likewise.
22751
25c024b1 227522008-04-07 Robert Millan <rmh@aybabtu.com>
22753
22754 * util/grub-probe.c (probe): Improve error message.
22755
3cbd2f98 227562008-04-07 Robert Millan <rmh@aybabtu.com>
22757
22758 * util/biosdisk.c (read_device_map): Skip devices that don't exist
22759 (this prevents the presence of a bogus entry from ruining the whole
22760 thing).
22761
87a297bf 227622008-04-06 Pavel Roskin <proski@gnu.org>
22763
36747a62 22764 * util/biosdisk.c: Include grub/util/biosdisk.h.
22765 * util/grub-fstest.c (execute_command): Make static.
22766 * util/grub-mkdevicemap.c (check_device): Likewise.
22767 * util/i386/pc/misc.c: Include grub/machine/init.h.
22768 * util/powerpc/ieee1275/misc.c: Likewise.
22769 * util/lvm.c: Include grub/util/lvm.h.
22770 * util/misc.c: Include grub/kernel.h, grub/misc.h and
22771 grub/cache.h.
22772 * util/raid.c: Include grub/util/raid.h.
22773 (grub_util_getdiskname): Make static.
22774
87a297bf 22775 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
22776 grub_hostfs_fini(), as they are called from grub_init_all() and
22777 grub_fini_all() respectively. This fixes an infinite loop in
22778 grub-fstest due to double registration of hostfs.
22779 Reported by Christian Franke <Christian.Franke@t-online.de>
22780
f6ce7629 227812008-04-05 Pavel Roskin <proski@gnu.org>
22782
22783 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
22784 all 8 functions. Otherwise, probe function 0 only.
22785
070e49e4 227862008-04-04 Pavel Roskin <proski@gnu.org>
22787
8b088a4c 22788 * commands/lspci.c (grub_lspci_iter): Print the bus number
22789 correctly.
22790
4f657021 22791 * commands/lspci.c (grub_pci_classes): Fix typos.
22792 (grub_lspci_iter): Don't print func twice. Print vendor ID
22793 before device ID, as it's normally done.
22794
070e49e4 22795 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22796 Fix signedness warnings.
22797 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
22798 Likewise.
22799 * util/ieee1275/get_disk_name.c: Include config.h so that
22800 _GNU_SOURCE is defined and getline() is declared. Mark an
22801 unused argument as such. Fix a signedness warning.
22802
ba7328dc 228032008-04-02 Pavel Roskin <proski@gnu.org>
22804
26887f22 22805 * genkernsyms.sh.in: Use more robust assignments for CC and
22806 srcdir. Quote srcdir.
22807 * gensymlist.sh.in: Likewise. Assert at the compile time that
22808 the symbol table is not empty.
22809
ba7328dc 22810 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
22811 * fs/cpio.c (grub_cpio_read): Likewise.
22812
0f582c6b 228132008-04-01 Pavel Roskin <proski@gnu.org>
22814
4b6e1995 22815 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
22816 * disk/host.c (grub_host_open): Likewise.
22817 * disk/loopback.c (grub_loopback_open): Likewise.
22818 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
22819 disk->id as in disk/host.c, not a multi-character constant.
22820
828a2768 22821 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
22822 later is obsolete, potentially dangerous and sets a bad example.
22823 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
22824 * util/misc.c (grub_util_get_image_size): Likewise.
22825
2bb4fb47 22826 * disk/loopback.c (options): Improve help for "--partitions".
22827
0f582c6b 22828 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
22829 options to align them with the short options, e.g. "echo -e".
22830
a33224e0 228312008-03-31 Bean <bean123ch@gmail.com>
22832
22833 * video/reader/png.c (grub_png_data): New member is_16bit and
22834 image_data.
22835 (grub_png_decode_image_header): Detect 16 bit png image.
22836 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
22837 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
22838 (grub_video_reader_png): Release memory occupied by image_data.
22839
22840 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
22841 4096 bytes.
22842 (grub_nfs_mount): Skip the test for sector per cluster.
22843
22844 * include/grub/ntfs.h (MAX_SPC): Removed.
22845
86cb4f54 228462008-03-31 Bean <bean123ch@gmail.com>
22847
22848 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
22849 (grub_probe_SOURCES): Add fs/afs.c.
22850 (grub_fstest_SOURCES): Likewise.
22851 (afs_mod_SOURCES): New variable.
22852 (afs_mod_CFLAGS): Likewise.
22853 (afs_mod_LDFLAGS): Likewise.
22854
22855 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
22856 (grub_emu_SOURCES): Likewise.
22857
22858 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22859
22860 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22861
22862 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22863
22864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22865
22866 * fs/afs.c: New file.
22867
17c74c21 228682008-03-30 Pavel Roskin <proski@gnu.org>
22869
4cb68e89 22870 * disk/host.c: Include grub/misc.h to fix a warning.
22871 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
22872 warnings about implicit declarations.
22873
8790bb04 22874 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
22875 variable.
22876 * include/grub/i386/loader.h: Change declaration of
22877 grub_linux_boot() to match what grub_loader_set() expects.
22878 * util/getroot.c (grub_guess_root_device): Return const char* to
22879 fix a warning.
22880 * util/grub-probe.c (probe): Fix a warning about uninitialized
22881 abstraction_name variable.
22882 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
22883 second argument as unused to fix a warning.
22884
9a3f3296 22885 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
22886 missing grub_error() call.
22887
0ecef90d 22888 * util/update-grub_lib.in: Define datarootdir, since Autoconf
22889 2.60 and newer uses it to define datadir.
22890
0bf6d401 22891 * commands/sleep.c: Fix warning about implicit declaration.
22892 * disk/memdisk.c: Likewise.
22893 * loader/aout.c: Likewise.
22894 * loader/i386/bsd_normal.c: Likewise.
22895 * util/grub-probe.c: Likewise.
22896
7cdacf97 22897 * commands/i386/cpuid.c (has_longmode): Make static.
22898 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
22899 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
22900
17c74c21 22901 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
22902 GDT. This is more robust, as %ds can change.
22903 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
22904 calling real_to_prot().
22905 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
22906
80a3e68b 229072008-03-28 Pavel Roskin <proski@gnu.org>
22908
22909 * kern/i386/pc/startup.S: Assert that uncompressed functions
22910 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
22911 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
22912 code, as they push parts of the code (error handlers) beyond
22913 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
22914 code as correctness and size.
22915
77bcd272 229162008-03-28 Pavel Roskin <proski@gnu.org>
22917
22918 * kern/i386/pc/startup.S
22919 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
22920 data block address to the real mode, keep offset minimal. This
22921 works around a bug in AWARD BIOS on old Athlon systems, which
22922 makes CD detection hang.
22923
c5dfd43b 229242008-03-26 Pavel Roskin <proski@gnu.org>
22925
22926 * normal/color.c (grub_parse_color_name_pair): Make `name' a
22927 const.
22928 * include/grub/normal.h: Add grub_parse_color_name_pair()
22929 declaration.
22930
bf962df2 229312008-03-24 Bean <bean123ch@gmail.com>
22932
22933 * disk/i386/pc/biosdisk.c (cd_start): Removed.
22934 (cd_count): Removed.
22935 (cd_drive): New variable.
22936 (grub_biosdisk_get_drive): Don't check for (cdN) device.
22937 (grub_biosdisk_call_hook): Likewise.
22938 (grub_biosdisk_iterate): Change cdrom detection method.
22939 (grub_biosdisk_open): Replace cd_start with cd_drive.
22940 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
22941 detect cdrom device.
22942
22943 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
22944 Removed.
22945 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
22946 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
22947 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
22948 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
22949 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
22950 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
22951 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
22952 (grub_biosdisk_cdrp): New structure.
22953 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
22954
22955 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
22956
22957 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
22958 device.
22959
22960 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
22961 New function.
22962
68e7fc7a 229632008-03-20 Robert Millan <rmh@aybabtu.com>
22964
22965 Remove 2 TiB limit in ata.mod.
22966 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
22967 (grub_ata_dumpinfo): Print sector count with 0x%llx.
22968 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
22969 grub_uint64_t instead of grub_uint32_t.
22970
38ad2cf5 229712008-03-05 Bean <bean123ch@gmail.com>
22972
22973 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
22974 (grub_multiboot): Set boot device.
22975
22976 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
22977
2b89344e 229782008-03-02 Bean <bean123ch@gmail.com>
22979
22980 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
22981 symlink_buffer.
22982
87a95d1f 229832008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
22984
22985 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
22986 texinfo.tex.
22987
22988 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
22989 modified.
22990
22991 * docs/fdl.texi: New file.
f19dbdb7 22992
87a95d1f 22993 * docs/mdate-sh: New file. Copied from gnulib.
22994 * docs/texinfo.tex: Likewise.
22995
22996 * config.guess: Updated from gnulib.
22997 * install-sh: Likewise.
22998
7dc15d8e 229992008-02-28 Robert Millan <rmh@aybabtu.com>
23000
23001 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
23002 (aout_mod_SOURCES): New variable.
23003 (aout_mod_CFLAGS): Likewise.
23004 (aout_mod_LDFLAGS): Likewise.
23005
23006 * conf/i386-ieee1275.rmk: Likewise.
23007
b00ab696 230082008-02-28 Robert Millan <rmh@aybabtu.com>
23009
23010 * util/update-grub.in: Reorganise terminal validity check. Accept
23011 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
23012 Based on suggestion by Franklin PIAT.
23013
79ca2d78 230142008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
23015
23016 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
23017 function.
23018 * util/getroot.c (grub_util_check_block_device): New function that
23019 returns the given argument if it is a block device and returns NULL else.
23020 * util/grub-probe.c (argument_is_device): New variable.
23021 (probe): Promote device_name from a variable to an argument. Receive
23022 device_name from grub_util_check_block_device() if path is NULL and from
23023 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 23024 (options): Introduce new parameter '-d, --device'.
79ca2d78 23025 (main): Add description of the new parameter to the help screen.
23026 Rename path variable to argument. Set argument_is_device if the '-d'
23027 option is given. Pass argument to probe() depending on
23028 argument_is_device.
23029
0d16e571 230302008-02-24 Bean <bean123ch@gmail.com>
23031
23032 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
23033 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
23034 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
23035 (GRUB_ISO9660_VOLDESC_PART): Likewise.
23036 (GRUB_ISO9660_VOLDESC_END): Likewise.
23037 (grub_iso9660_primary_voldesc): New member escape.
23038 (grub_iso9660_data): New member joliet.
23039 (grub_iso9660_convert_string): New function.
23040 (grub_iso9660_mount): Detect joliet extension.
23041 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
23042 (grub_iso9660_iso9660_label): Likewise.
23043
23044 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
23045 (grub_setup_SOURCES): Add fs/udf.c.
23046 (grub_fstest_SOURCES): Likewise.
23047 (udf_mod_SOURCES): New variable.
23048 (udf_mod_CFLAGS): Likewise.
23049 (udf_mod_LDFLAGS): Likewise.
23050
23051 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
23052 (grub_emu_SOURCES): Likewise.
23053
23054 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23055
23056 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23057
23058 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23059
23060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23061
23062 * fs/udf.c: New file.
23063
8a594a17 230642008-02-24 Robert Millan <rmh@aybabtu.com>
23065
23066 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
23067 (normal/lexer.c_DEPENDENCIES): New variables.
23068 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23069 (normal/lexer.c_DEPENDENCIES): Likewise.
23070 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
23071 (normal/lexer.c_DEPENDENCIES): Likewise.
23072 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
23073 (normal/lexer.c_DEPENDENCIES): Likewise.
23074 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23075 (normal/lexer.c_DEPENDENCIES): Likewise.
23076 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23077 (normal/lexer.c_DEPENDENCIES): Likewise.
23078
2dc33c03 230792008-02-23 Robert Millan <rmh@aybabtu.com>
23080
23081 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
23082 since they were intended to be in hex. This didn't break previously
23083 because of a bug in gpt_partition_map_iterate() (see below).
23084
23085 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
23086 when checking the validity of GPT header.
23087 Remove `partno', since it always provides the same information as `i'.
23088
f6f4cfb0 230892008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
23090
23091 * include/grub/efi/time.h: Fix a wrong comment.
23092
79ff665f 230932008-02-19 Pavel Roskin <proski@gnu.org>
23094
23095 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
23096 message.
23097
d38e24c2 230982008-02-19 Bean <bean123ch@gmail.com>
23099
23100 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
23101 (aout_mod_SOURCES): New variable.
23102 (aout_mod_CFLAGS): Likewise.
23103 (aout_mod_LDFLAGS): Likewise.
23104 (_bsd_mod_SOURCES): New variable.
23105 (_bsd_mod_CFLAGS): Likewise.
23106 (_bsd_mod_LDFLAGS): Likewise.
23107 (bsd_mod_SOURCES): New variable.
23108 (bsd_mod_CFLAGS): Likewise.
23109 (bsd_mod_LDFLAGS): Likewise.
23110
23111 * include/grub/aout.h: New file.
23112
23113 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
23114
23115 * include/grub/i386/bsd.h: New file.
23116
23117 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
23118 to make it public.
23119
23120 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
23121 function is called, so that it's possible to change it inside the hook.
23122 (grub_elf64_load): Likewise.
23123 (grub_elf_file): Don't close the file if elf header is not found.
23124 (grub_elf_close): Close the file if grub_elf_file fails (The new
23125 grub_elf_file won't close it).
23126 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
23127 (grub_elf64_size): Likewise.
23128
23129 * kern/i386/loader.S (grub_unix_real_boot): New function.
23130
23131 * loader/aout.c: New file.
23132
23133 * loader/i386/bsd.c: New file.
23134
23135 * loader/i386/bsd_normal.c: New file.
23136
23137 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
23138
23139 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 23140 can test other formats.
d38e24c2 23141
b93bdb0f 231422008-02-19 Robert Millan <rmh@aybabtu.com>
23143
23144 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
23145 (grub_gpt_partition_type_empty): Redefine with macro from
23146 `<grub/gpt_partition.h>'.
23147 (gpt_partition_map_iterate): Adjust partition type comparison.
23148
23149 Export `entry' as partmap-specific `part.data' struct.
23150 (grub_gpt_header, grub_gpt_partentry): Move from here ...
23151
23152 * include/grub/gpt_partition.h (grub_gpt_header)
23153 (grub_gpt_partentry): ... to here (new file).
23154
23155 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
23156
23157 (grub_gpt_partition_type_bios_boot): New const variable, defined
23158 with macro from `<grub/gpt_partition.h>'.
23159
23160 (setup): Replace `first_start' with `embed_region', which keeps
23161 track of the embed region (and is partmap-agnostic).
23162
23163 Replace find_first_partition_start() with find_usable_region(),
23164 which finds a usable region for embedding using partmap-specific
23165 knowledge (supports PC/MSDOS and GPT).
23166
23167 Fix all assumptions that the embed region start at sector 1, using
23168 `embed_region.start' from now on. Similarly, use `embed_region.end'
23169 rather than `first_start' to calculate available size.
23170
23171 In grub_util_info() message, replace "into after the MBR" with an
23172 indication of the specific sector our embed region starts at.
23173
66cb40f6 231742008-02-19 Robert Millan <rmh@aybabtu.com>
23175
23176 * DISTLIST: Replace `commands/ieee1275/halt.c' and
23177 `commands/ieee1275/reboot.c' with `commands/halt.c' and
23178 `commands/reboot.c'.
23179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23180 (halt_mod_SOURCES): Likewise.
23181 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23182 (halt_mod_SOURCES): Likewise.
23183
b7202015 231842008-02-17 Christian Franke <franke@computer.org>
23185
23186 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
23187
32b0fc49 231882008-02-17 Robert Millan <rmh@aybabtu.com>
23189
23190 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23191 set `first_start' to 0 for non-PC/MSDOS partition maps.
23192
aca63502 231932008-02-16 Robert Millan <rmh@aybabtu.com>
23194
23195 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23196 do not assume partition map is PC/MSDOS before performing checks that
23197 are specific to that layout.
23198
0de8be86 231992008-02-13 Robert Millan <rmh@aybabtu.com>
23200
23201 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
23202 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
23203 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
23204
c3db8364 232052008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
23206
23207 * configure.ac: Only a cosmetic change on the handling of
23208 -fno-stack-protector.
23209
f714229e 232102008-02-12 Alexandre Boeglin <alex@boeglin.org>
23211
c3db8364 23212 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
23213 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
23214 reboot.c.
f714229e 23215 (grub_install_SOURCES): Add halt.mod and reboot.mod.
23216 (halt_mod_SOURCES): New variable.
23217 (halt_mod_CFLAGS): Likewise.
23218 (halt_mod_LDFLAGS): Likewise.
23219 (reboot_mod_SOURCES): Likewise.
23220 (reboot_mod_CFLAGS): Likewise.
23221 (reboot_mod_LDFLAGS): Likewise.
23222
c3db8364 23223 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
23224 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
23225 reboot.c.
f714229e 23226 (halt_mod_SOURCES): Likewise.
23227 (reboot_mod_SOURCES): Likewise.
23228
c3db8364 23229 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
23230 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 23231 (reboot_mod_SOURCES): Likewise.
23232
23233 * commands/i386/pc/reboot.c: merge this file ...
23234
23235 * commands/ieee1275/reboot.c: ... and this file ...
23236
23237 * commands/reboot.c: ... to this file.
c3db8364 23238 Add some precompiler directive to include the correct header for
23239 each machine.
f714229e 23240
23241 * commands/ieee1275/halt.c: move this file ...
23242
23243 * commands/halt.c: ... to here.
c3db8364 23244 Add some precompiler directive to include the correct header for
23245 each machine.
f714229e 23246
23247 * include/grub/efi/efi.h (grub_reboot): New function declaration.
23248 (grub_halt): Likewise.
23249
23250 * kern/efi/efi.c (grub_reboot): New function.
23251 (grub_halt): Likewise.
23252
c74493e0 232532008-02-12 Robert Millan <rmh@aybabtu.com>
23254
23255 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
23256 /dev (like it is done for /dev/mapper). This doesn't provide support
23257 for EVMS, but at least it is now easy to identify the problem when it
23258 arises.
23259
d0db4b04 232602008-02-11 Robert Millan <rmh@aybabtu.com>
23261
23262 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
23263 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
23264 comparing it with -1, not 0.
23265
bf748642 232662008-02-10 Robert Millan <rmh@aybabtu.com>
23267
23268 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
23269 `disk/lvm.c'.
23270 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23271 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23272
23273 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
23274 `disk/lvm.c' to the end of the list.
23275 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23276 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23277
b5db202a 232782008-02-10 Robert Millan <rmh@aybabtu.com>
23279
23280 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
23281 grub_print_error() instead. This will let user know why we're entering
23282 rescue mode.
23283 Based on suggestions from Sam Morris.
23284
83abee31 232852008-02-10 Alexandre Boeglin <alex@boeglin.org>
23286
23287 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
23288 on remaining N args, instead of "--" arg N times.
23289
78d5a08b 232902008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
23291
23292 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
23293 (fill_with_default_glyph): Changed to use unknown_glyph for fill
23294 pattern for unknown glyphs.
23295
68807e5f 232962008-02-09 Robert Millan <rmh@aybabtu.com>
23297
23298 * configure.ac: Probe for `help2man'.
23299 * Makefile.in (builddir): New variable.
23300 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
23301 or otherwise add a few flags/options to it.
23302 (install-local): For every executable utility or script that is
23303 installed, invoke $(HELP2MAN) to install a manpage based on --help
23304 output.
23305
23306 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
23307 that it doesn't prevent --help from working in build tree.
23308
23309 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
23310 with `bug-grub@gnu.org'.
23311 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
23312 * util/update-grub.in (usage): New function.
23313 Implement proper argument check, with support for --help and --version
23314 (as well as existing -y).
23315
233162008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 23317
23318 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
23319 avoid overwriting previous output.
23320 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
23321
c1962162 233222008-02-09 Robert Millan <rmh@aybabtu.com>
23323
23324 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
23325 drawing the menu.
23326
3dac2e3f 233272008-02-09 Robert Millan <rmh@aybabtu.com>
23328
23329 * commands/sleep.c: New file.
23330 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
23331 (sleep_mod_SOURCES): New variable.
23332 (sleep_mod_CFLAGS): Likewise.
23333 (sleep_mod_LDFLAGS): Likewise.
23334
7a634e08 233352008-02-09 Robert Millan <rmh@aybabtu.com>
23336
23337 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
23338 situations in which we can deduce the RAID size and the superblock
23339 doesn't match it.
23340
b92f0c18 233412008-02-09 Robert Millan <rmh@aybabtu.com>
23342
23343 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
23344 and return a grub_diskmemberlist_t composed of LVM physical volumes.
23345 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
23346
23347 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
23348 and return a grub_diskmemberlist_t composed of physical array members.
23349 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
23350
23351 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
23352 prototype.
23353 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
23354 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
23355 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
23356
23357 * util/grub-probe.c (probe): Move partmap probing code from here ...
23358 (probe_partmap): ... to here.
23359 (probe): Use probe_partmap() once for the disk we're probing, and
23360 additionally, when such disk contains a memberlist() struct member,
23361 once for each disk that is contained in the structure returned by
23362 memberlist().
23363
91a4bf68 233642008-02-09 Robert Millan <rmh@aybabtu.com>
23365
23366 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
23367 environment variable to 'all' in order to obtain debug output from
23368 non-util/ code.
23369 * util/i386/pc/grub-setup.c (main): Likewise.
23370
a96f9caa 233712008-02-08 Robert Millan <rmh@aybabtu.com>
23372
23373 * disk/raid.c (grub_raid_scan_device): Check for
23374 `array->device[sb.this_disk.number]' rather than for
23375 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 23376 guaranteed to be accessible.
a96f9caa 23377
b37a9222 233782008-02-08 Robert Millan <rmh@aybabtu.com>
23379
23380 * disk/raid.c: Update copyright.
23381 * fs/cpio.c: Likewise.
23382 * include/grub/raid.h: Likewise.
23383 * loader/i386/pc/multiboot.c: Likewise.
23384 * util/hostfs.c: Likewise.
23385
5626aee1 233862008-02-08 Robert Millan <rmh@aybabtu.com>
23387
23388 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
23389 to a grub_disk_t array.
23390 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
23391 `device[x]'.
23392 (grub_raid_scan_device): Replace `device[x].name' accesses with
23393 `device[x]->name'. Simplify initialization of `array->device[x]'.
23394
554f0187 233952008-02-08 Robert Millan <rmh@aybabtu.com>
23396
23397 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
23398 grub_dprintf() calls.
23399 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
23400 error message.
23401
1ec8425d 234022008-02-07 Christian Franke <franke@computer.org>
23403
23404 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
23405 instead of fseek and ftell to support large files.
23406 (grub_hostfs_read): Likewise.
23407
f2156fda 234082008-02-07 Robert Millan <rmh@aybabtu.com>
23409
23410 Patch from Jeroen Dekkers.
23411 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 23412 failure, since successfully reading all array members might not be
f2156fda 23413 required.
23414
9216e0e7 234152008-02-06 Robert Millan <rmh@aybabtu.com>
23416
23417 * util/grub-probe.c (probe): Simplify partmap probing (with the
23418 assumption that the first word up to the underscore equals to
23419 the module name).
23420
b0dfd29a 234212008-02-06 Christian Franke <franke@computer.org>
23422
23423 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
23424 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
23425 last block of a cpio or tar stream.
23426 Check for "TRAILER!!!" instead of any empty data
23427 block to detect last block of a cpio stream.
23428 (grub_cpio_dir): Fix constness of variable np.
23429 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
23430 cpio or tar trailer is detected. This fixes a crash
23431 on open of a non existing file.
23432
c32865bf 234332008-02-05 Bean <bean123ch@gmail.com>
23434
23435 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
23436 address of entry.
23437 (grub_multiboot_load_elf64): Likewise.
23438 (grub_multiboot): Initialize mbi structure.
23439
23440 * util/grub-fstest.c: Don't include unused header file script.h.
23441
fe6b695a 23442 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 23443 of file.
23444 (grub_fstest_SOURCES): Likewise.
23445
409480b7 234462008-02-05 Robert Millan <rmh@aybabtu.com>
23447
23448 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
23449 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
23450 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
23451 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
23452
23453 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
23454 (translation_table): Replace hardcoded values with macros
23455 provided by `<grub/term.h>'.
23456
23457 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
23458 (keyboard_map): Correct/add a few values, with macros provided
23459 by `<grub/term.h>'.
23460 (keyboard_map_shift): Zero values that don't differ from their
23461 `keyboard_map' equivalents.
23462 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
23463 Discard the second scan code that is always sent by Caps lock.
23464 Only use `keyboard_map_shift' when it provides a non-zero value,
23465 otherwise fallback to `keyboard_map'.
23466
99fadbaa 234672008-02-04 Bean <bean123ch@gmail.com>
23468
23469 * Makefile.in (enable_grub_fstest): New variable.
23470
23471 * conf/common.rmk (grub_fstest_init.lst): New rule.
23472 (grub_fstest_init.h): Likewise.
23473 (grub_fstest_init.c): Likewise.
23474 (util/grub-fstest.c_DEPENDENCIES): New variable.
23475 (grub_fstest_SOURCES): Likewise.
23476
23477 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
23478
23479 * util/grub-fstest.c: New file.
23480
bf567c50 234812008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23482
23483 Make grub-setup handle a separate root device.
f19dbdb7 23484
bf567c50 23485 * util/i386/pc/grub-setup.c (setup): Always open the root device,
23486 so that the root device can be compared with the destination
23487 device.
23488 When embedding the core image, if the root and destination devices
23489 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
23490 0xFF.
23491 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 23492
9be6b98b 234932008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23494
23495 Add support for having a grub directory in a different drive. This
23496 is still only the data handling part.
f19dbdb7 23497
9be6b98b 23498 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
23499 (codestart): Save %dh in GRUB_ROOT_DRIVE.
23500 (grub_root_drive): New variable.
23501
23502 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
23503 instead of GRUB_BOOT_DRIVE to construct a device name. Set
23504 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
23505 as it was.
23506
23507 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
23508
23509 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
23510 macro.
23511 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
23512
23513 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
23514 is bogus, because PXE booting does not specify any drive
23515 correctly.
23516
23517 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
23518 am not sure if this is really correct.
23519
23520 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
23521 is always identical to the boot drive when booting from a CD.
23522
23523 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
23524 longer.
23525 (root_drive): New variable.
23526 (real_start): Unconditionally set %dh to ROOT_DRIVE.
23527 (setup_sectors): Push %dx right after popping it, because %dh will
23528 be modified later.
23529 (copy_buffer): Restore %dx.
23530
e0ca0677 235312008-02-03 Robert Millan <rmh@aybabtu.com>
23532
23533 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
23534 use `cdboot.img' for cdrom images.
23535
3b3f6629 235362008-02-03 Robert Millan <rmh@aybabtu.com>
23537
23538 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
23539 only setup gfxterm when `font' command has succeeded.
23540
d42b3672 235412008-02-03 Robert Millan <rmh@aybabtu.com>
23542
23543 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
23544 (grub_rescue_cmd_multiboot_loader)
23545 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
23546
fa370ea6 235472008-02-03 Pavel Roskin <proski@gnu.org>
23548
e0c5dacb 23549 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 23550 %edx and %esi from stack only after grub_gate_a20() is called.
23551 grub_gate_a20() clobbers %edx.
23552
f2a76e1d 235532008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23554
23555 * configure.ac (AC_INIT): Bumped to 1.96.
23556
23557 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
23558 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
23559 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
23560 video/readers/png.c.
23561
90fd32d1 235622008-02-03 Bean <bean123ch@gmail.com>
9be665dd 23563
23564 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
23565 (cdboot_img_SOURCES): New variable.
23566 (cdboot_img_ASFLAGS): New variable.
23567 (cdboot_img_LDFLAGS): New variable.
23568
23569 * boot/i386/pc/cdboot.S: New file.
23570
23571 * disk/i386/pc/biosdisk.c (cd_start): New variable.
23572 (cd_count): Likewise.
23573 (grub_biosdisk_get_drive): Add support for cd device.
23574 (grub_biosdisk_call_hook): Likewise.
23575 (grub_biosdisk_iterate): Likewise.
23576 (grub_biosdisk_open): Likewise.
23577 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
23578 (grub_biosdisk_rw): Support reading from cd device.
23579 (GRUB_MOD_INIT): Iterate cd devices.
23580
23581 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
23582 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
23583 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
23584
23585 * kern/i386/pc/init.c (make_install_device): Check for cd device.
23586
4020aa53 235872008-02-02 Robert Millan <rmh@aybabtu.com>
23588
23589 * commands/read.c: New file.
23590 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
23591 (read_mod_SOURCES): New variable.
23592 (read_mod_CFLAGS): Likewise.
23593 (read_mod_LDFLAGS): Likewise.
23594
e03a1132 235952008-02-02 Robert Millan <rmh@aybabtu.com>
23596
23597 * normal/main.c (grub_normal_execute): Check for `menu->size' when
23598 determining whether menu has to be displayed.
23599
58c69220 236002008-02-02 Marco Gerards <marco@gnu.org>
23601
23602 * bus/pci.c: New file.
23603
23604 * include/grub/pci.h: Likewise.
23605
23606 * include/grub/i386/pc/pci.h: Likewise.
23607
23608 * commands/lspci.c: Likewise.
23609
23610 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
23611 `lspci.mod'.
23612 (pci_mod_SOURCES): New variable.
23613 (pci_mod_CFLAGS): Likewise.
23614 (pci_mod_LDFLAGS): Likewise.
23615 (lspci_mod_SOURCES): Likewise.
23616 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 23617 (lspci_mod_LDFLAGS): Likewise.
58c69220 23618
c004e1b4 236192008-02-02 Bean <bean123ch@gmail.com>
23620
23621 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
23622 (grub_ufs_get_file_block): Fix indirect block calculation problem.
23623
23624 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
23625 (grub_xfs_btree_node): New structure.
23626 (grub_xfs_btree_root): New structure.
23627 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
23628 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
23629 (GRUB_XFS_EXTENT_BLOCK): Likewise.
23630 (GRUB_XFS_EXTENT_SIZE): Likewise.
23631 (grub_xfs_read_block): Support btree format type.
23632 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
23633 Use directory block as basic unit.
23634
23635 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
23636
23637 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
23638 __attribute__ ((__regparm__ (1))).
23639
f95562bf 236402008-02-01 Robert Millan <rmh@aybabtu.com>
23641
23642 Correct a mistake in previous commit.
23643
23644 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
23645 top.
23646 (normal/command.c_DEPENDENCIES): New variable.
23647
7d31f41f 236482008-02-01 Robert Millan <rmh@aybabtu.com>
23649
23650 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
23651 top.
23652 (normal/command.c_DEPENDENCIES): New variable.
23653 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
23654 * conf/i386-ieee1275.rmk: Likewise.
23655 * conf/i386-linuxbios.rmk: Likewise.
23656 * conf/i386-pc.rmk: Likewise.
23657 * conf/sparc64-ieee1275.rmk: Likewise.
23658 * conf/powerpc-ieee1275.rmk: Likewise.
23659 (grub_emu_SOURCES): Add `fs/fshelp.c'.
23660
23661 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
23662
60b6be74 236632008-02-01 Robert Millan <rmh@aybabtu.com>
23664
23665 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
23666 call at beginning of function.
23667
078522ab 236682008-01-31 Pavel Roskin <proski@gnu.org>
23669
23670 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 23671 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
23672 (grub_mkrescue_SOURCES): Likewise.
078522ab 23673 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
23674
ccaa8a5f 236752008-01-30 Robert Millan <rmh@aybabtu.com>
23676
23677 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
23678 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
23679 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
23680 (grub_probe_SOURCES): ... to here.
23681
23682 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
23683 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
23684 * conf/i386-ieee1275.rmk: Likewise.
23685 * conf/i386-linuxbios.rmk: Likewise.
23686 * conf/powerpc-ieee1275.rmk: Likewise.
23687
ae5a9cd7 236882008-01-30 Tristan Gingold <gingold@free.fr>
23689
23690 * kern/rescue.c: Silently accept empty lines.
23691
70bc2ef2 236922008-01-29 Bean <bean123ch@gmail.com>
23693
23694 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
23695 (real_code_2): Code cleanup and change comment style.
23696 (move_memory): Avoid using 32-bit address mode.
23697
6a4d50ea 236982008-01-29 Bean <bean123ch@gmail.com>
23699
23700 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
23701 (png_mod_SOURCES): New variable.
23702 (png_mod_CFLAGS): Likewise.
23703 (png_mod_LDFLAGS): Likewise.
23704
23705 * video/readers/png.c: New file.
23706
11cc30ac 237072008-01-28 Robert Millan <rmh@aybabtu.com>
23708
23709 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
23710 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
23711 `ifndef GRUB_MOD_GAP' hack.
23712 * util/elf/grub-mkimage.c (add_segments): Likewise.
23713
3abc589f 237142008-01-27 Robert Millan <rmh@aybabtu.com>
23715
23716 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
23717 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 23718 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 23719
e1907778 237202008-01-27 Robert Millan <rmh@aybabtu.com>
23721
23722 Get grub-emu to build again (including parallel builds).
23723
23724 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
23725 Split into ...
23726 (util/grub-emu.c_DEPENDENCIES): ... this, ...
23727 (normal/execute.c_DEPENDENCIES): ... this, ...
23728 (grub-emu_DEPENDENCIES): ... and this.
23729
23730 * conf/i386-efi.rmk: Likewise.
23731 * conf/i386-linuxbios.rmk: Likewise.
23732 * conf/i386-ieee1275.rmk: Likewise.
23733 * conf/powerpc-ieee1275.rmk: Likewise.
23734 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
23735
2216b101 237362008-01-27 Robert Millan <rmh@aybabtu.com>
23737
23738 * NEWS: Add a few items.
23739
f75172d9 237402008-01-27 Robert Millan <rmh@aybabtu.com>
23741
23742 Fix parallel builds with grub-emu. Based on earlier commit for
23743 grub-probe and grub-setup.
23744
23745 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23746 (util/grub-emu.c_DEPENDENCIES): ... this.
23747 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23748 (util/grub-emu.c_DEPENDENCIES): ... this.
23749 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23750 (util/grub-emu.c_DEPENDENCIES): ... this.
23751 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23752 (util/grub-emu.c_DEPENDENCIES): ... this.
23753 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23754 (util/grub-emu.c_DEPENDENCIES): ... this.
23755
3f51de77 237562008-01-27 Pavel Roskin <proski@gnu.org>
23757
23758 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
23759 to create a gap between _end and the modules added to the image
23760 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
23761 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
23762 * util/elf/grub-mkimage.c (add_segments): Likewise.
23763
2033f53e 237642008-01-26 Pavel Roskin <proski@gnu.org>
23765
23766 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
23767 just return an error.
23768
22da1f6f 237692008-01-26 Bean <bean123ch@gmail.com>
23770
23771 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
23772 (grub_reiserfs_get_item): Save offset of the next item.
23773 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
23774
2a9525e6 237752008-01-25 Robert Millan <rmh@aybabtu.com>
23776
23777 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
23778 make all filesystem sources appear together (possibly fixing omissions
23779 while at it).
23780 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23781 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23782 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23784
23785 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
23786 add `kern/file.c'.
23787 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
23788 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23789 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
23790 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23791
23792 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
23793 (probe): Add a sanity check to make sure of our ability to read
23794 requested files when probing for filesystem type.
23795
23796 * genmk.rb: Update copyright year (2007).
23797
23798 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
23799 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
23800 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
23801 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
23802 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
23803 : Remove function prototypes.
23804
b95f71b5 238052008-01-25 Robert Millan <rmh@aybabtu.com>
23806
23807 Revert my previous commits (based on wrong assumption of how grub_errno
23808 works).
23809
fe6b695a 23810 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 23811 * kern/file.c (grub_file_open): Likewise.
23812
d08bbb49 238132008-01-24 Pavel Roskin <proski@gnu.org>
23814
23815 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
23816 that hang if GRUB tries to setup colors.
23817 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
23818 colors for firmwares that don't support it.
23819 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
23820 Recognize Open Hack'Ware, set flags to work around its
23821 limitations.
23822
605e36ed 238232008-01-24 Robert Millan <rmh@aybabtu.com>
23824
23825 * kern/file.c (grub_file_open): Do not account previous failures of
23826 unrelated functions when grub_errno is checked for.
23827 Reported by Oleg Strikov.
23828
bac332a1 238292008-01-24 Bean <bean123ch@gmail.com>
23830
23831 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
23832 (grub_ufs_sblock): New member volume name.
23833 (grub_ufs_find_file): Fix string copy bug.
23834 (grub_ufs_label): Implement this function properly.
23835
23836 * fs/hfs.c (grub_hfs_cnid_type): New enum.
23837 (grub_hfs_iterate_records): Use the correct file number for extents
23838 and catalog file. Fix problem in next index calculation.
23839 (grub_hfs_find_node): Replace recursive function call with loop.
23840 (grub_hfs_iterate_dir): Replace recursive function call with loop.
23841
15c80c09 238422008-01-23 Robert Millan <rmh@aybabtu.com>
23843
23844 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
23845 `<grub/symbol.h>' and `<grub/multiboot.h>'.
23846 (grub_multiboot2_real_boot): New function prototype.
23847
23848 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
23849 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
23850
23851 * kern/i386/ieee1275/init.c (grub_os_area_addr)
23852 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
23853
305338fd 238542008-01-23 Robert Millan <rmh@aybabtu.com>
23855
23856 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
23857 #ifdef'ed out grub_printf().
23858
3ea52685 238592008-01-23 Robert Millan <rmh@aybabtu.com>
23860
23861 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
23862 grub_dprintf calls, since they make "debug=all" mode unusable.
23863 (grub_console_checkkey): Likewise.
23864
5882ae4b 238652008-01-23 Robert Millan <rmh@aybabtu.com>
23866
23867 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23868 `term/i386/pc/at_keyboard.c'.
23869 (pkglib_MODULES): Add `serial.mod'.
23870 (serial_mod_SOURCES): New variable.
23871 (serial_mod_CFLAGS): Likewise.
23872 (serial_mod_LDFLAGS): Likewise.
23873
23874 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
23875 `<grub/powerpc/ieee1275/console.h>'.
23876 (grub_keyboard_controller_init): New function prototype.
23877 (grub_console_checkkey): Likewise.
23878 (grub_console_getkey): Likewise.
23879
23880 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
23881 keyboard on i386.
23882
23883 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
23884 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
23885
06ab5303 238862008-01-23 Robert Millan <rmh@aybabtu.com>
23887
23888 * kern/i386/pc/init.c (make_install_device): When memdisk image is
23889 present, "(memdisk)/boot/grub" becomes the default prefix.
23890
23891 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
23892 a memdisk tarball with all the modules. Add --overlay=DIR option that
23893 allows users to overlay additional files into the image.
23894
dbb475a4 238952008-01-23 Robert Millan <rmh@aybabtu.com>
23896
23897 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
23898 and `machine/memory.h'.
23899 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
23900 (_multiboot_mod_SOURCES): New variable.
23901 (_multiboot_mod_CFLAGS): Likewise.
23902 (_multiboot_mod_LDFLAGS): Likewise.
23903 (multiboot_mod_SOURCES): Likewise.
23904 (multiboot_mod_CFLAGS): Likewise.
23905 (multiboot_mod_LDFLAGS): Likewise.
23906
23907 * include/grub/i386/ieee1275/loader.h: New file.
23908
23909 * include/grub/i386/ieee1275/machine.h: Likewise.
23910
23911 * include/grub/i386/ieee1275/memory.h: Likewise.
23912
23913 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
23914 variable declaration.
23915 (grub_os_area_size): Likewise.
23916
23917 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
23918 (grub_lower_mem, grub_upper_mem): New variables.
23919 (grub_stop_floppy): New function (just to make
23920 grub_multiboot2_real_boot() happy).
23921
23922 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
23923 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
23924 (grub_stop): New function.
23925 Include `"../realmode.S"' and `"../loader.S"'.
23926
23927 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
23928 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
23929
23930 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
23931 rely on grub_multiboot2_real_boot() for final boot.
23932
25638629 239332008-01-22 Robert Millan <rmh@aybabtu.com>
23934
23935 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
23936 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
23937 device that doesn't look like an SD card.
23938 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
23939 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
23940 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
23941 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
23942 found.
23943
9dad816d 239442008-01-22 Robert Millan <rmh@aybabtu.com>
23945
23946 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
23947 avoid claiming over our own code.
23948
34842f2d 239492008-01-22 Bean <bean123ch@gmail.com>
23950
23951 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
23952 (jpeg_mod_SOURCES): New variable.
23953 (jpeg_mod_CFLAGS): Likewise.
23954 (jpeg_mod_LDFLAGS): Likewise.
23955
23956 * video/readers/jpeg.c : New file.
23957
44023a28 239582008-01-22 Bean <bean123ch@gmail.com>
23959
23960 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
23961 there are no more items.
23962
bc2d8ac6 239632008-01-21 Robert Millan <rmh@aybabtu.com>
23964
23965 * kern/mm.c (grub_mm_init_region): Improve debug message.
23966
261bd4bc 239672008-01-21 Robert Millan <rmh@aybabtu.com>
23968
23969 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
23970 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
23971 address.
23972 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
23973 a C macro.
23974 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
23975 Indicates start of upper memory.
23976 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
23977 (generate_image): Abort when image size is big enough to corrupt
23978 upper memory.
23979
23980 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
23981 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
23982 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23983 instead of hardcoding 0xA0000.
23984 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
23985 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23986 instead of hardcoding 0xA0000.
23987
f970b55e 239882008-01-21 Robert Millan <rmh@aybabtu.com>
23989
23990 * disk/memdisk.c (memdisk_size): New variable.
23991 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
23992 `memdisk_size'.
23993 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
23994 image to dynamic memory.
23995 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
23996 `memdisk_size'. Free memdisk block.
23997
1a8b0526 239982008-01-21 Robert Millan <rmh@aybabtu.com>
23999
24000 Fix detection of very small filesystems (like tar).
24001
24002 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
24003 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
24004 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
24005 a problem with this disk).
24006
6e9b4aab 240072008-01-21 Robert Millan <rmh@aybabtu.com>
24008
24009 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
24010 on grub_biosdisk_rw_standard() error.
24011
0d8837b2 240122008-01-21 Robert Millan <rmh@aybabtu.com>
24013
24014 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
24015 recent changes.
24016 * kern/elf.c: Likewise.
24017 * kern/ieee1275/ieee1275.c: Likewise.
24018 * kern/powerpc/ieee1275/openfw.c: Likewise.
24019 * term/ieee1275/ofconsole.c: Likewise.
24020
ffd36e34 240212008-01-21 Robert Millan <rmh@aybabtu.com>
24022
24023 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
24024
3f0093d0 24025 * include/grub/kernel.h (grub_arch_memdisk_addr)
24026 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 24027
3f0093d0 24028 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
24029 (grub_arch_memdisk_size): ... to here.
ffd36e34 24030
6c391b21 240312008-01-21 Robert Millan <rmh@aybabtu.com>
24032
24033 Mostly based on bugfix from Bean.
24034
24035 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
24036 attribute with hook() parameter.
24037 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
24038 declaration.
24039 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
24040 attribute with hook() parameter.
24041 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
24042 declaration.
24043
55a581dc 240442008-01-21 Robert Millan <rmh@aybabtu.com>
24045
24046 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
24047 (pkglib_MODULES): Add `memdisk.mod'.
24048 (memdisk_mod_SOURCES): New variable.
24049 (memdisk_mod_CFLAGS): Likewise.
24050 (memdisk_mod_LDFLAGS): Likewise.
24051
24052 * disk/memdisk.c: New file.
24053
24054 * include/grub/disk.h (grub_disk_dev_id): Add
24055 `GRUB_DISK_DEVICE_MEMDISK_ID'.
24056
24057 * include/grub/i386/pc/kernel.h
24058 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
24059 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
24060 (grub_kernel_image_size): New variable declaration.
24061 (grub_total_module_size): Likewise.
24062 (grub_memdisk_image_size): Likewise.
24063
24064 * include/grub/i386/pc/memory.h
24065 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
24066
24067 * include/grub/kernel.h: Include `<grub/symbol.h>'.
24068 (grub_arch_memdisk_addr): New variable declaration.
24069 (grub_arch_memdisk_size): Likewise.
24070
24071 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
24072 (grub_arch_memdisk_size): Likewise.
24073
24074 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
24075 (codestart): Replace hardcoded `0x100000' with
24076 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
24077
24078 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
24079 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
24080 not NULL, append the contents of the file it refers to, at the end of
24081 the compressed kernel image. Initialize `grub_memdisk_image_size'
24082 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
24083 (options): Add "memdisk"|'m' option.
24084 (main): Parse --memdisk|-m option, and pass user-provided path as
24085 parameter to generate_image().
24086
3d7f54c9 240872008-01-20 Robert Millan <rmh@aybabtu.com>
24088
24089 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
24090 grub_dprintf() calls from here ...
24091 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
24092
0bf74728 240932008-01-20 Robert Millan <rmh@aybabtu.com>
24094
24095 Fix detection of "real mode" when /options/real-mode? doesn't exist.
24096
24097 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
24098 declaration.
24099 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
24100 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
24101 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 24102 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 24103 property).
24104 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
24105 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
24106
33bf70a7 241072008-01-19 Robert Millan <rmh@aybabtu.com>
24108
fe6b695a 24109 Get rid of confusing function (superseded by
33bf70a7 24110 `grub_ieee1275_get_integer_property')
24111 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
24112 prototype.
24113 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
24114 function.
24115 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
24116 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 24117 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 24118
e2da7d26 241192008-01-19 Robert Millan <rmh@aybabtu.com>
24120
24121 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
24122 command after "shut-down", since implementations differ on which
24123 the command for halt is.
24124
59f1fd8d 241252008-01-19 Robert Millan <rmh@aybabtu.com>
24126
24127 * include/grub/i386/linuxbios/console.h: Add header protection.
24128 (grub_keyboard_controller_init): New function prototype.
24129 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
24130 (KEYBOARD_COMMAND_READ): Likewise.
24131 (KEYBOARD_COMMAND_WRITE): Likewise.
24132 (KEYBOARD_SCANCODE_SET1): Likewise.
24133 (grub_keyboard_controller_write): New function.
24134 (grub_keyboard_controller_read): Likewise.
24135 (grub_keyboard_controller_init): Likewise.
24136
24137 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
24138 (grub_console_init): On coreboot/LinuxBIOS, call
24139 grub_keyboard_controller_init().
24140
5f5a7c15 241412008-01-19 Robert Millan <rmh@aybabtu.com>
24142
24143 PowerPC changes provided by Pavel Roskin.
24144
24145 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
24146 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
24147 don't rely on cmain() doing it.
24148 * kern/i386/ieee1275/startup.S (_start): Store %eax in
24149 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
24150
1210e168 241512008-01-16 Robert Millan <rmh@aybabtu.com>
24152
24153 * include/grub/i386/linuxbios/memory.h
24154 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
24155 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
24156 receive `table_header' as argument. Instead, probe for it in the
24157 known memory ranges where it can be present.
24158 (grub_available_iterate): Do not pass a fixed `table_header' address
24159 to grub_linuxbios_table_iterate().
24160
3d04eab8 241612008-01-15 Robert Millan <rmh@aybabtu.com>
24162
24163 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
24164 * conf/i386-ieee1275.rmk: New file.
24165 * include/grub/i386/ieee1275/console.h: Likewise.
24166 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
24167 * include/grub/i386/ieee1275/kernel.h: Likewise.
24168 * include/grub/i386/ieee1275/time.h: Likewise.
24169 * kern/i386/ieee1275/init.c: Likewise.
24170 * kern/i386/ieee1275/startup.S: Likewise.
24171
d1bc1b73 241722008-01-15 Robert Millan <rmh@aybabtu.com>
24173
24174 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
24175 when pointers are 32-bit (but still do set it to one when they are
24176 64-bit).
24177
66a65807 241782008-01-15 Robert Millan <rmh@aybabtu.com>
24179
24180 * include/grub/ieee1275/ieee1275.h
24181 (grub_ieee1275_get_integer_property): New function prototype.
24182
24183 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
24184 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 24185 grub_ieee1275_get_property() to handle endianness.
66a65807 24186
24187 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
24188 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 24189 where appropriate.
66a65807 24190 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
24191 (grub_map): Likewise.
24192 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
24193
a83ccafd 241942008-01-15 Bean <bean123ch@gmail.com>
24195
24196 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
24197 (grub_script_execute_cmdline): Reset grub_errno.
24198
24199 * normal/main.c (read_config_file): Reset grub_errno.
24200
24201 * normal/parse.y (script_init): New.
24202 (script): Move function and menuentry here.
24203 (delimiter): New.
24204 (command): Add delimiter at the end of command.
24205 (commands): Adjust to match the new command.
24206 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 24207 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 24208 (if): Use the new commands.
24209
24210 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
24211
df6ecfc6 242122008-01-15 Robert Millan <rmh@aybabtu.com>
24213
24214 * normal/menu.c (run_menu): Move timeout message from here ...
24215 (print_timeout): ... to here.
24216 (run_menu): Use print_timeout() once during initial draw to print
24217 the whole message, and again in every clock tick to update only
24218 the number of seconds.
24219
87ae25eb 242202008-01-15 Robert Millan <rmh@aybabtu.com>
24221
24222 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
24223 actual size of `available' from grub_ieee1275_get_property(), and
24224 restrict parsing to that bound.
24225
47bf09a4 242262008-01-15 Christian Franke <franke@computer.org>
24227
24228 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
24229 (argp_program_version): Remove variable.
24230 (argp_program_bug_address): Likewise.
24231 (options): Convert from struct argp_option to struct option.
24232 (struct arguments): Remove.
24233 (parse_opt): Remove.
24234 (usage): New function.
24235 (main): Replace struct args members by simple variables.
24236 Replace argp_parse() by getopt_long().
24237 Add switch to evaluate options.
24238 Add missing "(...)" around root_dev in prefix string.
24239
c86f1469 242402008-01-14 Robert Millan <rmh@aybabtu.com>
24241
24242 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
24243 for grub_ieee1275_exit(), in order to improve portability.
24244
e622c559 242452008-01-14 Robert Millan <rmh@aybabtu.com>
24246
24247 * util/grub.d/10_linux.in (prefix): Define.
24248 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
24249
44cb1ec8 242502008-01-13 Pavel Roskin <proski@gnu.org>
24251
24252 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
24253 grub_errno if no errors have been detected.
24254
1eb8c802 242552008-01-12 Robert Millan <rmh@aybabtu.com>
24256
24257 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
24258 (grub_util_get_dev_abstraction): New function prototype.
24259
24260 * util/getroot.c: Include `<grub/util/getroot.h>'
24261 (grub_util_get_grub_dev): Move detection of abstraction type to ...
24262 (grub_util_get_dev_abstraction): ... here (new function).
24263
24264 * util/grub-probe.c: Convert PRINT_* to an enum. Add
24265 `PRINT_ABSTRACTION'.
24266 (probe): Probe for abstraction type when requested.
24267 (main): Understand `--target=abstraction'.
24268
24269 * util/i386/efi/grub-install.in: Add abstraction module to core
24270 image when it is found to be necessary.
24271 * util/i386/pc/grub-install.in: Likewise.
24272 * util/powerpc/ieee1275/grub-install.in: Likewise.
24273
24274 * util/update-grub_lib.in (font_path): Return system path without
24275 converting to GRUB path.
24276 * util/update-grub.in: Convert system path returned by font_path()
24277 to a GRUB path. Use `grub-probe -t abstraction' to determine what
24278 abstraction module is needed for loading fonts (if any). Export
24279 that as `GRUB_PRELOAD_MODULES'.
24280 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
24281 insmod commands).
24282
52bd3de9 242832008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
24284
24285 Remove some unused code from reiserfs.
f19dbdb7 24286
52bd3de9 24287 * fs/reiserfs.c (struct grub_reiserfs_key)
24288 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
24289 (struct grub_reiserfs_node_body): Removed.
24290 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24291 Likewise.
24292 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24293 Likewise.
24294 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24295 Likewise.
24296 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24297 Likewise.
24298 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24299 Likewise.
24300 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
24301 Likewise.
24302 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24303 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24304 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24305
2f80039d 243062008-01-10 Robert Millan <rmh@aybabtu.com>
24307
24308 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
24309 Determines if a file is garbage left by packaging systems, etc.
24310 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
24311 for processing /etc/grub.d scripts.
24312 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
24313 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
24314 as a condition for processing Linux images.
24315
87888032 243162008-01-10 Pavel Roskin <proski@gnu.org>
24317
24318 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
24319 to compile reiserfs.c on PowerPC.
24320
7e54fced 243212008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 24322
24323 * kern/device.c (grub_device_iterate): Do not abort device iteration
24324 when one of the devices cannot be opened.
24325 * kern/disk.c (grub_disk_open): Do not account previous failures of
24326 unrelated functions when grub_errno is checked for.
24327
5aa541e6 243282008-01-08 Robert Millan <rmh@aybabtu.com>
24329
24330 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
24331 `! grub_linux_is_bzimage', change order of address comparison to make
24332 it more intuitive, and improve "too big zImage" error message.
24333
7076340d 243342008-01-08 Robert Millan <rmh@aybabtu.com>
24335
24336 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
24337 `$(update-grub_DATA)'.
24338 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
24339 targets.
24340
9ca70333 243412008-01-07 Robert Millan <rmh@aybabtu.com>
24342
24343 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
24344 which instruction is modified by grub-setup during installation
24345 (since it wasn't obvious by only looking at this file).
24346
38ccf575 243472008-01-07 Robert Millan <rmh@aybabtu.com>
24348
24349 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
24350 listing actual TODO items.
24351
f5db4291 243522008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24353
868967cf 24354 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
24355 correctly.
24356 (grub_reiserfs_get_key_offset): Likewise.
24357 (grub_reiserfs_set_key_offset): Likewise.
24358 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 24359 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 24360
24361 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
24362 better to remove the bitfield version completely.
f19dbdb7 24363
868967cf 243642008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24365
f5db4291 24366 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
24367 allocated from the heap, due to the fshelp implementation.
24368 (grub_reiserfs_dir): Free NODE, due to the same reason.
24369
492e6d9d 243702008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24371
24372 Mostly from Vincent Pelletier:
f19dbdb7 24373
492e6d9d 24374 * fs/reiserfs.c: New file.
f19dbdb7 24375
492e6d9d 24376 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
24377 (reiserfs_mod_SOURCES): New variable.
24378 (reiserfs_mod_CFLAGS): Likewise.
24379 (reiserfs_mod_LDFLAGS): Likewise.
24380
24381 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
24382 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
24383 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
24384 normal/color.c.
24385
9ce3e7c1 243862008-01-06 Robert Millan <rmh@aybabtu.com>
24387
24388 * normal/color.c: Remove `<grub/env.h>'.
24389
f3b58148 243902008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
24391
24392 * include/grub/normal.h: Include <grub/env.h>.
24393
7ac3bcfa 243942008-01-05 Robert Millan <rmh@aybabtu.com>
24395
24396 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
24397 usage example with `(hd0,1)'.
fb358190 24398 Reported by Samuel Thibault.
7ac3bcfa 24399
c8ee99d7 244002008-01-05 Robert Millan <rmh@aybabtu.com>
24401
24402 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
24403 (grub_linux_boot_zimage): Rename to ...
24404 (grub_linux_boot): ... this.
24405 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
24406 (grub_linux_boot_zimage): Conditionalize zImage copy.
24407
24408 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
24409 (grub_linux_boot_bzimage): Remove prototype.
24410 (grub_linux_boot_zimage): Rename to ...
24411 (grub_linux_boot): ... this.
24412
24413 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
24414 (grub_linux_boot): Remove function.
24415
0ece25b1 244162008-01-05 Robert Millan <rmh@aybabtu.com>
24417
24418 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
24419 (grub_env_write_color_highlight): Likewise.
24420 (grub_wait_after_message): Likewise.
24421
24422 * normal/color.c: New file.
24423
24424 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24425 (normal_mod_DEPENDENCIES): Likewise.
24426
24427 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24428 (normal_mod_DEPENDENCIES): Likewise.
24429
24430 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24431 (normal_mod_DEPENDENCIES): Likewise.
24432
24433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24434 (normal_mod_DEPENDENCIES): Likewise.
24435
24436 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
24437 for waiting after a message is printed.
24438 * normal/main.c (read_config_file): Likewise.
24439 (grub_normal_init): Register grub_env_write_color_normal() and
24440 grub_env_write_color_highlight() hooks. Mark `color_normal' and
24441 `color_highlight' variables as global.
24442
24443 * normal/menu.c (grub_wait_after_message): New function.
24444 (grub_color_menu_normal): New variable. Replaces ...
24445 (GRUB_COLOR_MENU_NORMAL): ... this macro.
24446 (grub_color_menu_highlight): New variable. Replaces ...
24447 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
24448 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
24449 `GRUB_TERM_COLOR_STANDARD'.
24450 (print_message): Use `grub_setcolorstate' to reload colors. Rename
24451 `normal_code' and `highlight_code' to `old_color_normal' and
24452 `old_color_highlight', respectively.
24453 (grub_menu_init_page): Update colors when drawing the menu, based on
24454 `menu_color_normal' and `menu_color_highlight' variables.
24455 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
24456 a message is printed.
24457
182dd4e5 244582008-01-05 Robert Millan <rmh@aybabtu.com>
24459
24460 * kern/env.c (grub_env_context_open): Propagate hooks for global
24461 variables to new context.
24462
24463 * kern/main.c (grub_set_root_dev): Export `root' variable.
24464
ddf8f6ad 244652008-01-05 Robert Millan <rmh@aybabtu.com>
24466
24467 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 24468 discs unconditionally, since udev and others have options to provide
ddf8f6ad 24469 them.
24470
d8b43d9b 244712008-01-05 Robert Millan <rmh@aybabtu.com>
24472
24473 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
24474
2bff2de3 244752008-01-04 Christian Franke <franke@computer.org>
24476
24477 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
24478 of eisa_mmap.
24479
97eab917 244802008-01-03 Pavel Roskin <proski@gnu.org>
24481
24482 * kern/i386/linuxbios/init.c: Put "void" to all function
24483 declarations with no arguments.
24484 * kern/powerpc/ieee1275/init.c: Likewise.
24485 * term/i386/pc/at_keyboard.c: Likewise.
24486 * term/i386/pc/vga_text.c: Likewise.
24487 * util/grub-mkdevicemap.c: Likewise.
24488
b9416d00 244892008-01-02 Robert Millan <rmh@aybabtu.com>
24490
24491 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
24492 message when loaded image is out of bounds.
24493 (grub_multiboot_load_elf64): Likewise.
24494
92695df9 244952008-01-02 Pavel Roskin <proski@gnu.org>
24496
24497 * util/grub.d/10_linux.in: Try version without ".old" when
24498 looking for initrd. It's better to use initrd from the newer
24499 kernel of the same version than no initrd at all.
24500
d98d9cad 245012008-01-01 Robert Millan <rmh@aybabtu.com>
24502
24503 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
24504
dbfdce36 245052008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
24506
f19dbdb7 24507 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 24508 grub_video_get_active_render_target.
24509 (grub_video_adapter): Added unmap_color and get_active_render_target.
24510
f19dbdb7 24511 * video/video.c: Added grub_video_unmap_color and
dbfdce36 24512 grub_video_get_active_render_target.
24513 (grub_video_get_info): Changed method to accept NULL pointer as an
24514 argument to allow detection of active video adapter.
24515
24516 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
24517 grub_video_vbe_unmap_color_int.
24518 Added grub_video_vbe_unmap_color and
24519 grub_video_vbe_get_active_render_target.
24520 (grub_video_vbe_adapter): Added unmap_color and
24521 get_active_render_target.
24522
f19dbdb7 24523 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 24524 with grub_video_vbe_unmap_color_int.
24525
24526 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
24527 (DEFAULT_NORMAL_COLOR): Likewise.
24528 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
24529 (DEFAULT_FG_COLOR): Removed.
24530 (DEFAULT_BG_COLOR): Likewise.
24531 (DEFAULT_CURSOR_COLOR): Changed value.
24532 (grub_virtual_screen): Added standard_color_setting,
24533 normal_color_setting, highlight_color_setting and term_color.
24534 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
24535 (bitmap_width): Added.
24536 (bitmap_height): Likewise.
24537 (bitmap): Likewise.
24538 (set_term_color): Likewise.
24539 (grub_virtual_screen_setup): Changed to use new terminal coloring
24540 settings.
24541 (grub_gfxterm_init): Added init for bitmap.
24542 (grub_gfxterm_fini): Added destroy for bitmap.
24543 (redraw_screen_rect): Updated to use background bitmap and new
24544 terminal coloring.
24545 (scroll_up): Added optimization for case when there is no bitmap.
24546 (grub_gfxterm_cls): Fixed to use correct background color.
24547 (grub_virtual_screen_setcolorstate): Changed to use new terminal
24548 coloring.
24549 (grub_virtual_screen_setcolor): Likewise.
24550 (grub_virtual_screen_getcolor): Added.
24551 (grub_gfxterm_background_image_cmd): Likewise.
24552 (grub_video_term): Added setcolor and getcolor.
24553 (MOD_INIT): Added registration of background_image command.
24554 (MOD_TERM): Added unregistration for background_image command.
24555
c3c20931 245562007-12-30 Pavel Roskin <proski@gnu.org>
24557
24558 * loader/multiboot_loader.c: Fix multiboot command
24559 unregistration. Fix all typos in the word "multiboot".
24560
df266716 245612007-12-29 Pavel Roskin <proski@gnu.org>
94239199 24562
24563 * util/grub.d/10_linux.in: Refactor search for initrd. Add
24564 support for initrd names used in Fedora.
24565
fc6e896c 245662007-12-26 Bean <bean123ch@gmail.com>
24567
24568 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
24569 (cpio_mod_SOURCES): New variable.
24570 (cpio_mod_CFLAGS): Likewise.
24571 (cpio_mod_LDFLAGS): Likewise.
24572
24573 * fs/cpio.c: New file.
24574
24575 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
24576
24577 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24578
24579 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24580
24581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24582
533110ad 245832007-12-25 Robert Millan <rmh@aybabtu.com>
24584
24585 * include/grub/term.h (struct grub_term): Add `getcolor' function.
24586 (grub_getcolor): New function.
24587
24588 * kern/term.c (grub_getcolor): New function.
24589 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
24590 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
24591 (print_entry): Set normal and highlight colors to
24592 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
24593 respectively, before printing and restore them to old
24594 values afterwards.
24595 (grub_menu_init_page): Likewise. Fill an additional colored space
24596 that would otherwise be left blank.
24597
24598 * term/efi/console.c (grub_console_getcolor): New function.
24599 (struct grub_console_term.getcolor): New variable.
24600 * term/i386/pc/console.c (grub_console_getcolor): New function.
24601 (struct grub_console_term.getcolor): New variable.
24602 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
24603 (struct grub_console_term.getcolor): New variable.
24604
24605 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
24606 (struct grub_console_term.setcolor): Remove variable.
24607 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
24608 (struct grub_console_term.setcolor): Remove variable.
24609 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
24610 (struct grub_console_term.setcolor): Remove variable.
24611 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
24612 (struct grub_console_term.setcolor): Remove variable.
24613
4931827f 246142007-12-25 Robert Millan <rmh@aybabtu.com>
24615
24616 * configure.ac: Search for possible unifont.hex locations, and
24617 define UNIFONT_HEX if found.
24618
24619 * Makefile.in (UNIFONT_HEX): Define variable.
24620 (DATA): Rename to ...
24621 (PKGLIB): ... this. Update all users.
24622 (PKGDATA): New variable.
24623 (pkgdata_IMAGES): Rename to ...
24624 (pkglib_IMAGES): ... this. Update all users.
24625 (pkgdata_MODULES): Rename to ...
24626 (pkglib_MODULES): ... this. Update all users.
24627 (pkgdata_PROGRAMS): Rename to ...
24628 (pkglib_PROGRAMS): ... this. Update all users.
24629 (pkgdata_DATA): Rename to ...
24630 (pkglib_DATA): ... this. Update all users.
24631 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
24632 (unicode.pff, ascii.pff): New rules.
24633 (all-local): Add `$(PKGDATA)' dependency.
24634 (install-local): Process `$(PKGDATA)'.
24635
24636 * util/update-grub_lib.in (font_path): Search for *.pff files in
24637 a few more locations, including `${pkgdata}'.
24638
57e57e31 246392007-12-23 Robert Millan <rmh@aybabtu.com>
24640
24641 Patch from Bean <bean123ch@gmail.com>:
24642 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
24643 `size'.
24644
4bc72aa9 246452007-12-21 Bean <bean123ch@gmail.com>
24646
24647 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
24648 (ntfscomp_mod_SOURCES): New variable.
24649 (ntfscomp_mod_CFLAGS): Likewise.
24650 (ntfscomp_mod_LDFLAGS): Likewise.
24651
24652 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
24653 (grub_probe_SOURCES): Likewise.
24654 (grub_emu_SOURCES): Likewise.
24655
24656 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24657 (grub_emu_SOURCES): Likewise.
24658
24659 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24660 (grub_emu_SOURCES): Likewise.
24661
24662 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24663 (grub_emu_SOURCES): Likewise.
24664
24665 * fs/ntfs.c (grub_ntfscomp_func): New variable.
24666 (read_run_list): Renamed to grub_ntfs_read_run_list.
24667 (decomp_nextvcn): Moved to ntfscomp.c.
24668 (decomp_getch): Likewise.
24669 (decomp_get16): Likewise.
24670 (decomp_block): Likewise.
24671 (read_block): Likewise.
24672 (read_data): Partially moved to ntfscomp.c.
24673 (fixup): Change unsigned to grub_uint16_t.
24674 (read_mft): Change unsigned long to grub_uint32_t.
24675 (read_attr): Likewise.
24676 (read_data): Likewise.
24677 (read_run_data): Likewise.
24678 (read_run_list): Likewise.
24679 (read_mft): Likewise.
24680
24681 * fs/ntfscomp.c: New file.
24682
24683 * include/grub/ntfs.h: New file.
24684
af680a87 246852007-12-16 Robert Millan <rmh@aybabtu.com>
24686
24687 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
24688 IDE disk check, since Linux is known to support 20 IDE disks.
24689 Reported by Colin Watson.
24690
84be7599 246912007-12-15 Bean <bean123ch@gmail.com>
24692
24693 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
24694 (lnxboot_img_SOURCES): New variable.
24695 (lnxboot_img_ASFLAGS): Likewise.
24696 (lnxboot_img_LDFLAGS): Likewise.
24697
24698 * boot/i386/pc/lnxboot.S: New file.
24699
6af9db01 247002007-11-24 Pavel Roskin <proski@gnu.org>
24701
24702 * configure.ac: Test if '--build-id=none' is supported by the
24703 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
24704 objcopy to generate incorrect binary files (binutils
24705 2.17.50.0.18-1 as shipped by Fedora 8).
24706 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
24707 linking, so that build ID doesn't break the test.
24708
7361cfe6 247092007-11-24 Pavel Roskin <proski@gnu.org>
24710
24711 * include/grub/i386/time.h: use "void" in the argument list
24712 of grub_cpu_idle().
24713 * include/grub/powerpc/time.h: Likewise.
24714 * include/grub/sparc64/time.h: Likewise.
24715
1593e10c 247162007-11-18 Christian Franke <franke@computer.org>
24717
24718 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
24719 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
24720 This fixes the problem that function keys did not work in grub-emu.
24721
3b8db1a8 247222007-11-18 Christian Franke <franke@computer.org>
24723
24724 * disk/host.c (grub_host_open): Remove attribute unused from
24725 name parameter. Add check for "host". This fixes the problem
24726 that grub-emu does not find partitions.
24727
2e29408d 247282007-11-18 Christian Franke <franke@computer.org>
24729
24730 * util/hostfs.c (is_dir): New function.
24731 (grub_hostfs_dir): Handle missing dirent.d_type case.
24732 (grub_hostfs_read): Add missing fseek().
24733 (grub_hostfs_label): Clear label pointer. This fixes a crash
24734 of grub-emu on "ls (host)".
24735
398cd047 247362007-11-18 Christian Franke <franke@computer.org>
24737
24738 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
24739 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
24740 to 64 bit boundary by default.
24741
c405c391 247422007-11-18 Bean <bean123ch@gmail.com>
24743
24744 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
24745 (hexdump_mod_SOURCES): New variable.
24746 (hexdump_mod_CFLAGS): Likewise.
24747 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 24748
c405c391 24749 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24750
24751 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24752
24753 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24754
24755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24756
24757 * include/grub/hexdump.h: New file.
24758
24759 * commands/hexdump.c: New file.
24760
5cced7fd 247612007-11-10 Robert Millan <rmh@aybabtu.com>
24762
24763 * commands/i386/pc/play.c (beep_off): Switch order of arguments
24764 in grub_outb() calls.
24765 (beep_on): Likewise.
24766
8b714eb0 247672007-11-10 Christian Franke <franke@computer.org>
24768
24769 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
24770 (grub_menu_run): Likewise.
24771
ce0f1839 247722007-11-10 Robert Millan <rmh@aybabtu.com>
24773
24774 * include/grub/i386/efi/machine.h: New file.
24775 * include/grub/i386/linuxbios/machine.h: Likewise.
24776 * include/grub/i386/pc/machine.h: Likewise.
24777 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24778 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24779
24780 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
24781 (serial_hw_io_addr): New variable.
24782 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
24783 instead of `(unsigned short *) 0x400'.
24784
270c237d 247852007-11-10 Bean <bean123ch@gmail.com>
24786
24787 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
24788
a87783bf 247892007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24790
24791 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
24792 (vga_mod_SOURCES): Added.
24793 (vga_mod_CFLAGS): Likewise.
24794 (vga_mod_LDFLAGS): Likewise.
24795
24796 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
24797 grub_outb() calls.
24798 (set_map_mask): Likewise.
24799 (set_read_map): Likewise.
24800 (set_read_address): Likewise.
24801 (vga_font): Removed variable.
24802 (get_vga_glyph): Removed function.
24803 (invalidate_char): Likewise.
24804 (write_char): Changed to use grub_font_get_glyph() for font
24805 information.
24806 (grub_vga_putchar): Likewise.
24807 (grub_vga_getcharwidth): Likewise.
24808
6433b448 248092007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24810
24811 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
24812 flags.
24813 (pxeboot_img_LDFLAGS): Likewise.
24814 (diskboot_img_LDFLAGS): Likewise.
24815 (kernel_img_LDFLAGS): Likewise.
24816
49178511 248172007-11-06 Robert Millan <rmh@aybabtu.com>
24818
24819 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
24820 in grub_outb() calls.
24821 (serial_hw_init): Likewise.
24822
53b052de 248232007-11-05 Robert Millan <rmh@aybabtu.com>
24824
24825 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
24826 spaces. Skip non-regular files.
24827
5ab33bba 248282007-11-05 Robert Millan <rmh@aybabtu.com>
24829
24830 * kern/disk.c (grub_disk_firmware_fini)
24831 (grub_disk_firmware_is_tainted): New variables.
24832
24833 * include/grub/disk.h (grub_disk_firmware_fini)
24834 (grub_disk_firmware_is_tainted): Likewise.
24835
24836 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
24837 (grub_disk_biosdisk_fini): ... to here.
24838 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
24839 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
24840 is set. Register grub_disk_biosdisk_fini() in
24841 `grub_disk_firmware_fini'.
24842
24843 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
24844 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
24845 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
24846 to finish existing firmware disk interface.
24847
24848 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
24849 (ata_mod_SOURCES): New variable.
24850 (ata_mod_CFLAGS): Likewise.
24851 (ata_mod_LDFLAGS): Likewise.
24852
0149ab7c 248532007-11-05 Robert Millan <rmh@aybabtu.com>
24854
24855 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
24856 (grub_ata_wait): Reimplement using grub_millisleep().
24857
24858 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
24859 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
24860
be7ac41e 248612007-11-03 Marco Gerards <marco@gnu.org>
24862
24863 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
24864 (CRTC_ADDR_PORT): New macro.
24865 (CRTC_DATA_PORT): Likewise.
24866 (CRTC_CURSOR): Likewise.
24867 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24868 (CRTC_CURSOR_ADDR_LOW): Likewise.
24869 (update_cursor): New function.
24870 (grub_console_real_putchar): Call `update_cursor'.
24871 (grub_console_gotoxy): Likewise.
24872 (grub_console_cls): Set the default color when clearing the
24873 screen.
24874 (grub_console_setcursor): Implemented.
24875
bb06ab2e 248762007-11-03 Marco Gerards <marco@gnu.org>
24877
24878 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
24879 become activate.
24880 (grub_ata_pio_write): Likewise.
24881
24882 (grub_atapi_identify): Wait after issuing an ATA command.
24883 (grub_atapi_packet): Likewise.
24884 (grub_ata_identify): Likewise.
24885 (grub_ata_readwrite): Likewise.
24886
cf8f780b 248872007-11-03 Marco Gerards <marco@gnu.org>
24888
24889 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
24890 (grub_ata_pio_write): Likewise.
24891 (grub_ata_readwrite): Use `grub_error', instead of
24892 returning `grub_errno'.
24893
ed649e54 248942007-11-03 Marco Gerards <marco@gnu.org>
24895
24896 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
24897 grub_ata_pio_write once for every single sector, instead of for
24898 multiple sectors.
24899
ca25d8f0 249002007-10-31 Robert Millan <rmh@aybabtu.com>
24901
24902 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
24903
24904 * conf/i386-linuxbios.rmk: New file.
24905
24906 * kern/i386/pc/hardware.c: Likewise.
24907 * term/i386/pc/at_keyboard.c: Likewise.
24908 * term/i386/pc/vga_text.c: Likewise.
24909
24910 * include/grub/i386/linuxbios/boot.h: Likewise.
24911 * include/grub/i386/linuxbios/console.h: Likewise.
24912 * include/grub/i386/linuxbios/init.h: Likewise.
24913 * include/grub/i386/linuxbios/kernel.h: Likewise.
24914 * include/grub/i386/linuxbios/loader.h: Likewise.
24915 * include/grub/i386/linuxbios/memory.h: Likewise.
24916 * include/grub/i386/linuxbios/serial.h: Likewise.
24917 * include/grub/i386/linuxbios/time.h: Likewise.
24918
24919 * kern/i386/linuxbios/init.c: Likewise.
24920 * kern/i386/linuxbios/startup.S: Likewise.
24921 * kern/i386/linuxbios/table.c: Likewise.
24922
e911ecc1 249232007-10-31 Marco Gerards <marco@gnu.org>
24924
24925 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
24926 (ata_mod_SOURCES): New variable.
24927 (ata_mod_CFLAGS): Likewise.
24928 (ata_mod_LDFLAGS): Likewise.
24929
24930 * disk/ata.c: New file.
24931
24932 * include/grub/disk.h (grub_disk_dev_id): Add
24933 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 24934
7f66d0e0 249352007-10-31 Robert Millan <rmh@aybabtu.com>
24936
24937 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
24938 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
24939
24940 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
24941 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
24942
24943 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
24944 `<grub/types.h>'.
24945
24946 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
24947
5cd7dd46 249482007-10-27 Robert Millan <rmh@aybabtu.com>
24949
3236ca65 24950 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 24951
2ebfc90f 249522007-10-22 Robert Millan <rmh@aybabtu.com>
24953
24954 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
24955 `"../realmode.S"'.
24956 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
24957
73fcb0f3 249582007-10-22 Robert Millan <rmh@aybabtu.com>
24959
24960 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
24961 (pkgdata_MODULES): Add `biosdisk.mod'.
24962 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
24963 variables.
24964
24965 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
24966 (grub_biosdisk_init): Replace with ...
24967 (GRUB_MOD_INIT(biosdisk)): ... this.
24968 (grub_biosdisk_fini): Replace with ...
24969 (GRUB_MOD_FINI(biosdisk)): ... this.
24970
24971 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
24972 (grub_machine_init): Remove call to grub_biosdisk_init().
24973 (grub_machine_fini): Remove call to grub_machine_fini().
24974
24975 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
24976
3381d274 249772007-10-22 Robert Millan <rmh@aybabtu.com>
24978
24979 * include/grub/time.h: New file.
24980 * include/grub/i386/time.h: Likewise.
24981 * include/grub/powerpc/time.h: Likewise.
24982 * include/grub/sparc64/time.h: Likewise.
24983
24984 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
24985 instances to ...
24986 (KERNEL_MACHINE_TIME_HEADER): ... this.
24987 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24988 instances to ...
24989 (KERNEL_MACHINE_TIME_HEADER): ... this.
24990 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24991 instances to ...
24992 (KERNEL_MACHINE_TIME_HEADER): ... this.
24993
24994 * kern/i386/efi/init.c: Include `<grub/time.h>'.
24995 (grub_millisleep): New function.
24996 * kern/i386/pc/init.c: Include `<grub/time.h>'.
24997 (grub_millisleep): New function.
24998 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
24999 Remove `grub/machine/time.h' include.
25000 (grub_millisleep): New function.
25001 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
25002 Remove `grub/machine/time.h' include.
25003 (grub_millisleep): New function.
25004
25005 * include/grub/misc.h (grub_div_roundup): New function.
25006
25007 * kern/misc.c: Include `<grub/time.h>'.
25008 (grub_millisleep_generic): New function.
25009
25010 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
25011 Add `time.h'.
25012 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
25013 Add `time.h'.
25014 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
25015 `machine/time.h'. Add `time.h'.
25016 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25017
a39a0312 250182007-10-21 Robert Millan <rmh@aybabtu.com>
25019
25020 * include/grub/misc.h (grub_max): New function.
25021
2aad70e2 250222007-10-21 Robert Millan <rmh@aybabtu.com>
25023
25024 * util/misc.c (grub_util_info): Call fflush() before returning.
25025
54b71c4b 250262007-10-20 Robert Millan <rmh@aybabtu.com>
25027
25028 * genmk.rb (Image): Copy `extra_flags' from here ...
25029 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
25030
25031 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
25032 to `argc' and `args' arguments.
25033
a979f513 250342007-10-17 Robert Millan <rmh@aybabtu.com>
25035
25036 * kern/i386/loader.S: New file.
25037
25038 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
25039 * kern/i386/loader.S (grub_linux_prot_size)... to here.
25040 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
25041 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
25042 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
25043 * kern/i386/loader.S (grub_linux_real_addr)... to here.
25044 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
25045 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
25046 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
25047 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
25048 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
25049 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
25050 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
25051 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
25052
25053 * kern/i386/realmode.S: New file.
25054
25055 * kern/i386/pc/startup.S (protstack): Moved from here ...
25056 * kern/i386/realmode.S (protstack)... to here.
25057 * kern/i386/pc/startup.S (gdt): Moved from here ...
25058 * kern/i386/realmode.S (gdt)... to here.
25059 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
25060 * kern/i386/realmode.S (prot_to_real)... to here.
25061
25062 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
25063 `kern/i386/realmode.S'.
25064
825fc8fd 250652007-10-17 Robert Millan <rmh@aybabtu.com>
25066
25067 * include/grub/i386/loader.h: New file.
25068
25069 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
25070 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25071 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25072 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25073 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
25074 * include/grub/i386/loader.h (grub_linux_prot_size)
25075 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25076 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25077 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25078 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
25079
25080 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
25081
e179b2f4 250822007-10-15 Robert Millan <rmh@aybabtu.com>
25083
25084 * normal/misc.c (grub_normal_print_device_info): Do not probe for
25085 filesystem when dev->disk is unset.
25086 Do probe for filesystem even when dev->disk->has_partitions is set.
25087 In case a filesystem is found, always report it.
25088 In case it isn't, if dev->disk->has_partitions is set, report that
25089 a partition table was found instead of reporting that no filesystem
25090 could be identified.
25091
5db82af6 250922007-10-12 Robert Millan <rmh@aybabtu.com>
25093
25094 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
25095 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
25096
68f6ac74 25097 * include/grub/types.h (grub_host_to_target16): New macro.
25098 (grub_host_to_target32): Likewise.
25099 (grub_host_to_target64): Likewise.
25100 (grub_target_to_host16): Likewise.
25101 (grub_target_to_host32): Likewise.
25102 (grub_target_to_host64): Likewise.
5db82af6 25103
25104 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25105 Renamed from to ...
25106 (GRUB_MOD_ALIGN): ...this. Update all users.
25107
68f6ac74 25108 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
25109 grub_host_to_target32.
25110 Replace grub_be_to_cpu32 with grub_target_to_host32.
25111 (load_modules): Likewise.
25112 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
25113 Replace grub_be_to_cpu32 with grub_target_to_host32.
25114 Replace grub_cpu_to_be16 with grub_host_to_target16.
25115 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 25116
3cf497cc 251172007-10-12 Robert Millan <rmh@aybabtu.com>
25118
25119 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
25120 * util/elf/grub-mkimage.c: ... here.
25121
25122 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
25123 `util/powerpc/ieee1275/grub-mkimage.c'.
25124
c8cc3692 251252007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 25126
c8cc3692 25127 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
25128 and make it easier to figure out.
25129 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
25130 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
25131 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
25132 leave us with less than HEAP_MIN_SIZE total heap.
25133 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 25134
5c58b791 251352007-10-03 Robert Millan <rmh@aybabtu.com>
25136
25137 * include/grub/i386/io.h: New file.
25138 * commands/i386/pc/play.c (inb): Removed.
25139 (outb): Removed.
25140 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25141 with grub_outb().
afcd2ef8 25142 * term/i386/pc/serial.c (inb): Removed.
25143 (outb): Removed.
25144 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25145 with grub_outb().
25146 * term/i386/pc/vga.c (inb): Removed.
25147 (outb): Removed.
25148 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25149 with grub_outb().
5c58b791 25150
1a477ed6 251512007-10-02 Robert Millan <rmh@aybabtu.com>
25152
25153 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
25154 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25155 Reported by Marcin Kurek.
25156
6b5d80fa 251572007-09-07 Robert Millan <rmh@aybabtu.com>
25158
25159 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
25160 SmartFirmware version updates (as released by Sven Luther), and avoid
25161 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
25162 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
25163 known broken.
25164
5618afbf 251652007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25166
25167 From Hitoshi Ozeki:
25168 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
25169 when merging two regions.
25170
6139dcd9 251712007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25172
508e39ee 25173 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
25174 * normal/completion.c (grub_normal_do_completion): Likewise.
25175 Reported by Hitoshi Ozeki.
25176
251772007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25178
6139dcd9 25179 Do not use devices at boot in chainloading.
f19dbdb7 25180
6139dcd9 25181 * loader/i386/pc/chainloader.c (boot_drive): New variable.
25182 (boot_part_addr): Likewise.
25183 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
25184 with BOOT_DRIVE and BOOT_PART_ADDR.
25185 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
25186 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
25187
38da6516 251882007-08-29 Robert Millan <rmh@aybabtu.com>
25189
25190 Patch from Simon Peter <dn.tlp@gmx.net>:
25191 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
25192 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
25193 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
25194 util/i386/pc/grub-setup.c_DEPENDENCIES.
25195 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
25196 util/grub-probe.c_DEPENDENCIES.
25197 * conf/powerpc-ieee1275.rmk: Likewise.
25198
29d0928c 251992007-08-28 Robert Millan <rmh@aybabtu.com>
25200
25201 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
25202 to tell grub-mkdevicemap how to name devices.
25203 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
25204 feature).
25205
25206 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
25207 util/i386/get_disk_name.c.
25208 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
25209 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
25210 util/ieee1275/get_disk_name.c.
25211
25212 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
25213
25214 * DISTLIST: Add util/i386/get_disk_name.c and
25215 util/ieee1275/get_disk_name.c.
25216
25217 * util/grub-mkdevicemap.c: Replace device naming logic with
25218 grub_util_get_disk_name() calls.
25219
5a0d3cca 252202007-08-20 Robert Millan <rmh@aybabtu.com>
25221
25222 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
25223 (so that it works for both plural and singular quantities).
25224
8b72db2f 252252007-08-05 Robert Millan <rmh@aybabtu.com>
25226
25227 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
25228 so that [xz] isn't taken into account when determining order.
25229
352466bf 252302007-08-02 Marco Gerards <marco@gnu.org>
25231
25232 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
25233 `include/multiboot2.h', `include/grub/elfload.h',
25234 `include/multiboot.h', `include/grub/multiboot.h',
25235 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
25236 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
25237 `kern/elf.c', `loader/multiboot_loader.c',
25238 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
25239 `loader/i386/pc/multiboot2.c',
25240 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
25241 `util/i386/pc/grub-mkrescue.in'. Remove
25242 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
25243 `include/grub/i386/pc/util/biosdisk.h' and
25244 `include/grub/powerpc/ieee1275/multiboot.h'.
25245
8f096014 252462007-08-02 Bean <bean123ch@gmail.com>
25247
25248 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
25249 (ntfs_mod_SOURCES): New variable.
25250 (ntfs_mod_CFLAGS): Likewise.
25251 (ntfs_mod_LDFLAGS): Likewise.
25252
25253 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
25254 (grub_probe_SOURCES): Likewise.
25255 (grub_emu_SOURCES): Likewise.
25256
25257 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25258 (grub_emu_SOURCES): Likewise.
25259
25260 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25261 (grub_emu_SOURCES): Likewise.
f19dbdb7 25262
8f096014 25263 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
25264
25265 * fs/ntfs.c: New file.
25266
9959f7db 252672007-08-02 Bean <bean123ch@gmail.com>
25268
25269 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
25270
25271 * file.h (grub_file): Likewise.
25272
25273 * fshelp.h (grub_fshelp_read_file): Likewise.
25274
25275 * util/i386/pc/grub-setup.c (setup): Likewise.
25276 (save_first_sector): Likewise.
25277 (save_blocklists): Likewise.
f19dbdb7 25278
9959f7db 25279 * fs/affs.c (grub_affs_read_file): Likewise.
25280
25281 * fs/ext2.c (grub_ext2_read_file): Likewise.
25282
25283 * fs/fat.c (grub_fat_read_data): Likewise.
25284
25285 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
25286
25287 * fs/hfs.c (grub_hfs_read_file): Likewise.
25288
25289 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25290
25291 * fs/jfs.c (grub_jfs_read_file): Likewise.
25292
25293 * fs/minix.c (grub_minix_read_file): Likewise.
25294
25295 * fs/sfs.c (grub_sfs_read_file): Likewise.
25296
25297 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 25298
9959f7db 25299 * fs/xfs.c (grub_xfs_read_file): Likewise.
25300
25301 * command/blocklist.c (read_blocklist): Likewise.
25302 (print_blocklist): Likewise.
25303
0a203f83 253042007-08-02 Marco Gerards <marco@gnu.org>
25305
25306 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
25307 `util/hostfs.c'.
25308
25309 * disk/host.c: New file.
25310
25311 * util/hostfs.c: Likewise.
25312
25313 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
25314 return `GRUB_ERR_BAD_FS'.
25315 * fs/sfs.c (grub_sfs_mount): Likewise.
25316 * fs/xfs.c (grub_xfs_mount): Likewise.
25317
25318 * include/grub/disk.h (enum grub_disk_dev_id): Add
25319 `GRUB_DISK_DEVICE_HOST_ID'.
25320
25321 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
25322
e5dfe777 253232007-07-24 Jerone Young <jerone@gmail.com>
25324
f19dbdb7 25325 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 25326 modules for compilation.
25327 * conf/powerpc-ieee1275.rmk: Likewise.
25328
25329 * include/multiboot.h: Move multiboot definitions to one file. Rename
25330 many definitions to not get grub specific.
25331 * include/multiboot2.h: Create header with multiboot 2 definitions.
25332 * include/grub/multiboot.h: Header for grub specific function
25333 prototypes and definitions.
25334 * include/grub/multiboot2.h: Likewise.
25335 * include/grub/multiboot_loader.h: Likewise.
25336 * include/grub/i386/pc/multiboot.h: Removed.
25337 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
25338
25339 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
25340 and 2 to allow for one multiboot and module commands.
25341 * loader/multiboot2.c: Add multiboot2 functionality.
25342 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
25343 and definition names.
25344 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
25345 2 functions.
25346 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
25347 ieee1275 specific multiboot2 code.
25348
25349 * kern/i386/pc/startup.S: Change headers and definition names for
25350 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
25351
daf0f0ba 253522007-07-22 Robert Millan <rmh@aybabtu.com>
25353
25354 * geninitheader.sh: Process file specified in first parameter rather
25355 than hardcoding grub_modules_init.lst.
fe6b695a 25356 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 25357 than hardcoding grub_modules_init.h.
25358
25359 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
25360 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
25361 grub_probe_init.[ch] and grub_setup_init.[ch].
25362
25363 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
25364 grub_modules_init.h with grub_emu_init.h.
25365 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
25366 grub_probe_init.[ch] files.
25367 * conf/i386-efi.rmk: Likewise.
25368 * conf/i386-pc.rmk: Likewise.
25369 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
25370 grub_setup_init.[ch] files.
25371
25372 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
25373 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
25374 to initialize modules rather than a list of hardcoded functions.
25375 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
25376 grub_init_all() to initialize modules rather than a list of hardcoded
25377 functions.
25378
54cdc1cc 253792007-07-22 Robert Millan <rmh@aybabtu.com>
25380
25381 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25382 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
25383
ad0686cc 253842007-07-22 Robert Millan <rmh@aybabtu.com>
25385
25386 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25387 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
25388 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
25389 flag when running on SmartFirmware.
25390 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
25391 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
25392 was set.
25393
25394 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25395 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
25396 rather than decreasing it.
25397
25398 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
25399 there's not enough space to do it, fail in the same way as when it
25400 can't be done because there are no partitions.
25401
25402 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
25403 when nvsetenv failed.
25404
969c02ec 254052007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25406
25407 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
25408 because this rule is automatically generated.
25409 (grub-mkrescue): Removed for the same reason as above.
25410
5a79f472 254112007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25412
25413 Migrate to GNU General Public License Version 3.
f19dbdb7 25414
5a79f472 25415 * COPYING: Replaced with the plain text version of GPLv3.
25416
25417 * config.guess: Updated from gnulib.
25418 * config.sub: Likewise.
25419
25420 * geninit.sh: Output a GPLv3 copyright notice.
25421 * geninitheader.sh: Likewise.
25422 * genmodsrc.sh: Likewise.
25423 * gensymlist.sh.in: Likewise.
25424
25425 * boot/i386/pc/boot.S: Upgraded to GPLv3.
25426 * boot/i386/pc/diskboot.S: Likewise.
25427 * boot/i386/pc/pxeboot.S: Likewise.
25428 * commands/blocklist.c: Likewise.
25429 * commands/boot.c: Likewise.
25430 * commands/cat.c: Likewise.
25431 * commands/cmp.c: Likewise.
25432 * commands/configfile.c: Likewise.
25433 * commands/echo.c: Likewise.
25434 * commands/help.c: Likewise.
25435 * commands/ls.c: Likewise.
25436 * commands/search.c: Likewise.
25437 * commands/terminal.c: Likewise.
25438 * commands/test.c: Likewise.
25439 * commands/videotest.c: Likewise.
25440 * commands/i386/cpuid.c: Likewise.
25441 * commands/i386/pc/halt.c: Likewise.
25442 * commands/i386/pc/play.c: Likewise.
25443 * commands/i386/pc/reboot.c: Likewise.
25444 * commands/i386/pc/vbeinfo.c: Likewise.
25445 * commands/i386/pc/vbetest.c: Likewise.
25446 * commands/ieee1275/halt.c: Likewise.
25447 * commands/ieee1275/reboot.c: Likewise.
25448 * commands/ieee1275/suspend.c: Likewise.
25449 * disk/loopback.c: Likewise.
25450 * disk/lvm.c: Likewise.
25451 * disk/raid.c: Likewise.
25452 * disk/efi/efidisk.c: Likewise.
25453 * disk/i386/pc/biosdisk.c: Likewise.
25454 * disk/ieee1275/ofdisk.c: Likewise.
25455 * font/manager.c: Likewise.
25456 * fs/affs.c: Likewise.
25457 * fs/ext2.c: Likewise.
25458 * fs/fat.c: Likewise.
25459 * fs/fshelp.c: Likewise.
25460 * fs/hfs.c: Likewise.
25461 * fs/hfsplus.c: Likewise.
25462 * fs/iso9660.c: Likewise.
25463 * fs/jfs.c: Likewise.
25464 * fs/minix.c: Likewise.
25465 * fs/sfs.c: Likewise.
25466 * fs/ufs.c: Likewise.
25467 * fs/xfs.c: Likewise.
25468 * hello/hello.c: Likewise.
25469 * include/grub/acorn_filecore.h: Likewise.
25470 * include/grub/arg.h: Likewise.
25471 * include/grub/bitmap.h: Likewise.
25472 * include/grub/boot.h: Likewise.
25473 * include/grub/cache.h: Likewise.
25474 * include/grub/device.h: Likewise.
25475 * include/grub/disk.h: Likewise.
25476 * include/grub/dl.h: Likewise.
25477 * include/grub/elfload.h: Likewise.
25478 * include/grub/env.h: Likewise.
25479 * include/grub/err.h: Likewise.
25480 * include/grub/file.h: Likewise.
25481 * include/grub/font.h: Likewise.
25482 * include/grub/fs.h: Likewise.
25483 * include/grub/fshelp.h: Likewise.
25484 * include/grub/gzio.h: Likewise.
25485 * include/grub/hfs.h: Likewise.
25486 * include/grub/kernel.h: Likewise.
25487 * include/grub/loader.h: Likewise.
25488 * include/grub/lvm.h: Likewise.
25489 * include/grub/misc.h: Likewise.
25490 * include/grub/mm.h: Likewise.
25491 * include/grub/net.h: Likewise.
25492 * include/grub/normal.h: Likewise.
25493 * include/grub/parser.h: Likewise.
25494 * include/grub/partition.h: Likewise.
25495 * include/grub/pc_partition.h: Likewise.
25496 * include/grub/raid.h: Likewise.
25497 * include/grub/rescue.h: Likewise.
25498 * include/grub/script.h: Likewise.
25499 * include/grub/setjmp.h: Likewise.
25500 * include/grub/symbol.h: Likewise.
25501 * include/grub/term.h: Likewise.
25502 * include/grub/terminfo.h: Likewise.
25503 * include/grub/tparm.h: Likewise.
25504 * include/grub/types.h: Likewise.
25505 * include/grub/video.h: Likewise.
25506 * include/grub/efi/api.h: Likewise.
25507 * include/grub/efi/chainloader.h: Likewise.
25508 * include/grub/efi/console.h: Likewise.
25509 * include/grub/efi/console_control.h: Likewise.
25510 * include/grub/efi/disk.h: Likewise.
25511 * include/grub/efi/efi.h: Likewise.
25512 * include/grub/efi/pe32.h: Likewise.
25513 * include/grub/efi/time.h: Likewise.
25514 * include/grub/i386/linux.h: Likewise.
25515 * include/grub/i386/setjmp.h: Likewise.
25516 * include/grub/i386/types.h: Likewise.
25517 * include/grub/i386/efi/kernel.h: Likewise.
25518 * include/grub/i386/efi/loader.h: Likewise.
25519 * include/grub/i386/efi/time.h: Likewise.
25520 * include/grub/i386/pc/biosdisk.h: Likewise.
25521 * include/grub/i386/pc/boot.h: Likewise.
25522 * include/grub/i386/pc/chainloader.h: Likewise.
25523 * include/grub/i386/pc/console.h: Likewise.
25524 * include/grub/i386/pc/init.h: Likewise.
25525 * include/grub/i386/pc/kernel.h: Likewise.
25526 * include/grub/i386/pc/loader.h: Likewise.
25527 * include/grub/i386/pc/memory.h: Likewise.
25528 * include/grub/i386/pc/multiboot.h: Likewise.
25529 * include/grub/i386/pc/serial.h: Likewise.
25530 * include/grub/i386/pc/time.h: Likewise.
25531 * include/grub/i386/pc/vbe.h: Likewise.
25532 * include/grub/i386/pc/vbeblit.h: Likewise.
25533 * include/grub/i386/pc/vbefill.h: Likewise.
25534 * include/grub/i386/pc/vbeutil.h: Likewise.
25535 * include/grub/i386/pc/vga.h: Likewise.
25536 * include/grub/ieee1275/ieee1275.h: Likewise.
25537 * include/grub/ieee1275/ofdisk.h: Likewise.
25538 * include/grub/powerpc/libgcc.h: Likewise.
25539 * include/grub/powerpc/setjmp.h: Likewise.
25540 * include/grub/powerpc/types.h: Likewise.
25541 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
25542 * include/grub/powerpc/ieee1275/console.h: Likewise.
25543 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
25544 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25545 * include/grub/powerpc/ieee1275/loader.h: Likewise.
25546 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
25547 * include/grub/powerpc/ieee1275/time.h: Likewise.
25548 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
25549 * include/grub/sparc64/libgcc.h: Likewise.
25550 * include/grub/sparc64/setjmp.h: Likewise.
25551 * include/grub/sparc64/types.h: Likewise.
25552 * include/grub/sparc64/ieee1275/console.h: Likewise.
25553 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25554 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25555 * include/grub/sparc64/ieee1275/time.h: Likewise.
25556 * include/grub/util/biosdisk.h: Likewise.
25557 * include/grub/util/getroot.h: Likewise.
25558 * include/grub/util/lvm.h: Likewise.
25559 * include/grub/util/misc.h: Likewise.
25560 * include/grub/util/raid.h: Likewise.
25561 * include/grub/util/resolve.h: Likewise.
25562 * io/gzio.c: Likewise.
25563 * kern/device.c: Likewise.
25564 * kern/disk.c: Likewise.
25565 * kern/dl.c: Likewise.
25566 * kern/elf.c: Likewise.
25567 * kern/env.c: Likewise.
25568 * kern/err.c: Likewise.
25569 * kern/file.c: Likewise.
25570 * kern/fs.c: Likewise.
25571 * kern/loader.c: Likewise.
25572 * kern/main.c: Likewise.
25573 * kern/misc.c: Likewise.
25574 * kern/mm.c: Likewise.
25575 * kern/parser.c: Likewise.
25576 * kern/partition.c: Likewise.
25577 * kern/rescue.c: Likewise.
25578 * kern/term.c: Likewise.
25579 * kern/efi/efi.c: Likewise.
25580 * kern/efi/init.c: Likewise.
25581 * kern/efi/mm.c: Likewise.
25582 * kern/i386/dl.c: Likewise.
25583 * kern/i386/efi/init.c: Likewise.
25584 * kern/i386/efi/startup.S: Likewise.
25585 * kern/i386/pc/init.c: Likewise.
25586 * kern/i386/pc/lzo1x.S: Likewise.
25587 * kern/i386/pc/startup.S: Likewise.
25588 * kern/ieee1275/ieee1275.c: Likewise.
25589 * kern/powerpc/cache.S: Likewise.
25590 * kern/powerpc/dl.c: Likewise.
25591 * kern/powerpc/ieee1275/cmain.c: Likewise.
25592 * kern/powerpc/ieee1275/crt0.S: Likewise.
25593 * kern/powerpc/ieee1275/init.c: Likewise.
25594 * kern/powerpc/ieee1275/openfw.c: Likewise.
25595 * kern/sparc64/cache.S: Likewise.
25596 * kern/sparc64/dl.c: Likewise.
25597 * kern/sparc64/ieee1275/init.c: Likewise.
25598 * kern/sparc64/ieee1275/openfw.c: Likewise.
25599 * loader/efi/chainloader.c: Likewise.
25600 * loader/efi/chainloader_normal.c: Likewise.
25601 * loader/i386/efi/linux.c: Likewise.
25602 * loader/i386/efi/linux_normal.c: Likewise.
25603 * loader/i386/pc/chainloader.c: Likewise.
25604 * loader/i386/pc/chainloader_normal.c: Likewise.
25605 * loader/i386/pc/linux.c: Likewise.
25606 * loader/i386/pc/linux_normal.c: Likewise.
25607 * loader/i386/pc/multiboot.c: Likewise.
25608 * loader/i386/pc/multiboot_normal.c: Likewise.
25609 * loader/powerpc/ieee1275/linux.c: Likewise.
25610 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25611 * normal/arg.c: Likewise.
25612 * normal/cmdline.c: Likewise.
25613 * normal/command.c: Likewise.
25614 * normal/completion.c: Likewise.
25615 * normal/execute.c: Likewise.
25616 * normal/function.c: Likewise.
25617 * normal/lexer.c: Likewise.
25618 * normal/main.c: Likewise.
25619 * normal/menu.c: Likewise.
25620 * normal/menu_entry.c: Likewise.
25621 * normal/misc.c: Likewise.
25622 * normal/parser.y: Likewise.
25623 * normal/script.c: Likewise.
25624 * normal/i386/setjmp.S: Likewise.
25625 * normal/powerpc/setjmp.S: Likewise.
25626 * normal/sparc64/setjmp.S: Likewise.
25627 * partmap/acorn.c: Likewise.
25628 * partmap/amiga.c: Likewise.
25629 * partmap/apple.c: Likewise.
25630 * partmap/gpt.c: Likewise.
25631 * partmap/pc.c: Likewise.
25632 * partmap/sun.c: Likewise.
25633 * term/gfxterm.c: Likewise.
25634 * term/terminfo.c: Likewise.
25635 * term/efi/console.c: Likewise.
25636 * term/i386/pc/console.c: Likewise.
25637 * term/i386/pc/serial.c: Likewise.
25638 * term/i386/pc/vesafb.c: Likewise.
25639 * term/i386/pc/vga.c: Likewise.
25640 * term/ieee1275/ofconsole.c: Likewise.
25641 * util/biosdisk.c: Likewise.
25642 * util/console.c: Likewise.
25643 * util/genmoddep.c: Likewise.
25644 * util/getroot.c: Likewise.
25645 * util/grub-emu.c: Likewise.
25646 * util/grub-mkdevicemap.c: Likewise.
25647 * util/grub-probe.c: Likewise.
25648 * util/lvm.c: Likewise.
25649 * util/misc.c: Likewise.
25650 * util/raid.c: Likewise.
25651 * util/resolve.c: Likewise.
25652 * util/update-grub.in: Likewise.
25653 * util/update-grub_lib.in: Likewise.
25654 * util/grub.d/00_header.in: Likewise.
25655 * util/grub.d/10_hurd.in: Likewise.
25656 * util/grub.d/10_linux.in: Likewise.
25657 * util/i386/efi/grub-install.in: Likewise.
25658 * util/i386/efi/grub-mkimage.c: Likewise.
25659 * util/i386/pc/grub-install.in: Likewise.
25660 * util/i386/pc/grub-mkimage.c: Likewise.
25661 * util/i386/pc/grub-mkrescue.in: Likewise.
25662 * util/i386/pc/grub-setup.c: Likewise.
25663 * util/i386/pc/misc.c: Likewise.
25664 * util/powerpc/ieee1275/grub-install.in: Likewise.
25665 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
25666 * util/powerpc/ieee1275/misc.c: Likewise.
25667 * video/bitmap.c: Likewise.
25668 * video/video.c: Likewise.
25669 * video/i386/pc/vbe.c: Likewise.
25670 * video/i386/pc/vbeblit.c: Likewise.
25671 * video/i386/pc/vbefill.c: Likewise.
25672 * video/i386/pc/vbeutil.c: Likewise.
25673 * video/readers/tga.c: Likewise.
25674
3572d015 256752007-07-02 Robert Millan <rmh@aybabtu.com>
25676
25677 * conf/i386-efi.rmk: Replace obsolete reference to
25678 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
25679 with util/getroot.c.
25680 * conf/powerpc-ieee1275.rmk: Likewise.
25681 * conf/sparc64-ieee1275.rmk: Likewise.
25682
25683 * util/grub-emu.c (main): Fix unchecked pointer handling.
25684
2c2a681b 256852007-07-02 Robert Millan <rmh@aybabtu.com>
25686
25687 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
25688 invocation to fail, in order to support partition-less media.
25689
25690 * util/i386/pc/grub-install.in: Likewise.
25691
25692 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
25693 which fs or partmap modules are needed (akin to its sister scripts).
25694
25695 Also use grub-probe to get rid of unportable /proc/mounts check.
25696
25697 Print the same informational message that the other scripts do, before
fe6b695a 25698 exiting.
2c2a681b 25699
6193defe 257002007-06-23 Robert Millan <rmh@aybabtu.com>
25701
fe6b695a 25702 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 25703 a font file can be found and, if so, echo the GRUB path to it.
25704
25705 * util/update-grub.in: Handle multiple terminals depending on user
25706 input, platform availability and font file presence. Propagate
25707 variables of our findings to /etc/grub.d/ children.
25708
25709 * util/grub.d/00_header.in: Handle multiple terminals, based on
25710 environment setup by update-grub.
25711
eface1dc 257122007-06-23 Robert Millan <rmh@aybabtu.com>
25713
ba50d28f 25714 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 25715
bf697e28 257162007-06-21 Robert Millan <rmh@aybabtu.com>
25717
25718 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
25719 indicate end of data section in kernel image.
25720 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
25721 GRUB_KERNEL_MACHINE_DATA_END.
25722
25723 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
25724 space for it.
25725 * kern/i386/efi/startup.S: Likewise.
25726
25727 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
25728 during image generation. Implement --prefix option to override this
25729 patch.
25730 * util/i386/efi/grub-mkimage.c: Likewise.
25731
25732 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
25733 code to make path relative to its root into a separate function.
25734
25735 * util/i386/pc/grub-install.in: Use newly provided
25736 make_system_path_relative_to_its_root() to convert ${grubdir}, then
25737 pass the result to grub-install --prefix.
25738
baa574b4 257392007-06-13 Robert Millan <rmh@aybabtu.com>
25740
25741 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
25742 DEFAULT_DEVICE_MAP.
25743 * util/grub-emu.c: Use above definitions from misc.h instead of
25744 defining them.
25745 * util/grub-mkdevicemap.c: Likewise.
25746 * util/i386/pc/grub-setup.c: Likewise.
25747 * util/grub-probe.c: Likewise.
25748 (probe): Abort with grub_util_error() when either
25749 grub_guess_root_device or grub_util_get_grub_dev fails.
25750
0215dcbf 257512007-06-12 Robert Millan <rmh@aybabtu.com>
25752
25753 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
25754 "pager" assignment.
25755 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
25756 "pcdata".
25757 * util/grub-probe.c (probe): Likewise for "drive_name".
25758
8af2ab7b 257592007-06-11 Robert Millan <rmh@aybabtu.com>
25760
25761 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
25762 not just the cdrom one.
25763
59d31694 257642007-06-11 Robert Millan <rmh@aybabtu.com>
25765
25766 * util/i386/pc/grub-mkrescue.in: Add "set -e".
25767 Add --pkglibdir=DIR option to override pkglibdir.
25768 Mention --image-type=TYPE in help output.
25769 Fix --grub-mkimage (it was a no-op).
fe6b695a 25770 Abort gracefully when no parameter is given.
59d31694 25771
7ee367e4 257722007-06-11 Robert Millan <rmh@aybabtu.com>
25773
25774 * util/i386/pc/grub-mkrescue.in: New file.
25775 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
25776 * Makefile.in: Handle bin_SCRIPTS.
25777
29b0ed46 257782007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
25779
25780 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
25781 list of video modes.
25782
c0f90770 257832007-06-06 Robert Millan <rmh@aybabtu.com>
25784
25785 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
25786 file doesn't exist, or if it is in a filesystem grub can't read.
25787
25788 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
25789 not abort if GRUB_DRIVE could not be defined. Rearrange generated
25790 header comment to fit in 80 columns when the variables are resolved.
25791
25792 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
25793 could be identified by update-grub. Remove redundant check for
fe6b695a 25794 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 25795 handles that).
25796
fb36dc26 257972007-06-04 Robert Millan <rmh@aybabtu.com>
25798
25799 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
25800
25801 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
25802
25803 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
25804
0c68c93e 258052007-06-04 Robert Millan <rmh@aybabtu.com>
25806
25807 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
25808
25809 * include/grub/partition.h: Declare grub_apple_partition_map_init and
25810 grub_apple_partition_map_fini.
25811
25812 * util/biosdisk.c
25813 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
25814 to access >2 TiB disks).
25815
25816 Print disk->total_sectors with %llu instead of %lu, since this
25817 variable is always 64-bit (prevents wrong disk size from being displayed
25818 on either >2 TiB disk or big-endian CPU).
25819
25820 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
25821 into a generic case that supports all (sane) partition maps.
25822
25823 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
25824 breaks big-endian.
25825
25826 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
25827 and grub_apple_partition_map_fini() after that.
25828
0f23eb74 258292007-06-01 Robert Millan <rmh@aybabtu.com>
25830
25831 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
25832
25833 * util/grub.d/00_header.in: Only enable gfxterm when
25834 convert_system_path_to_grub_path() succeeds.
25835
42c71976 258362007-05-20 Robert Millan <rmh@aybabtu.com>
25837
25838 * util/update-grub_lib.in: New file.
25839 * DISTLIST: Add update-grub_lib.in.
25840 * conf/common.rmk: Generate update-grub_lib and install it in
25841 $(lib_DATA).
25842 * Makefile.in: Add install routine for $(lib_DATA).
25843
25844 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
25845 function provided by update-grub_lib to support arbitrary paths of
25846 unifont.pff.
25847 * util/update-grub.in: Use convert_system_path_to_grub_path() to
25848 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
25849
5beb2291 258502007-05-19 Robert Millan <rmh@aybabtu.com>
25851
25852 * commands/i386/cpuid.c: New module.
25853 * DISTLIST: Add it.
25854 * conf/i386-efi.rmk: Enable cpuid.mod.
25855 * conf/i386-pc.rmk: Likewise.
25856
7262eca1 258572007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25858
25859 * kern/disk.c (grub_disk_read): Check return value of
25860 grub_realloc().
25861
260ba823 258622007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25863
25864 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
25865 arrays.
25866 * disk/raid.c (grub_raid_open): Likewise.
25867
1ecb6cf2 258682007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25869
25870 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
25871 stack instead of on the heap.
25872
25873 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
25874 before doing a read on it.
25875
25876 * configure.ac: Only use -fno-stack-protector for the target
25877 environment.
f19dbdb7 25878
21c8cbb1 258792007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25880
25881 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
25882 __attribute_ ((unused)) to mode_type argument.
25883
25884 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 25885
21c8cbb1 25886 * kern/misc.c (memcmp): Fix prototype.
25887
25888 * include/grub/partition.h [GRUB_UTIL]
25889 (grub_gpt_partition_map_init): Add prototype.
25890 (grub_gpt_partition_map_fini): Likewise.
25891
25892 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
25893 at the right place.
25894
25895 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
25896 (grub_fat_read_data): Likewise.
25897 (grub_fat_find_dir): Likewise.
25898
25899 * font/manager.c (find_glyph): Make table a const.
25900 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 25901
849d55d3 259022007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
25903
25904 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
25905 code, first search for device in /dev/mapper, then in /dev.
25906 (grub_util_get_grub_dev): New function.
25907 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
25908 prototype.
25909 * util/grub-probe.c (probe): Remove check for RAID, call
25910 grub_util_get_grub_dev() instead of
25911 grub_util_biosdisk_get_grub_dev().
25912 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
25913 grub_util_biosdisk_get_grub_dev().
25914 * util/i386/pc/grub-setup.c (main): Likewise.
25915
8fff7c2f 259162007-05-16 Robert Millan <rmh@aybabtu.com>
25917
25918 * DISTLIST: Update for the latest changes.
25919 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
25920 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
25921 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
25922 grub/util/biosdisk.h.
25923 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
25924 grub/util/biosdisk.h.
25925
48e12b52 259262007-05-16 Robert Millan <rmh@aybabtu.com>
25927
25928 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
25929
46b9d128 259302007-05-16 Robert Millan <rmh@aybabtu.com>
25931
25932 * util/i386/efi/grub-install.in: New.
25933 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
25934 newly added grub-install.
25935 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
25936 include.
25937 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
25938 grub/util/biosdisk.h.
25939 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
25940 grub/util/biosdisk.h.
25941
2d1a40a9 259422007-05-16 Robert Millan <rmh@aybabtu.com>
25943
25944 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
25945 * include/grub/util/biosdisk.h: ... here.
25946 * util/i386/pc/biosdisk.c: Moved to ...
25947 * util/biosdisk.c: ... here.
25948 * util/i386/pc/getroot.c: Moved to ...
25949 * util/getroot.c: ... here.
25950 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
25951 * util/grub-mkdevicemap.c: ... here.
25952 * util/i386/pc/grub-probe.c: Moved to ...
25953 * util/grub-probe.c: ... here.
25954
9e26e3bc 259552007-05-15 Robert Millan <rmh@aybabtu.com>
25956
25957 * util/update-grub.in: Remove duplicated line in grub.cfg header
25958 message.
25959
57f96397 259602007-05-13 Robert Millan <rmh@aybabtu.com>
25961
25962 * util/update-grub.in: Fix a few assumptions about the devices holding
25963 /, /boot and /boot/grub being the same.
25964 * util/grub.d/00_header.in: Likewise.
25965 * util/grub.d/10_hurd.in: Likewise.
25966 * util/grub.d/10_linux.in: Likewise.
25967
25968 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
25969 patterns. Use that to define the `.old' suffix as older than `'.
25970
25971 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
25972
25973 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
25974 the grub.cfg header message.
25975
2e610d62 259762007-05-11 Robert Millan <rmh@aybabtu.com>
25977
25978 * util/update-grub.in: Create device.map if it doesn't already exist,
25979 before attempting to run grub-probe.
25980 Check for grub-probe and grub-mkdevicemap with the same code
25981 grub-install is using.
25982 Remove test mode.
25983
3f6a10ef 259842007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
25985
25986 * Makefile.in: Add the datarootdir autoconf variable.
25987
02e7b75e 259882007-05-09 Robert Millan <rmh@aybabtu.com>
25989
25990 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 25991 fail gracefully if dev->disk->partition == NULL.
02e7b75e 25992
75f396cc 259932007-05-07 Robert Millan <rmh@aybabtu.com>
25994
25995 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
25996 determine partition map module.
25997 * util/i386/pc/grub-install.in: Use this feature to decide which
25998 partition module to load, instead of hardcoding pc and gpt.
25999
da65cb36 260002007-05-07 Robert Millan <rmh@aybabtu.com>
26001
26002 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
26003 source directory differs from build directory.
26004
b57d6a91 260052007-05-05 Robert Millan <rmh@aybabtu.com>
26006
26007 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
26008 initialisation.
26009
509d00f1 260102007-05-05 Robert Millan <rmh@aybabtu.com>
26011
26012 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
26013
c48f23ef 260142007-05-05 Robert Millan <rmh@aybabtu.com>
26015
26016 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
26017 command-line arguments via ${GRUB_CMDLINE_LINUX}.
26018
20b97658 260192007-05-05 Robert Millan <rmh@aybabtu.com>
26020
26021 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
26022 (grub_probe_SOURCES): Likewise.
26023 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
26024 GPT and initialize dos_part and bsd_part accordingly.
26025 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
26026 install_bsd_part.
26027 (main): Activate gpt module for use during partition identification,
26028 and deactivate it afterwards.
26029 * util/i386/pc/grub-install.in: Add gpt module to core.img.
26030 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
26031 partition identification, and deactivate it afterwards.
26032
99123174 260332007-05-05 Robert Millan <rmh@aybabtu.com>
26034
26035 * term/i386/pc/console.c (grub_console_fini): Call
26036 grub_term_set_current() before grub_term_unregister().
26037
ebd97f6e 260382007-05-04 Robert Millan <rmh@aybabtu.com>
26039
26040 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
26041 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
26042 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
26043 and update-grub_DATA.
26044 * conf/common.rmk: Build and install update-grub components.
26045 * conf/common.mk: Regenerate.
26046 * util/update-grub.in: New. Core of update-grub.
26047 * util/grub.d/00_header.in: New. Generates grub.cfg header.
26048 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
26049 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
26050 * util/grub.d/README: New. Document grub.d directory layout.
26051
b06a264d 260522007-05-01 Robert Millan <rmh@aybabtu.com>
26053
26054 * util/grub-emu.c: Move initialization functions
26055 grub_util_biosdisk_init() and grub_init_all() before
26056 grub_util_biosdisk_get_grub_dev(), which relies on them.
26057
41f0050e 260582007-04-19 Robert Millan <rmh@aybabtu.com>
26059
26060 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
26061 it is used later.
26062
04582bb3 260632007-04-18 Jerone Young <jerone@gmail.com>
26064
f19dbdb7 26065 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 26066 stanza.
26067
08db4632 260682007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 26069
08db4632 26070 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
26071 continue on and look for device node with real device name.
26072
801b76be 260732007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 26074
fe6b695a 26075 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 26076 ability.
26077 * Makefile.in: Add autoconf package transformation code.
26078 * util/i386/pc/grub-install.in: Likewise.
26079 * util/powerpc/ieee1275/grub-install.in: Likewise.
26080
6795c4e1 260812007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26082
26083 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
26084 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
26085 (EXT2_REVISION): Likewise.
26086 (EXT2_INODE_SIZE): Likewise.
26087 (struct grub_ext2_block_group): Added a missing member
26088 "used_dirs".
26089 (grub_ext2_read_inode): Divide by the inode size in a superblock
26090 instead of 128 to obtain INODES_PER_BLOCK.
26091 Use the macro EXT2_INODE_SIZE instead of directly using
26092 SBLOCK->INODE_SIZE.
26093
d70af616 260942007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26095
26096 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
26097 superblock instead of the structure size to compute an
26098 offset. This fixes the problem that GRUB could not read a
26099 filesystem when inode size is different from 128-byte.
26100
3b801603 261012007-03-05 Marco Gerards <marco@gnu.org>
26102
26103 * normal/main.c (read_config_file): When "menu" is not set, create
26104 an initial context.
26105
4785bfe4 261062007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26107
26108 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
26109 (HEAP_LIMIT): New macro.
26110 (grub_claim_heap): Claim memory up to `heaplimit'.
26111
a0cbb023 261122007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26113
26114 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
26115 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
26116 (_start): Likewise.
26117 (grub_arch_modules_addr): Return address after `_end'.
26118 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
26119 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
26120 (add_segments): Calculate `_end' from phdr size and location.
26121 (ALIGN_UP): Moved to ...
26122 * include/grub/misc.h: here.
26123 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26124 New macro.
26125 (GRUB_IEEE1275_MODULE_BASE): Removed.
26126
fd7d8eba 261272007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26128
26129 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
26130 loop boundary.
26131
9b09e6fc 261322007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26133
26134 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
26135 All users updated.
26136 (grub_elf64_load_hook_t): Likewise.
26137 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
26138 debug output.
26139
3ce27299 261402007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26141
26142 * kern/mm.c: Update copyright.
26143 (grub_mm_debug): Correct syntax error.
26144 (grub_mm_dump_free): New function.
26145 (grub_debug_free): Call `grub_free'.
26146 * include/grub/mm.h: Update copyright.
26147 (grub_mm_dump_free): Add declaration.
26148
077d5fee 261492007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26150
26151 * include/grub/ieee1275/ieee1275.h: Update copyright.
26152 * kern/powerpc/ieee1275/init.c: Likewise.
26153 * kern/powerpc/ieee1275/openfw.c: Likewise.
26154
26155 * loader/powerpc/ieee1275/linux.c: Likewise.
26156 * include/grub/elfload.h: Likewise.
26157 * kern/elf.c: Likewise.
26158 (grub_elf32_load): Pass `base' and `size' parameters. Update all
26159 callers.
26160 (grub_elf64_load): Likewise.
26161 (grub_elf32_load_segment): Move to a nested function.
26162 (grub_elf64_load_segment): Likewise.
26163
dc946850 261642007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26165
26166 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
26167 prototype.
26168 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
26169 (grub_heap_len): Likewise.
26170 (HEAP_SIZE): New macro.
26171 (grub_claim_heap): New function.
26172 (grub_machine_init): Don't claim heap directly. Call
26173 `grub_claim_heap'.
26174 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
26175 (grub_available_iterate): New function.
26176
baa2a121 261772007-02-03 Thomas Schwinge <tschwinge@gnu.org>
26178
26179 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
26180 * configure.ac: Use it for testing the HOST and TARGET compilers.
26181
4fe9862e 261822006-12-13 Thomas Schwinge <tschwinge@gnu.org>
26183
26184 * Makefile.in (enable_grub_emu): New variable.
26185 * configure.ac (--enable-grub-emu): New option.
26186 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
26187 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
26188 * conf/i386-pc.rmk: Likewise.
26189 * conf/powerpc-ieee1275.rmk: Likewise.
26190 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
26191
a8aa5762 261922006-12-12 Marco Gerards <marco@gnu.org>
26193
26194 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
26195
26196 * kern/env.c (grub_env_unset): Don't free the member `value' when
26197 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
26198 pointer.
26199
26200 * normal/main.c (current_menu): Removed.
26201 (free_menu): Unset the `menu' environment variable.
26202 (grub_normal_menu_addentry): Make use of the environment variable
26203 `menu', instead of using the global `current_menu'. Allocate
26204 memory for the sourcecode of this entry.
26205 (read_config_file): New argument `nested', changed all callers.
26206 Only in the case of a new context, initialize a new menu. Set the
26207 `menu' environment variable.
26208 (grub_normal_execute): Don't set and unset the environment
26209 variable `menu' here anymore. Only free the menu when leaving the
26210 context.
26211
26212 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
26213 leak.
26214
957b3a3e 262152006-12-11 Marco Gerards <marco@gnu.org>
26216
26217 * normal/menu_entry.c (run): Fix off by one bug so the last line
26218 is executed. Move the loader check to outside the loop.
26219
ef875714 262202006-12-08 Hollis Blanchard <hollis@penguinppc.org>
26221
26222 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
26223
4e739985 262242006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
26225
26226 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
26227 the number of sectors. Reported by Andrey Shuvikov
26228 <mr_hyro@yahoo.com>.
f19dbdb7 26229
790707f2 262302006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
26231
26232 * kern/disk.c (grub_disk_read): When there is a read error, always
26233 try to read only the necessary data.
f19dbdb7 26234
790707f2 26235 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
26236 disk/raid.c.
26237 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
26238 prototype.
26239 [GRUB_UTIL] (grub_raid_fini): Likewise.
26240 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 26241 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 26242 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
26243 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
26244 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
26245 and grub_raid_fini().
f19dbdb7 26246
03e58196 262472006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26248
26249 * include/grub/types.h (__unused): Rename to UNUSED.
26250 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
26251 (grub_elf64_size): Likewise.
f19dbdb7 26252
ae4f23bf 262532006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26254
26255 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
26256 grub_error_push and grub_error_pop in the error-handling path.
26257 (grub_elf32_load_segment): Only call grub_file_read with non-zero
26258 length.
26259
2166cc83 262602006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26261
26262 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
26263 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26265 (kernel_elf_SOURCES): Likewise.
26266 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
26267 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
26268 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26269 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26270 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
26271 (elf_mod_SOURCES): New variable.
26272 (elf_mod_CFLAGS): Likewise.
26273 (elf_mod_LDFLAGS): Likewise.
26274 * include/grub/types.h (__unused): New macro.
26275 * include/grub/elfload.h: New file.
26276 * kern/elf.c: Likewise.
26277 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
26278 (ELF32_LOADMASK): New macro.
26279 (ELF64_LOADMASK): Likewise.
26280 (vmlinux): Removed.
26281 (grub_linux_load32): New function.
26282 (grub_linux_load64): Likewise.
26283 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
26284 Use grub_elf_t instead of grub_file_t.
26285
a09d5aa5 262862006-11-02 Hollis Blanchard <hollis@penguinppc.org>
26287
26288 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
26289 `catch_result' to struct set_color_args.
26290
d976fc51 262912006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26292
26293 * normal/menu.c: Include grub/script.h.
26294 * normal/menu_entry.c: Likewise.
26295 * include/grub/normal.h: Do not include grub/script.h.
26296
67507549 262972006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26298
26299 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
26300
69203a99 263012006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26302
26303 * kern/disk.c (grub_disk_open): Print debug messages when opening a
26304 disk.
26305 (grub_disk_close): Print debug messages when closing a disk.
26306 (grub_disk_read): Print debug messages when disk read fails.
26307 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
26308 filesystem type.
26309 * kern/partition.c: Include misc.h.
26310 (grub_partition_iterate): Print debug messages when detecting
26311 partition type.
26312
e2b8278c 263132006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26314
26315 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
26316 is negative.
26317 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
26318
97b2f2ff 263192006-10-26 Hollis Blanchard <hollis@penguinppc.org>
26320
26321 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26322 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
26323
6555d655 263242006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
26325
26326 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
26327 instead of sizeof(lv). Patch by Michael Guntsche.
26328
4d42b77f 263292006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
26330
26331 * disk/lvm.c: Rename VGS to VG_LIST.
26332 (grub_lvm_iterate): Change VGS->LV to VG-LV.
26333 (grub_lvm_open): Likewise.
26334 Thanks to Michael Guntsche for finding this bug.
26335
5d74d927 263362006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26337
26338 * configure.ac (AC_INIT): Bumped to 1.95.
26339
a1bb27e4 263402006-10-14 Robert Millan <rmh@aybabtu.com>
26341
26342 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
26343 with "/dev/.static/dev/md".
26344
e0994b8b 263452006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26346
26347 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
26348 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
26349 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
26350 DRIVE_NAME are always freed.
26351
26352 * util/i386/pc/biosdisk.c (make_device_name): Add one into
26353 DOS_PART, as a DOS partition is counted from one instead of zero
26354 now. Reported by Robert Millan.
26355
ddd5cee9 263562006-10-14 Robert Millan <rmh@aybabtu.com>
26357
26358 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
26359 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
26360 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
26361 string returned by grub_guess_root_device.
26362 * util/i386/pc/grub-setup.c: Likewise.
26363 * util/i386/pc/grub-probefs.c: Likewise.
26364
26365 * util/i386/pc/grub-probefs.c: Rename to ...
26366 * util/i386/pc/grub-probe.c: ... this.
26367 * DISTLIST: Remove grub-probefs, add grub-probe.
26368 * conf/i386-efi.rmk: Likewise.
26369 * conf/i386-pc.rmk: Likewise.
26370 * util/i386/pc/grub-install.in: Likewise.
26371
26372 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
26373 choose which information we want to print.
26374
2b002173 263752006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26376
26377 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
26378 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
26379 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
26380 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
26381 video/readers/tga.c and video/i386/pc/vbeutil.c.
26382
263832006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
26384
26385 Added support for RAID and LVM.
f19dbdb7 26386
2b002173 26387 * disk/lvm.c: New file.
26388 * disk/raid.c: Likewise.
26389 * include/grub/lvm.h: Likewise.
f19dbdb7 26390 * include/grub/raid.h: Likewise.
2b002173 26391 * include/grub/util/lvm.h: Likewise.
26392 * include/grub/util/raid.h: Likewise.
26393 * util/lvm.c: Likewise.
26394 * util/raid.c: Likewise.
26395
26396 * include/grub/disk.h (grub_disk_dev_id): Add
26397 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
26398 (grub_disk_get_size): New prototype.
26399 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
26400 returns a partition.
26401 (grub_disk_get_size): New function.
f19dbdb7 26402
2b002173 26403 * kern/i386/pc/init.c (make_install_device): Copy the prefix
26404 verbatim if grub_install_dos_part is -2.
26405
26406 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
26407 and LVM devices.
26408
26409 * util/i386/pc/grub-setup.c (setup): New argument
26410 MUST_EMBED. Force embedding of GRUB when the argument is
26411 true. Close FILE before returning.
26412 (main): Add support for RAID and LVM.
f19dbdb7 26413
2b002173 26414 * conf/common.rmk: Add RAID and LVM modules.
26415 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
26416 util/lvm.c.
26417 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
26418
26419 * kern/misc.c (grub_strstr): New function.
26420 * include/grub/misc.h (grub_strstr): New prototype.
26421
050548d0 264222006-10-10 Tristan Gingold <tristan.gingold@bull.net>
26423
26424 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
26425
da849d2d 264262006-10-05 Tristan Gingold <tristan.gingold@bull.net>
26427
26428 * kern/misc.c (grub_strtoull): Guess the base only if not
26429 specified.
26430
97b2f2ff 264312006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 26432
26433 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
26434 PowerMac support.
26435
97b2f2ff 264362006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 26437
26438 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
26439
26440 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
26441 Remove `flags' argument. All callers changed.
26442 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
26443 (IEEE1275_IHANDLE_INVALID): New variable.
26444 (IEEE1275_CELL_INVALID): New variable.
26445 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26446 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
26447 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
26448 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
26449 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
26450 codes from Open Firmware. All callers updated.
26451 (grub_ieee1275_next_property): Directly return Open Firmware return
26452 code.
26453 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26454 Standardize error checking from `grub_ieee1275_get_property'.
26455 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
26456 `devalias' to `aliases'. Correct comments. Consolidate error paths.
26457
97b2f2ff 264582006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 26459
26460 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
26461 `instance_to_package_args' to `instance_to_path_args'.
26462
26463 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
26464 `grub_ieee1275_chosen'.
26465
26466 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
26467 `grub_ieee1275_interpret'.
26468
97b2f2ff 264692006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 26470
26471 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
26472
97b2f2ff 264732006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 26474
26475 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
26476 (__cmpdi): Likewise.
26477
26478 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
26479 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
26480 `grub_ssize_t'.
26481
02bb8acc 26482 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 26483
26484 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
26485 to type `grub_ssize_t'.
26486 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
26487
7f9a8531 264882006-09-22 Marco Gerards <marco@gnu.org>
26489
26490 * normal/script.c (grub_script_create_cmdmenu): Skip leading
26491 newlines.
26492
b5ef1102 264932006-09-22 Marco Gerards <marco@gnu.org>
26494
26495 * commands/echo.c: New file.
26496
26497 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
26498
26499 * conf/common.rmk (echo_mod_SOURCES): New variable.
26500 (echo_mod_CFLAGS): Likewise.
26501 (echo_mod_LDFLAGS): Likewise.
26502
2cff3677 265032006-09-22 Marco Gerards <marco@gnu.org>
26504
26505 * normal/main.c (get_line): Malloc memory instead of using
26506 preallocated memory. Removed the arguments `cmdline' and
26507 `max_len'. Updated all callers.
26508
6ba4688b 265092006-09-22 Marco Gerards <marco@gnu.org>
26510
26511 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
26512 (normal_mod_DEPENDENCIES): Likewise.
26513
26514 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
26515 (normal_mod_DEPENDENCIES): Likewise.
26516
26517 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
26518
e02ac02c 265192006-09-22 Johan Rydberg <jrydberg@gnu.org>
26520
26521 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
26522 programs.
26523 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
26524 (normal_mod_DEPENDENCIES): Likewise.
26525 * conf/i386-pc.mk: Regenerate.
26526 * conf/i386-efi.mk: Likewise
26527 * conf/common.mk: Likewise.
26528 * conf/powerpc-ieee1275.mk: Likewise.
26529 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26530
8d252e44 265312006-09-22 Robert Millan <rmh@aybabtu.com>
26532
26533 Sync with i386 version.
26534 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
26535 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
26536
209bf7ac 265372006-09-21 Robert Millan <rmh@aybabtu.com>
26538
26539 Import from GRUB Legacy (lib/device.c):
26540 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
26541 (init_device_map) [__linux__]: Add support for I2O devices.
26542
6b146090 265432006-09-14 Marco Gerards <marco@gnu.org>
26544
26545 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
26546 `-melf_i386'.
26547
e38600a8 265482006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 26549
26550 * util/i386/pc/grub-install.in: Skip menu.lst when removing
26551 /boot/grub/*.lst.
78fa1790 26552
2952da5d 26553 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 26554
2952da5d 26555 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
26556 before adding it to device.map.
26557
01b82a64 265582006-08-15 Johan Rydberg <jrydberg@gnu.org>
26559
fe6b695a 26560 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 26561 compiles a file; using the -MD option.
26562 * conf/common.mk: Regenerate.
26563 * conf/i386-pc.mk: Likewise.
26564 * conf/i386-efi.mk: Likewise.
26565 * conf/powerpc-ieee1275.mk: Likewise.
26566 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26567
1064790d 265682006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
26569
26570 Move the prototypes of grub_setjmp and grub_longjmp to
26571 cpu/setjmp.h, so that each architecture may specify different
26572 attributes.
f19dbdb7 26573
1064790d 26574 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
26575 (grub_longjmp): Likewise.
26576 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
26577 (grub_longjmp): Likewise.
26578 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
26579 (grub_longjmp): Likewise.
26580
26581 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
26582 [!GRUB_UTIL] (grub_longjmp): Removed.
26583
29dda3ed 265842006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
26585
26586 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
26587 "color!" method does not return any value.
26588
ad2a06ed 265892006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26590
26591 * include/grub/bitmap.h: New file.
26592
26593 * include/grub/i386/pc/vbeutil.h: Likewise.
26594
26595 * video/bitmap.c: Likewise.
26596
26597 * video/readers/tga.c: Likewise.
26598
26599 * video/i386/pc/vbeutil.c: Likewise.
26600
26601 * commands/videotest.c: Code cleanup and updated to reflect to new
26602 video API.
26603
26604 * term/gfxterm.c: Likewise.
26605
26606 * video/video.c: Likewise.
26607
26608 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
26609 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
26610 (bitmap_mod_SOURCES): New entry.
26611 (bitmap_mod_CFLAGS): Likewise.
26612 (bitmap_mod_LDFLAGS): Likewise.
26613 (tga_mod_SOURCES): Likewise.
26614 (tga_mod_CFLAGS): Likewise.
26615 (tga_mod_LDFLAGS): Likewise.
26616
26617 * include/grub/video.h (grub_video_blit_operators): New enum type.
26618 (grub_video_render_target): Changed as forward declaration and moved
26619 actual definition to be video driver specific.
26620 (grub_video_adapter.blit_bitmap): Added blitting operator.
26621 (grub_video_adapter.blit_render_target): Likewise.
26622 (grub_video_blit_bitmap): Likewise.
26623 (grub_video_blit_render_target): Likewise.
26624
26625 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
26626 driver specific render target definition.
26627 (grub_video_vbe_map_rgba): Added driver internal helper.
26628 (grub_video_vbe_unmap_color): Updated to use
26629 grub_video_i386_vbeblit_info.
26630 (grub_video_vbe_get_video_ptr): Likewise.
26631
26632 * include/grub/i386/pc/vbeblit.h
26633 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
26634 grub_video_i386_vbeblit_info.
26635 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26636 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26637 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26638 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26639 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26640 (grub_video_i386_vbeblit_index_index): Likewise.
26641 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
26642 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26643 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26644 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
26645 operator.
26646 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
26647 operator.
26648
26649 * video/i386/pc/vbeblit.c: Updated to reflect changes on
26650 include/grub/i386/pc/vbeblit.h.
26651
26652 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
26653 Updated to use grub_video_i386_vbeblit_info.
26654 (grub_video_i386_vbefill_R8G8B8): Likewise.
26655 (grub_video_i386_vbefill_index): Likewise.
26656 (grub_video_i386_vbefill): Added generic filler.
26657
26658 * video/i386/pc/vbefill.c: Updated to reflect changes on
26659 include/grub/i386/pc/vbefill.h.
26660
26661 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
26662 grub_video_i386_vbeblit_info.
26663 (grub_video_vbe_unmap_color): Likewise.
26664 (grub_video_vbe_blit_glyph): Likewise.
26665 (grub_video_vbe_scroll): Likewise.
26666 (grub_video_vbe_draw_pixel): Removed function.
26667 (grub_video_vbe_get_pixel): Likewise.
26668 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
26669 updated code to use it.
26670 (common_blitter): Added common blitter for render target and bitmap.
26671 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
26672 (grub_video_vbe_blit_render_target): Likewise.
26673
bc8c036d 266742006-07-30 Johan Rydberg <jrydberg@gnu.org>
26675
26676 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
26677 is in text mode if there is no console control protocol instance
26678 available.
26679
684a8eff 266802006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26681
26682 * include/grub/video.h: Code cleanup.
26683
26684 * include/grub/i386/pc/vbe.h: Likewise.
26685
26686 * video/i386/pc/vbe.c: Likewise.
26687
26688 * video/i386/pc/vbeblit.c: Likewise.
26689
26690 * video/i386/pc/vbefill.c: Likewise.
26691
26692 * video/video.c: Likewise. Also added more comments.
26693
5915059b 266942006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26695
26696 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
26697 (struct grub_biosdisk_dap): Likewise.
26698
26699 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
26700 linkage settings for all functions.
26701
90ce5d56 267022006-07-12 Marco Gerards <marco@gnu.org>
26703
26704 * configure.ac (--enable-mm-debug): Fix typo.
26705
26706 * genkernsyms.sh.in: Use proper quoting for `CC'.
26707
43e7f879 267082006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
26709
26710 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
26711 (normal_mod_ASFLAGS): Remove "-m32".
26712
4889bdec 267132006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
26714
26715 * util/misc.c: Include config.h.
26716 [!HAVE_MEMALIGN]: Do not include malloc.h.
26717 (grub_memalign): Use posix_memalign, if present. Then, use
26718 memalign, if present. Otherwise, emit an error.
26719
26720 * util/grub-emu.c: Do not include malloc.h.
26721
26722 * include/grub/util/misc.h: Include unistd.h. This is required for
26723 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
26724 D. Eades III <hde@foobar-qux.org>.
26725
26726 * configure.ac (AC_GNU_SOURCE): Added.
26727 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
26728 type.
26729
fd39d4da 267302006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
26731
26732 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
26733 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
26734
b786f3b5 267352006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
26736
26737 * include/grub/types.h (grub_host_addr_t): Rename to
26738 grub_target_addr_t.
26739 (grub_host_off_t): Rename to grub_target_off_t.
26740 (grub_host_size_t): Rename to grub_target_size_t.
26741 (grub_host_ssize_t): Rename to grub_target_ssize_t.
26742 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
26743
26744 * include/grub/kernel.h (struct grub_module_header): Change type
26745 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
26746 (grub_module_info): Likewise.
f19dbdb7 26747
051988bb 267482006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26749
26750 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
26751 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
26752 Velazquez <jesus.velazquez@gmail.com>.
26753
deae281b 267542006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26755
26756 Count partitions from 1 instead of 0 in the string representation
26757 of partitions. Still use 0-based internally.
f19dbdb7 26758
deae281b 26759 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
26760 (sun_partition_map_iterate): Use grub_partition_t instead of
26761 struct grub_partition *. Cast DESC->START_CYLINDER to
26762 grub_uint64_t after converting the endian.
26763 (sun_partition_map_probe): Subtract 1 for PARTNUM.
26764 (sun_partition_map_get_name): Add 1 to P->INDEX.
26765
26766 * partmap/pc.c (grub_partition_parse): Subtract 1 for
26767 PCDATA->DOS_PART.
26768 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
26769
26770 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
26771 zero instead of one.
26772 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
26773 (gpt_partition_map_get_name): Add 1 into P->INDEX.
26774
26775 * partmap/apple.c (apple_partition_map_iterate): Change the type
26776 of POS to unsigned.
26777 (apple_partition_map_probe): Subtract 1 for PARTNUM.
26778 (apple_partition_map_get_name): Add 1 into P->INDEX.
26779
26780 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
26781 of POS to unsigned.
26782 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
26783 calculate the offset of a partition.
26784 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
26785 (amiga_partition_map_get_name): Add 1 into P->INDEX.
26786
26787 * partmap/acorn.c (acorn_partition_map_find): Change the type of
26788 SECTOR to grub_disk_addr_t.
26789 (acorn_partition_map_iterate): Likewise.
26790 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
26791 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
26792 top.
26793 (acorn_partition_map_get_name): Add 1 into P->INDEX.
26794
26795 * kern/i386/pc/init.c (make_install_device): Add 1 into
26796 GRUB_INSTALL_DOS_PART.
26797
26798 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
26799 conditional.
26800
524a1e6a 268012006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26802
26803 Clean up the code to support 64-bit addressing in disks and
26804 files. This change is not enough for filesystems yet.
f19dbdb7 26805
524a1e6a 26806 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
26807 type of "start" to grub_uint64_t.
26808 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
26809 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
26810 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
26811 convert addresses.
26812
26813 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
26814 to grub_disk_addr_t.
26815
26816 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
26817 string.
26818
26819 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26820
26821 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
26822 to char *.
26823
26824 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
26825
26826 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
26827
26828 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
26829
26830 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
26831 to grub_off_t, to detect an error from grub_file_seek.
26832 (grub_multiboot_load_elf32): Likewise.
26833
26834 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
26835 maximum unsigned long value when an overflow is detected.
26836 (grub_strtoull): New function.
26837 (grub_divmod64): Likewise.
26838 (grub_lltoa): use grub_divmod64.
26839
26840 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
26841 grub_disk_addr_t.
26842 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
26843 the pointer to next character. Use grub_strtoull instead of
26844 grub_strtoul.
26845 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
26846 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
26847 respectively.
26848
fe6b695a 26849 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 26850 return value is signed.
26851 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
26852 test if OFFSET is less than zero, as OFFSET is unsigned now.
26853
26854 * kern/disk.c (struct grub_disk_cache): Change the type of
26855 "sector" to grub_disk_addr_t.
26856 (grub_disk_cache_get_index): Change the type of SECTOR to
26857 grub_disk_addr_t. Calculate the hash with SECTOR casted to
26858 unsigned after shifting.
26859 (grub_disk_cache_invalidate): Change the type of SECTOR to
26860 grub_disk_addr_t.
26861 (grub_disk_cache_unlock): Likewise.
26862 (grub_disk_cache_store): Likewise.
26863 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
26864 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
26865 grub_disk_addr_t and grub_uint64_t, respectively.
26866 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
26867 body, as the value of OFFSET is tweaked by
26868 grub_disk_check_range. Change the types of START_SECTOR, LEN and
26869 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
26870 respectively.
26871 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
26872 body, as the value of OFFSET is tweaked by
26873 grub_disk_check_range. Change the types of LEN and N to
26874 grub_size_t.
26875
26876 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
26877 and "saved_offset" to grub_off_t.
26878 (test_header): Cast BUF to char *.
26879 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
26880 to char *.
26881 (grub_gzio_read): Change the types of OFFSET and SIZE to
26882 grub_off_t and grub_size_t, respectively.
26883
26884 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
26885 Removed.
26886 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
26887 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
26888 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
26889 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
26890 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
26891
26892 * include/grub/types.h (grub_off_t): Unconditionally set to
26893 grub_uint64_t.
26894 (grub_disk_addr_t): Changed to grub_uint64_t.
26895
26896 * include/grub/partition.h (struct grub_partition): Change the
26897 types of "start", "len" and "offset" to grub_disk_addr_t,
26898 grub_uint64_t and grub_disk_addr_t, respectively.
26899 (grub_partition_get_start): Return grub_disk_addr_t.
26900 (grub_partition_get_len): Return grub_uint64_t.
26901
26902 * include/grub/misc.h (grub_strtoull): New prototype.
26903 (grub_divmod64): Likewise.
26904
26905 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
26906 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
26907 grub_off_t, respectively.
26908 All callers and references changed.
26909
26910 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
26911 grub_size_t in "read".
26912 All callers and references changed.
26913
26914 * include/grub/file.h (struct grub_file): Change the types of
26915 "offset" and "size" to grub_off_t and grub_off_t,
26916 respectively. Change the type of SECTOR to grub_disk_addr_t in
26917 "read_hook".
26918 (grub_file_read): Change the type of LEN to grub_size_t.
26919 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
26920 grub_off_t.
26921 (grub_file_size): Return grub_off_t.
26922 (grub_file_tell): Likewise.
26923 All callers and references changed.
26924
26925 * include/grub/disk.h (struct grub_disk_dev): Change the types of
26926 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
26927 "write".
26928 (struct grub_disk): Change the type of "total_sectors" to
26929 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 26930 "read_hook".
524a1e6a 26931 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
26932 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
26933 (grub_disk_write): Likewise.
26934 All callers and references changed.
26935
26936 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
26937 char * for grub_strncmp to silence gcc.
26938 (grub_iso9660_mount): Likewise.
26939 (grub_iso9660_mount): Likewise.
26940 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
26941 return statement.
26942 (grub_iso9660_iterate_dir): Likewise.
26943 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
26944
26945 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
26946 LEN to grub_disk_addr_t and grub_size_t, respectively.
26947
26948 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26949
26950 * fs/jfs.c (grub_jfs_read_file): Likewise.
26951
26952 * fs/minix.c (grub_jfs_read_file): Likewise.
26953
26954 * fs/sfs.c (grub_jfs_read_file): Likewise.
26955
26956 * fs/ufs.c (grub_jfs_read_file): Likewise.
26957
26958 * fs/xfs.c (grub_jfs_read_file): Likewise.
26959
26960 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
26961 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
26962 respectively.
26963
26964 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
26965 BLKNR to -1 instead of returning GRUB_ERRNO.
26966 (grub_ext2_read_file): Change the types of SECTOR and
26967 LEN to grub_disk_addr_t and grub_size_t, respectively.
26968
26969 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
26970 LEN to grub_disk_addr_t and grub_size_t, respectively.
26971
26972 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
26973 grub_file_read.
26974
26975 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
26976 string. Do not cast SECTOR explicitly.
26977
26978 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
26979 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
26980 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
26981 grub_disk_addr_t and grub_size_t, respectively. If the sector is
26982 over 2TB and LBA mode is not supported, raise an error.
26983 (get_safe_sectors): New function.
26984 (grub_biosdisk_read): Use get_safe_sectors.
26985 (grub_biosdisk_write): Likewise.
26986
26987 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
26988 (grub_efidisk_write): Likewise.
26989
26990 * disk/loopback.c (delete_loopback): Cosmetic changes.
26991 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
26992 correctly.
26993 (grub_loopback_open): Likewise.
26994 (grub_loopback_read): Likewise. Also, change the type of POS to
26995 grub_off_t, and fix the usage of grub_memset.
26996
26997 * commands/i386/pc/play.c: Include grub/machine/time.h.
26998
26999 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
27000 print FILE->SIZE.
27001
27002 * commands/configfile.c: Include grub/env.h.
27003
27004 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
27005 GRUB_ERRNO directly instead. Change the type of POS to
27006 grub_off_t. Follow the coding standard.
27007
27008 * commands/blocklist.c: Include grub/partition.h.
27009 (grub_cmd_blocklist): Return an error if the underlying device is
27010 not a disk. Take the starting sector of a partition into account,
27011 if a partition is used.
27012
27013 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
27014 a length field.
27015 (lba_mode): Support 64-bit addresses.
27016 (chs_mode): Likewise.
27017 (copy_buffer): Adapted to the new offsets of a length field and a
27018 segment field.
27019 (blocklist_default_start): Allocate 64-bit space.
27020
27021 * boot/i386/pc/boot.S (force_lba): Removed.
27022 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 27023 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 27024 space.
27025 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
27026 is useless.
27027 (lba_mode): Refactored to support a 64-bit address. More size
27028 optimization.
27029 (setup_sectors): Likewise.
27030
53af98ad 270312006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27032
27033 * DISTLIST: Added include/grub/i386/linux.h. Removed
27034 include/grub/i386/pc/linux.h
27035
27036 * configure.ac (AC_INIT): Bumped to 1.94.
27037
27038 * config.guess: Updated from gnulib.
27039 * config.sub: Likewise.
27040 * install-sh: Likewise.
27041 * mkinstalldirs: Likewise.
27042
b4c1940a 270432006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27044
27045 * conf/common.rmk (grub_modules_init.lst): Depended on
27046 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
27047 MODSRCFILES.
27048
27049 * genmk.rb (PModule::rule): Reverted the previous change.
27050
cfca1cfd 270512006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27052
27053 * conf/common.rmk (grub_modules_init.lst): Depends on
27054 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
27055 that the target does not exist before producing.
27056 (grub_modules_init.h): Remove the target before generating.
27057 (grub_emu_init.c): Likewise.
27058
27059 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
27060
aa6d7826 270612006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
27062
27063 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
27064 for the target-specific tests. Make sure that we also have the
27065 up-to-date target variables for those tests.
27066
26c607b9 270672006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27068
27069 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
27070 (PModule::rule): Likewise.
27071
0162321a 270722006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27073
27074 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
27075 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
27076 target-specific flags should be prefixed.
27077 (PModule::rule): Likewise.
27078
6c826348 270792006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
27080
27081 * configure.ac (CMP): Check if cmp is available explicitly.
27082
b977bf01 270832006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
27084
27085 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
27086 (target_cpu): New variable.
27087 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 27088
b977bf01 27089 * util/i386/pc/grub-install.in (host_cpu): Removed.
27090 (target_cpu): New variable.
27091 (pkglibdir): Use target_cpu instead of host_cpu.
27092
27093 * util/genmoddep.c: Removed.
f19dbdb7 27094
b977bf01 27095 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
27096 instead of GRUB_HOST_SIZEOF_VOID_P.
27097 * kern/dl.c: Likewise.
27098
27099 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
27100 ...
27101 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27102 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27103 (GRUB_TARGET_SIZEOF_LONG): ... this.
27104 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27105 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27106 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27107 to ...
27108 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27109 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27110 (GRUB_TARGET_SIZEOF_LONG): ... this.
27111 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27112 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27113 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27114 to ...
27115 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27116 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27117 (GRUB_TARGET_SIZEOF_LONG): ... this.
27118 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27119 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27120
27121 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
27122 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
27123 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
27124 instead of GRUB_HOST_SIZEOF_LONG.
27125 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
27126 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
27127 GRUB_CPU_WORDS_BIGENDIAN.
27128 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
27129 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
27130 grub_host_ssize_t.
27131
27132 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
27133 (genmoddep_SOURCES): Likewise.
27134 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
27135 (genmoddep_SOURCES): Likewise.
27136 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
27137 (genmoddep_SOURCES): Likewise.
27138 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
27139 Likewise.
27140 (genmoddep_SOURCES): Likewise.
27141
27142 * genmoddep.awk: New file.
27143
27144 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
27145 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
27146 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
27147 (PModule::rule): Likewise.
27148 (Program::rule): Likewise.
27149 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
27150 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
27151 respectively.
27152
27153 * configure.ac: Rewritten intensively to use host and target
27154 instead of build and host, respectively.
27155
27156 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
27157 (host_cpu): Removed.
27158 (target_cpu): New variable.
27159 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
27160 (BUILD_CC): Removed.
27161 (BUILD_CFLAGS): Likewise.
27162 (BUILD_CPPFLAGS): Likewise.
27163 (TARGET_CC): New variable.
27164 (TARGET_CFLAGS): Likewise.
27165 (TARGET_CPPFLAGS): Likewise.
27166 (TARGET_LDFLAGS): Likewise.
27167 (AWK): Likewise.
27168 (include): Use target_cpu instead of host_cpu.
27169 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 27170
b977bf01 27171 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
27172
f09771a1 271732006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
27174
27175 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
27176 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
27177 field 'false' to 'exec_on_false'.
27178 (grub_script_create_cmdif): Renamed argument names to reflect above
27179 changes.
27180
27181 * normal/execute.c (grub_script_execute_cmdif): Likewise.
27182
27183 * normal/script.c (grub_script_create_cmdif): Likewise.
27184
118f4fb3 271852006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
27186
27187 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
27188 top.
27189 (grub_hfsplus_btree_recptr): Likewise.
27190 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
27191 FILEBLOCK both to pass a block number and store next block
27192 number.
27193 (grub_hfsplus_read_block): Rewritten heavily to support an extent
27194 overflow file correctly. Specify errors appropriately, because
27195 fshelp expects that GRUB_ERRNO is set when fails. Reuse
27196 grub_hfsplus_btree_recptr to get the pointer to a found key.
27197 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
27198 is found.
27199
27200 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
27201 linux.mod.
27202 (_linux_mod_SOURCES): New variable.
27203 (_linux_mod_CFLAGS): Likewise.
27204 (_linux_mod_LDFLAGS): Likewise.
27205 (linux_mod_SOURCES): Likewise.
27206 (linux_mod_CFLAGS): Likewise.
27207 (linux_mod_LDFLAGS): Likewise.
27208
27209 * DISTLIST: Added loader/i386/efi/linux.c,
27210 loader/i386/efi/linux_normal.c and
27211 include/grub/i386/efi/loader.h.
27212
27213 * loader/i386/efi/linux.c: New file.
27214 * loader/i386/efi/linux_normal.c: Likewise.
27215 * include/grub/i386/efi/loader.h: Likewise.
27216
89a7d726 272172006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
27218
27219 * commands/blocklist.c: New file.
27220
27221 * DISTLIST: Added commands/blocklist.c.
27222
27223 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 27224 color for the background, and a darker color for the foreground.
89a7d726 27225 (grub_console_checkkey): Return READ_KEY.
27226 (grub_console_cls): Set the background to
27227 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
27228
27229 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
27230
27231 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
27232 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
27233
27234 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
27235 prototype.
27236
27237 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
27238 BG. The spec is wrong again.
27239
27240 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
27241 prototype.
27242 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
27243
27244 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27245 commands/blocklist.c.
27246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 27247
89a7d726 27248 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
27249 (blocklist_mod_SOURCES): New variable.
27250 (blocklist_mod_CFLAGS): Likewise.
27251 (blocklist_mod_LDFLAGS): Likewise.
27252
75c8f258 272532006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
27254
27255 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
27256 duplication.
27257 (lba_mode): Use %eax more intensively to reduce the code size.
27258
da2eb181 272592006-05-20 Marco Gerards <marco@gnu.org>
27260
27261 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
27262
27263 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
27264 for `menuentry'.
27265 (script): Accept leading newlines.
27266 (newlines): New rule to describe 0 or more newlines.
27267 (commands): Accept `command' with trailing newline. Fixed the
27268 order in which arguments were passed to `grub_script_add_cmd'.
27269 Accept commands separated by newlines.
27270 (function): Changed to accept newlines.
27271 (menuentry) Rewritten.
27272
27273 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
27274 front of the list, instead of to the end.
27275
577b4050 272762006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
27277
27278 * util/i386/pc/grub-install.in (bindir): New variable.
27279 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
27280 Shaver <lbgwjl@gmail.com>.
27281
0d6e1189 272822006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
27283
27284 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
27285 grub/machine/linux.h
27286 * loader/i386/pc/linux.c: Likewise.
27287
27288 * include/grub/i386/pc/linux.h: Moved to ...
27289 * include/grub/i386/linux.h: ... here.
27290
27291 * include/grub/i386/linux.h (struct linux_kernel_params): New
27292 struct.
f19dbdb7 27293
31b86e9f 272942006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
27295
27296 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
27297 checking.
27298 (grub_video_vbe_blit_glyph): Likewise.
27299 (grub_video_vbe_blit_bitmap): Likewise.
27300 (grub_video_vbe_blit_render_target): Likewise.
27301
83b984de 273022006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
27303
27304 * configure.ac (--with-platform): Properly quote the square
27305 brackets.
27306
5f0413bd 273072006-05-08 Marco Gerards <marco@gnu.org>
27308
27309 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
27310 this...
27311 (kernel_elf_HEADERS): ...to this. Updated all users.
27312 (grubof_symlist.c): Renamed from this...
27313 (kernel_elf_symlist.c): ...to this. Updated all users.
27314 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27315 (grubof_SOURCES): Renamed from this...
27316 (kernel_elf_SOURCES): ...to this.
27317 (grubof_HEADERS): Renamed from this...
27318 (kernel_elf_HEADERS): ...to this.
27319 (grubof_CFLAGS): Renamed from this...
27320 (kernel_elf_CFLAGS): ...to this.
27321 (grubof_ASFLAGS): Renamed from this...
27322 (kernel_elf_ASFLAGS): ...to this.
27323 (grubof_LDFLAGS): Renamed from this...
27324 (kernel_elf_LDFLAGS): ...to this.
27325
27326 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
27327 this...
27328 (kernel_elf_HEADERS): ...to this. Updated all users.
27329 (grubof_symlist.c): Renamed from this...
27330 (kernel_elf_symlist.c): ...to this. Updated all users.
27331 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27332 (grubof_SOURCES): Renamed from this...
27333 (kernel_elf_SOURCES): ...to this.
27334 (grubof_HEADERS): Renamed from this...
27335 (kernel_elf_HEADERS): ...to this.
27336 (grubof_CFLAGS): Renamed from this...
27337 (kernel_elf_CFLAGS): ...to this.
27338 (grubof_ASFLAGS): Renamed from this...
27339 (kernel_elf_ASFLAGS): ...to this.
27340 (grubof_LDFLAGS): Renamed from this...
27341 (kernel_elf_LDFLAGS): ...to this.
27342
27343 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
27344 `kernel.elf' instead of `grubof'.
27345
05568c2e 273462006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
27347
27348 Add --with-platform to configure. Use pkglibdir instead of
27349 pkgdatadir. This is reported by Roger Leigh.
27350
27351 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
27352 (host_vendor): Likewise.
27353 (host_os): Likewise.
27354 (pkgdatadir): Likewise.
27355 (platform): New variable.
27356 (pkglibdir): Likewise.
27357 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 27358
05568c2e 27359 * util/i386/pc/grub-install.in (datadir): Removed.
27360 (host_vendor): Likewise.
27361 (host_os): Likewise.
27362 (pkgdatadir): Likewise.
27363 (platform): New variable.
27364 (pkglibdir): Likewise.
27365 Use PKGLIBDIR instead of PKGDATADIR.
27366
27367 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
27368 instead of GRUB_DATADIR.
27369 (main): Likewise.
27370 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27371 (main): Likewise.
27372 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27373 (main): Likewise.
27374
27375 * configure.ac (--with-platform): New option.
27376 Use PLATFORM instead of HOST_VENDOR to specify a platform.
27377
27378 * Makefile.in: Include a makefile based on PLATFORM instead of
27379 HOST_VENDOR.
27380 (pkgdatadir): Not appended by the machine type.
27381 (pkglibdir): Appended by the machine type.
27382 (host_vendor): Removed.
27383 (platform): New variable.
27384 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
27385 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
27386 (uninstall): Likewise.
27387
4e93851c 273882006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
27389
27390 Use the environment context in the menu. Remove the commands
27391 "default" and "timeout", and use variables instead.
f19dbdb7 27392
4e93851c 27393 * normal/menu.c: Include grub/env.h.
27394 (print_entry): Cast TITLE to silence gcc.
27395 (get_timeout): New function.
27396 (set_timeout): Likewise.
27397 (get_entry_number): Likewise.
27398 (run_menu): Use a default entry, a fallback entry and a timeout
27399 in the environment variables "default", "fallback" and
27400 "timeout". Also, tweak the default entry if it is not within the
27401 current menu entries.
27402 (grub_menu_run): Use a fallback entry in the environment variable
27403 "fallback".
27404
27405 * normal/main.c (read_config_file): Do not initialize
27406 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
27407 NEWMENU->TIMEOUT.
27408 (grub_normal_execute): Use a data slot to store the menu.
27409
27410 * include/grub/normal.h (struct grub_menu): Removed default_entry,
27411 fallback_entry and timeout.
27412 (struct grub_menu_list): Removed.
27413 (grub_menu_list_t): Likewise.
27414 (struct grub_context): Likewise.
27415 (grub_context_t): Likewise.
27416 (grub_context_get): Likewise.
27417 (grub_context_get_current_menu): Likewise.
27418 (grub_context_push_menu): Likewise.
27419 (grub_context_pop_menu): Likewise.
27420 (grub_default_init): Likewise.
27421 (grub_default_fini): Likewise.
27422 (grub_timeout_init): Likewise.
27423 (grub_timeout_fini): Likewise.
27424
27425 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
27426 and timeout.mod.
27427 (normal_mod_SOURCES): Removed normal/context.c.
27428
27429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
27430 commands/default.c, commands/timeout.c and normal/context.c.
27431 (normal_mod_SOURCES): Removed normal/context.c.
27432
27433 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
27434 commands/timeout.c and normal/context.c.
27435 (normal_mod_SOURCES): Removed normal/context.c.
27436
27437 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
27438 commands/default.c, commands/timeout.c and normal/context.c.
27439 (normal_mod_SOURCES): Removed normal/context.c.
27440
27441 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
27442 timeout.mod.
27443 (default_mod_SOURCES): Removed.
27444 (default_mod_CFLAGS): Likewise.
27445 (default_mod_LDFLAGS): Likewise.
27446 (timeout_mod_SOURCES): Removed.
27447 (timeout_mod_CFLAGS): Likewise.
27448 (timeout_mod_LDFLAGS): Likewise.
27449
27450 * DISTLIST: Removed commands/default.c, commands/timeout.c and
27451 normal/context.c.
27452
27453 * commands/default.c: Removed.
27454 * commands/timeout.c: Likewise.
27455 * normal/context.c: Likewise.
27456
1eb9cc1d 274572006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
27458
27459 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
27460
385bd9c1 274612006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
27462
27463 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
27464 "next" to "prev" for readability.
27465 (struct grub_env_sorted_var): New struct.
27466 (grub_env_context): Renamed to ...
27467 (initial_context): ... this.
27468 (grub_env_var_context): Renamed to ...
27469 (current_context): ... this.
27470 (grub_env_find): Look only at CURRENT_CONTEXT.
27471 (grub_env_context_open): Rewritten to copy exported variables from
27472 previous context.
27473 (grub_env_context_close): Rewritten according to the new
27474 scheme. Also, add an assertion to prevent the initial context from
27475 removed.
27476 (grub_env_insert): Removed the code for the sorted list.
27477 (grub_env_remove): Likewise.
27478 (grub_env_export): Simply mark the variable with
27479 GRUB_ENV_VAR_GLOBAL.
27480 (grub_env_set): A cosmetic change for naming consistency.
27481 (grub_env_get): Likewise.
27482 (grub_env_unset): Likewise.
27483 (grub_env_iterate): Rewritten to sort variables within this
27484 function.
27485 (grub_register_variable_hook): Fixed for naming consistency. Call
27486 grub_env_find again, only if NAME is not found at the first time.
27487 (mangle_data_slot_name): New function.
27488 (grub_env_set_data_slot): Likewise.
27489 (grub_env_get_data_slot): Likewise.
27490 (grub_env_unset_data_slot): Likewise.
27491
27492 * include/grub/env.h (grub_env_var_type): New enum.
27493 (GRUB_ENV_VAR_LOCAL): New constant.
27494 (GRUB_ENV_VAR_GLOBAL): Likewise.
27495 (GRUB_ENV_VAR_DATA): Likewise.
27496 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
27497 "type".
27498 (grub_env_set): Replace VAR with NAME for consistency.
27499 (grub_register_variable_hook): Likewise.
27500 (grub_env_export): Specify the name of the argument.
27501 (grub_env_set_data_slot): New prototype.
27502 (grub_env_get_data_slot): Likewise.
27503 (grub_env_unset_data_slot): Likewise.
27504
7f362539 275052006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27506
27507 Extend the loader so that GRUB can accept a loader which comes
27508 back to GRUB when a loaded image exits. Also, this change adds
27509 support for a chainloader on EFI.
f19dbdb7 27510
7f362539 27511 * term/efi/console.c: Include grub/misc.h.
27512 (grub_console_checkkey): Display a scan code on the top for
27513 debugging. This will be removed once the EFI port gets stable.
27514 Correct the scan code mapping.
27515
27516 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
27517 allocate memory from larger regions, in order to reduce the number
27518 of allocated regions. Otherwise, the MacOSX loader panics.
27519 (filter_memory_map): Avoid less than 1MB for compatibility with
27520 other loaders.
27521 (add_memory_regions): Allocate from the tail of a region, if
27522 possible, to avoid allocating a region near to 1MB, for the MacOSX
27523 loader.
27524
27525 * kern/efi/init.c (grub_efi_set_prefix): Specify
27526 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
27527
27528 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
27529 argument IMAGE_HANDLE and specify it to get a loaded image.
27530 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
27531 grub_efi_get_loaded_image.
fe6b695a 27532 (grub_efi_get_filename): Divide the length by the size of
7f362539 27533 grub_efi_char16_t.
27534 (grub_efi_get_device_path): New function.
27535 (grub_efi_print_device_path): Print End Device Path nodes. Divide
27536 the length by the size of grub_efi_char16_t for a file path device
27537 path node.
27538
27539 * kern/loader.c (grub_loader_noreturn): New variable.
27540 (grub_loader_set): Accept a new argument NORETURN. Set
27541 GRUB_LOADER_NORETURN to NORETURN.
27542 All callers changed.
27543 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
27544 grub_machine_fini.
27545
27546 * include/grub/efi/efi.h (grub_efi_get_device_path): New
27547 prototype.
27548 (grub_efi_get_loaded_image): Take an argument to specify an image
27549 handle.
27550
27551 * include/grub/loader.h (grub_loader_set): Added one more argument
27552 NORETURN.
27553
27554 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
27555 instead of grub_efi_open_protocol.
27556 (grub_efidisk_get_device_name): Likewise.
27557 (grub_efidisk_close): Print a newline.
27558 (grub_efidisk_get_device_handle): Fixed to use
27559 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
27560 GRUB_EFI_DEVICE_PATH_TYPE.
27561
27562 * disk/efi/efidisk.c (device_path_guid): Moved to ...
27563 * kern/efi/efi.c (device_path_guid): ... here.
27564
27565 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
27566 chain.mod.
27567 (kernel_mod_HEADERS): Added efi/disk.h.
27568 (_chain_mod_SOURCES): New variable.
27569 (_chain_mod_CFLAGS): Likewise.
27570 (_chain_mod_LDFLAGS): Likewise.
27571 (chain_mod_SOURCES): Likewise.
27572 (chain_mod_CFLAGS): Likewise.
27573 (chain_mod_LDFLAGS): Likewise.
27574
27575 * DISTLIST: Added include/grub/efi/chainloader.h,
27576 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
27577
27578 * include/grub/efi/chainloader.h: New file.
27579 * loader/efi/chainloader.c: Likewise.
27580 * loader/efi/chainloader_normal.c: Likewise.
27581
c0111d6e 275822006-04-30 Marco Gerards <marco@gnu.org>
27583
27584 * commands/configfile.c (grub_cmd_source): New function.
27585 (GRUB_MOD_INIT): Register the commands `source' and `.'.
27586 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
27587
df5341da 275882006-04-30 Marco Gerards <marco@gnu.org>
27589
27590 * normal/execute.c (grub_script_execute_cmd): Change the return
27591 type to `grub_err_t'. Correctly return the error.
27592 (grub_script_execute_cmdline): In case a command line is not a
27593 command or a function, try to interpret it as an assignment.
27594
f85934bd 275952006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27596
27597 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
27598 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
27599 skip a node whose name is obviously invalid as UTF-16,
27600 i.e. contains a NUL character. Stop the iteration when the last
27601 directory entry is found. Instead of using the return value of
27602 grub_hfsplus_btree_iterate_node, store the value in RET and use
27603 it, because the iterator can be stopped by the last directory
27604 entry.
27605
8f8a2cf8 276062006-04-30 Marco Gerards <marco@gnu.org>
27607
27608 * include/grub/env.h (grub_env_export): New prototype. Reported
27609 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
27610
a27e84ce 276112006-04-30 Marco Gerards <marco@gnu.org>
27612
27613 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
27614 size of the extents in a catalog file record.
27615
eaef0553 276162006-04-29 Marco Gerards <marco@gnu.org>
27617
27618 * commands/configfile.c (grub_cmd_configfile): Execute the
27619 configfile within its own context.
27620
27621 * include/grub/env.h (grub_env_context_open): New prototype.
27622 (grub_env_context_close): Likewise.
27623
27624 * kern/env.c (grub_env): Removed.
27625 (grub_env_sorted): Likewise.
27626 (grub_env_context): New variable.
27627 (grub_env_var_context): Likewise.
27628 (grub_env_find): Search both the active context and the global
27629 context.
27630 (grub_env_context_open): New function.
27631 (grub_env_context_close): Likewise.
27632 (grub_env_insert): Likewise.
27633 (grub_env_remove): Likewise.
27634 (grub_env_export): Likewise.
27635 (grub_env_set): Changed to use helper functions to avoid code
27636 duplication.
27637 (grub_env_iterate): Rewritten so both the current context and the
27638 global context are being used.
27639
27640 * normal/command.c (export_command): New function.
27641 (grub_command_init): Register the `export' function.
27642
7b455f4d 276432006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
27644
27645 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
27646 explicitly to suppress gcc's warnings.
27647 * fs/fat.c (grub_fat_find_dir): Likewise.
27648 (grub_fat_label): Likewise.
27649 * fs/xfs.c (grub_xfs_read_inode): Likewise.
27650 (grub_xfs_mount): Likewise.
27651 (grub_xfs_label): Likewise.
27652 * fs/affs.c (grub_affs_mount): Likewise.
27653 (grub_affs_label): Likewise.
27654 (grub_affs_iterate_dir): Likewise.
27655 * fs/sfs.c (grub_sfs_mount): Likewise.
27656 (grub_sfs_iterate_dir): Likewise.
27657 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
27658 * fs/hfs.c (grub_hfs_mount): Likewise.
27659 (grub_hfs_cmp_catkeys): Likewise.
27660 (grub_hfs_find_dir): Likewise.
27661 (grub_hfs_dir): Likewise.
27662 (grub_hfs_label): Likewise.
27663 * fs/jfs.c (grub_jfs_mount): Likewise.
27664 (grub_jfs_opendir): Likewise.
27665 (grub_jfs_getent): Likewise.
27666 (grub_jfs_lookup_symlink): Likewise.
27667 (grub_jfs_label): Likewise.
27668 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
27669 (grub_hfsplus_iterate_dir): Likewise.
27670 (grub_hfsplus_btree_iterate_node): Made static.
27671
27672 * util/grub-emu.c (prefix): New variable.
27673 (grub_machine_set_prefix): New function.
27674 (main): Do not set the environment variable "prefix" here. Only
27675 set PREFIX, which is used later by grub_machine_set_prefix.
27676
27677 * include/grub/video.h: Do not include grub/symbol.h.
27678 (grub_video_register): Not exported. This symbol is not defined in
27679 the kernel.
27680 (grub_video_unregister): Likewise.
27681 (grub_video_iterate): Likewise.
27682 (grub_video_setup): Likewise.
27683 (grub_video_restore): Likewise.
27684 (grub_video_get_info): Likewise.
27685 (grub_video_get_blit_format): Likewise.
27686 (grub_video_set_palette): Likewise.
27687 (grub_video_get_palette): Likewise.
27688 (grub_video_set_viewport): Likewise.
27689 (grub_video_get_viewport): Likewise.
27690 (grub_video_map_color): Likewise.
27691 (grub_video_map_rgb): Likewise.
27692 (grub_video_map_rgba): Likewise.
27693 (grub_video_fill_rect): Likewise.
27694 (grub_video_blit_glyph): Likewise.
27695 (grub_video_blit_bitmap): Likewise.
27696 (grub_video_blit_render_target): Likewise.
27697 (grub_video_scroll): Likewise.
27698 (grub_video_swap_buffers): Likewise.
27699 (grub_video_create_render_target): Likewise.
27700 (grub_video_delete_render_target): Likewise.
27701 (grub_video_set_active_render_target): Likewise.
27702
27703 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
27704 Undefined.
27705 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
27706
27707 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
27708 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27709 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27710 instead of $(srcdir)/genkernsyms.sh.
27711
27712 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
27713 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27714 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27715 instead of $(srcdir)/genkernsyms.sh.
27716
27717 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
27718 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27719 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27720 instead of $(srcdir)/genkernsyms.sh.
27721
27722 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
27723 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27724 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27725 instead of $(srcdir)/genkernsyms.sh.
27726
27727 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
27728 genkernsyms.sh.
27729
27730 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
27731 genkernsyms.sh.
27732 (gensymlist.sh): New target.
27733 (genkernsyms.sh): Likewise.
27734
27735 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
27736 genkernsyms.sh.in and gensymlist.sh.in.
27737
27738 * genkernsyms.sh: Removed.
27739 * gensymlist.sh: Likewise.
f19dbdb7 27740
7b455f4d 27741 * genkernsyms.sh.in: New file.
27742 * gensymlist.sh.in: Likewise.
27743
1885bb27 277442006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27745
27746 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
27747 clobber "prefix", since we may have already set it manually.
27748
71538dff 277492006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27750
27751 * kern/misc.c (abort): New alias for grub_abort.
27752
2965c7cc 277532006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
27754
27755 A new machine-specific function "grub_machine_set_prefix" is
27756 defined. This is called after loading modules, so that a prefix
27757 initialization can use modules. Also, this change adds an
27758 intensive debugging feature for the memory manager via the
27759 configure option "--enable-mm-debug".
f19dbdb7 27760
2965c7cc 27761 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
27762 PART.LEN.
27763
27764 * kern/sparc64/ieee1275/init.c (abort): Removed.
27765 (grub_stop): Likewise.
27766 (grub_exit): New function.
27767 (grub_set_prefix): Renamed to ...
27768 (grub_machine_set_prefix): ... this.
27769 (grub_machine_init): Do not call grub_set_prefix.
27770
27771 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
27772 (grub_machine_set_prefix): ... this.
27773 (grub_machine_init): Do not call grub_set_prefix.
27774
27775 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
27776 (grub_machine_init): Do not set the prefix here.
27777
27778 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
27779
27780 * kern/efi/init.c: Include grub/mm.h.
27781 (grub_efi_set_prefix): New function.
27782
27783 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
27784 (grub_efi_get_filename): New function.
27785 (grub_print_device_path): Renamed to ...
27786 (grub_efi_print_device_path): ... this.
27787
27788 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
27789 [MM_DEBUG] (grub_realloc): Likewise.
27790 [MM_DEBUG] (grub_free): Likewise.
27791 [MM_DEBUG] (grub_memalign): Likewise.
27792 [MM_DEBUG] (grub_mm_debug): New variable.
27793 [MM_DEBUG] (grub_debug_malloc): New function.
27794 [MM_DEBUG] (grub_debug_free): New function.
27795 [MM_DEBUG] (grub_debug_realloc): New function.
27796 [MM_DEBUG] (grub_debug_memalign): New function.
27797
27798 * kern/misc.c (grub_abort): Print a newline to distinguish
27799 the message.
27800
27801 * kern/main.c (grub_main): Call grub_machine_set_prefix and
27802 grub_set_root_dev after loading modules. This is necessary when
27803 setting a prefix depends on modules.
27804
27805 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
27806 (grub_efi_print_device_path): ... this.
27807 (grub_efi_get_filename): New prototype.
27808 (grub_efi_set_prefix): Likewise.
27809
27810 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
27811 and grub/disk.h.
27812 (grub_efidisk_get_device_handle): New prototype.
27813 (grub_efidisk_get_device_name): Likewise.
27814
27815 * include/grub/mm.h: Include config.h.
27816 (MM_DEBUG): Removed.
27817 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
27818 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
27819 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
27820 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
27821 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
27822 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
27823 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
27824 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
27825 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
27826
27827 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
27828
27829 * disk/efi/efidisk.c: Include grub/partition.h.
27830 (iterate_child_devices): New function.
27831 (add_device): First, compare only last device path nodes, so that
27832 devices are sorted by the types.
27833 (grub_efidisk_get_device_handle): New function.
27834 (grub_efidisk_get_device_name): Likewise.
27835
27836 * configure.ac (--enable-mm-debug): New option to enable the
27837 memory manager debugging feature. This makes the binary much
27838 bigger, so is disabled by default.
27839
9cacaa17 278402006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
27841
27842 Use grub_abort instead of grub_stop, and grub_exit must be
27843 define in each architecture now. Also, this change adds support
27844 for EFI disks.
f19dbdb7 27845
9cacaa17 27846 * util/i386/pc/grub-probefs.c: Include grub/term.h.
27847 (grub_getkey): New function.
27848 (grub_term_get_current): Likewise.
27849
27850 * util/i386/pc/grub-setup.c: Include grub/term.h.
27851 (grub_getkey): New function.
27852 (grub_term_get_current): Likewise.
27853
27854 * util/misc.c (grub_stop): Renamed to ...
27855 (grub_exit): ... this.
27856
27857 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
27858 (grub_exit): ... this.
27859 (grub_machine_init): Use grub_abort instead of abort.
27860 (grub_stop): Removed.
27861
27862 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
27863 abort.
27864
27865 * kern/i386/pc/startup.S (grub_exit): New function.
27866 (cold_reboot): New label.
27867
27868 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
27869 (grub_efi_init): Call grub_efidisk_init.
27870 (grub_efi_fini): Call grub_efidisk_fini.
27871
27872 * kern/efi/efi.c: Include grub/mm.h.
27873 (grub_efi_console_control_guid): Renamed to ...
27874 (console_control_guid): ... this.
27875 (grub_efi_loaded_image_guid): Renamed to ...
27876 (loaded_image_guid): ... this.
27877 (grub_efi_locate_handle): New function.
27878 (grub_efi_open_protocol): Likewise.
27879 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
27880 GRUB_EFI_CONSOLE_CONTROL_GUID.
27881 (grub_efi_exit): Removed.
27882 (grub_stop): Likewise.
27883 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
27884 (grub_exit): New function.
27885 (grub_print_device_path): Likewise.
27886
27887 * kern/rescue.c (grub_rescue_cmd_exit): New function.
27888 (grub_enter_rescue_mode): Register "exit".
27889
27890 * kern/misc.c (grub_real_dprintf): A cosmetic change.
27891 (grub_abort): New function.
27892
27893 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
27894
27895 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
27896
27897 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
27898
27899 * include/grub/efi/efi.h (grub_efi_exit): Removed.
27900 (grub_print_device_path): New prototype.
27901 (grub_efi_locate_handle): Likewise.
27902 (grub_efi_open_protocol): Likewise.
27903
27904 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
27905 * disk/efi/efidisk.c: Likewise.
27906
27907 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
27908
27909 * include/grub/efi/console_control.h
27910 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
27911
27912 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
27913 last 8 bytes as an array.
27914 (GRUB_EFI_DISK_IO_GUID): New macro.
27915 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
27916 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
27917 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
27918 grub_uint8_t.
27919 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
27920 (struct grub_efi_device_path): Rename the member "sub_type" to
27921 "subtype".
27922 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
27923 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
27924 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
27925 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
27926 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
27927 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
27928 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
27929 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
27930 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
27931 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
27932 (struct grub_efi_pci_device_path): New structure.
27933 (grub_efi_pci_device_path_t): New type.
27934 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
27935 (struct grub_efi_pccard_device_path): New structure.
27936 (grub_efi_pccard_device_path_t): New type.
27937 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
27938 (struct grub_efi_memory_mapped_device_path): New structure.
27939 (grub_efi_memory_mapped_device_path_t): New type.
27940 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
27941 (struct grub_efi_vendor_device_path): New structure.
27942 (grub_efi_vendor_device_path_t): New type.
27943 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
27944 (struct grub_efi_controller_device_path): New structure.
27945 (grub_efi_controller_device_path_t): New type.
27946 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
27947 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
27948 (struct grub_efi_acpi_device_path): New structure.
27949 (grub_efi_acpi_device_path_t): New type.
27950 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
27951 (struct grub_efi_expanded_acpi_device_path): New structure.
27952 (grub_efi_expanded_acpi_device_path_t): New type.
27953 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
27954 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
27955 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
27956 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
27957 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
27958 (struct grub_efi_atapi_device_path): New structure.
27959 (grub_efi_atapi_device_path_t): New type.
27960 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
27961 (struct grub_efi_fibre_channel_device_path): New structure.
27962 (grub_efi_fibre_channel_device_path_t): New type.
27963 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
27964 (struct grub_efi_1394_device_path): New structure.
27965 (grub_efi_1394_device_path_t): New type.
27966 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
27967 (struct grub_efi_usb_device_path): New structure.
27968 (grub_efi_usb_device_path_t): New type.
27969 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
27970 (struct grub_efi_usb_class_device_path): New structure.
27971 (grub_efi_usb_class_device_path_t): New type.
27972 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
27973 (struct grub_efi_i2o_device_path): New structure.
27974 (grub_efi_i2o_device_path_t): New type.
27975 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
27976 (struct grub_efi_mac_address_device_path): New structure.
27977 (grub_efi_mac_address_device_path_t): New type.
27978 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
27979 (struct grub_efi_ipv4_device_path): New structure.
27980 (grub_efi_ipv4_device_path_t): New type.
27981 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
27982 (struct grub_efi_ipv6_device_path): New structure.
27983 (grub_efi_ipv6_device_path_t): New type.
27984 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
27985 (struct grub_efi_infiniband_device_path): New structure.
27986 (grub_efi_infiniband_device_path_t): New type.
27987 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
27988 (struct grub_efi_uart_device_path): New structure.
27989 (grub_efi_uart_device_path_t): New type.
27990 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
27991 (struct grub_efi_vendor_messaging_device_path): New structure.
27992 (grub_efi_vendor_messaging_device_path_t): New type.
27993 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
27994 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
27995 (struct grub_efi_hard_drive_device_path): New structure.
27996 (grub_efi_hard_drive_device_path_t): New type.
27997 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
27998 (struct grub_efi_cdrom_device_path): New structure.
27999 (grub_efi_cdrom_device_path_t): New type.
28000 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
28001 (struct grub_efi_vendor_media_device_path): New structure.
28002 (grub_efi_vendor_media_device_path_t): New type.
28003 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
28004 (struct grub_efi_file_path_device_path): New structure.
28005 (grub_efi_file_path_device_path_t): New type.
28006 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
28007 (struct grub_efi_protocol_device_path): New structure.
28008 (grub_efi_protocol_device_path_t): New type.
28009 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
28010 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
28011 (struct grub_efi_bios_device_path): New structure.
28012 (grub_efi_bios_device_path_t): New type.
28013 (struct grub_efi_disk_io): New structure.
28014 (grub_efi_disk_io_t): New type.
28015 (struct grub_efi_block_io_media): New structure.
28016 (grub_efi_block_io_media_t): New type.
28017 (struct grub_efi_block_io): New structure.
28018 (grub_efi_block_io_t): New type.
28019
28020 * include/grub/misc.h (grub_stop): Removed.
28021 (grub_exit): New prototype.
28022 (grub_abort): Likewise.
28023
28024 * include/grub/disk.h (enum grub_disk_dev_id): Added
28025 GRUB_DISK_DEVICE_EFIDISK_ID.
28026
28027 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
28028 disk/efi/efidisk.c.
28029 (kernel_syms.lst): Remove the target if an error occurs.
28030
49986a9f 280312006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
28032
28033 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
28034 as it was simply too buggy.
28035
970d3b8a 280362006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
28037
28038 * kern/misc.c (grub_lltoa): New function.
28039 (grub_vsprintf): Added support for the long long suffix,
28040 i.e. "ll".
28041
ff04ec24 280422006-04-20 Hollis Blanchard <hollis@penguinppc.org>
28043
28044 * Makefile.in (LDFLAGS): Add variable.
28045 (LD): Remove variable.
28046 * configure.ac: Add -m32 to LDFLAGS.
28047 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
28048 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
28049 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
28050 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
28051 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
28052 variables.
28053 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
28054 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
28055 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
28056
37e5e1a4 280572006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
28058
28059 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
28060 length for unknown glyph.
28061
c352d8dd 280622006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
28063
2eab1c0d 28064 Add support for pre-loaded modules into the EFI port.
f19dbdb7 28065
2eab1c0d 28066 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
28067 completely. Accept one more argument DIR. The caller has changed.
28068
28069 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
28070
28071 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
28072 (grub_efi_loaded_image_guid): New variable.
28073 (grub_efi_get_loaded_image): New function.
28074 (grub_arch_modules_addr): Likewise.
28075
28076 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
28077 prototype.
28078
28079 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
28080 (struct grub_efi_loaded_image): New structure.
28081 (grub_efi_loaded_image_t): New type.
28082
280832006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28084
c352d8dd 28085 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
28086 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
28087 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
28088
6d01d6b4 280892006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
28090
28091 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
28092
976a4ea0 280932006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
28094
28095 * DISTLIST: Added include/grub/efi/console.h,
28096 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
28097 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28098
28099 * include/grub/efi/console.h: New file.
28100 * include/grub/efi/time.h: Likewise.
28101 * include/grub/i386/efi/kernel.h: Likewise.
28102 * kern/efi/init.c: Likewise.
28103 * kern/efi/mm.c: Likewise.
28104 * term/efi/console.c: Likewise.
f19dbdb7 28105
976a4ea0 28106 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
28107 (grub_stop): Removed.
28108 (grub_get_rtc): Likewise.
28109 (grub_machine_init): Simply call grub_efi_init.
28110 (grub_machine_fini): Call grub_efi_fini.
28111
28112 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
28113 (grub_efi_output_string): Removed.
28114 (grub_efi_stall): New function.
28115 (grub_stop): Likewise.
28116 (grub_get_rtc): Likewise.
28117
28118 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
28119 (grub_efi_stall): New prototype.
28120 (grub_efi_allocate_pages): Likewise.
28121 (grub_efi_free_pages): Likewise.
28122 (grub_efi_get_memory_map): Likewise.
28123 (grub_efi_mm_init): Likewise.
28124 (grub_efi_mm_fini): Likewise.
28125 (grub_efi_init): Likewise.
28126 (grub_efi_fini): Likewise.
28127
28128 * include/grub/i386/efi/time.h: Do not include
28129 grub/symbol.h. Include grub/efi/time.h.
28130 (GRUB_TICKS_PER_SECOND): Removed.
28131 (grub_get_rtc): Likewise.
28132
28133 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
28134 Added padding. The EFI spec is buggy.
28135 (GRUB_EFI_BLACK): New macro.
28136 (GRUB_EFI_BLUE): Likewise.
28137 (GRUB_EFI_GREEN): Likewise.
28138 (GRUB_EFI_CYAN): Likewise.
28139 (GRUB_EFI_RED): Likewise.
28140 (GRUB_EFI_MAGENTA): Likewise.
28141 (GRUB_EFI_BROWN): Likewise.
28142 (GRUB_EFI_LIGHTGRAY): Likewise.
28143 (GRUB_EFI_BRIGHT): Likewise.
28144 (GRUB_EFI_DARKGRAY): Likewise.
28145 (GRUB_EFI_LIGHTBLUE): Likewise.
28146 (GRUB_EFI_LIGHTGREEN): Likewise.
28147 (GRUB_EFI_LIGHTCYAN): Likewise.
28148 (GRUB_EFI_LIGHTRED): Likewise.
28149 (GRUB_EFI_LIGHTMAGENTA): Likewise.
28150 (GRUB_EFI_YELLOW): Likewise.
28151 (GRUB_EFI_WHITE): Likewise.
28152 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
28153 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
28154 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
28155 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
28156 (GRUB_EFI_BACKGROUND_RED): Likewise.
28157 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
28158 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
28159 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
28160 (GRUB_EFI_TEXT_ATTR): Likewise.
28161
28162 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
28163 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28164 (kernel_mod_HEADERS): Added efi/time.h.
28165
83709125 281662006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
28167
28168 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
28169 include/grub/efi/api.h, include/grub/efi/console_control.h,
28170 include/grub/efi/efi.h, include/grub/efi/pe32.h,
28171 include/grub/i386/efi/time.h, kern/efi/efi.c,
28172 kern/i386/efi/init.c, kern/i386/efi/startup.S,
28173 and util/i386/efi/grub-mkimage.c.
28174
28175 * Makefile.in (RMKFILES): Added i386-efi.rmk.
28176
28177 * genmk.rb (PModule#rule): Do not export symbols if
28178 #{prefix}_EXPORTS is set to "no".
28179
28180 * conf/i386-efi.mk: New file.
28181 * conf/i386-efi.rmk: Likewise.
28182 * include/grub/efi/api.h: Likewise.
28183 * include/grub/efi/console_control.h: Likewise.
28184 * include/grub/efi/efi.h: Likewise.
28185 * include/grub/efi/pe32.h: Likewise.
28186 * include/grub/i386/efi/time.h: Likewise.
28187 * kern/efi/efi.c: Likewise.
28188 * kern/i386/efi/init.c: Likewise.
28189 * kern/i386/efi/startup.S: Likewise.
28190 * util/i386/efi/grub-mkimage.c: Likewise.
28191
281922006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 28193
28194 * include/grub/script.h: Include <grub/parser.h> and
28195 "grub_script.tab.h".
28196 (struct grub_lexer_param): New struct.
28197 (struct grub_parser_param): Likewise.
28198 (grub_script_create_arglist): Pass the state in an argument.
28199 (grub_script_add_arglist): Likewise.
28200 (grub_script_create_cmdline): Likewise.
28201 (grub_script_create_cmdblock): Likewise.
28202 (grub_script_create_cmdif): Likewise.
28203 (grub_script_create_cmdmenu): Likewise.
28204 (grub_script_add_cmd): Likewise.
28205 (grub_script_arg_add): Likewise.
28206 (grub_script_lexer_ref): Likewise.
28207 (grub_script_lexer_deref): Likewise.
28208 (grub_script_lexer_record_start): Likewise.
28209 (grub_script_lexer_record_stop): Likewise.
28210 (grub_script_mem_record): Likewise.
28211 (grub_script_mem_record_stop): Likewise.
28212 (grub_script_malloc): Likewise.
28213 (grub_script_yylex): Likewise.
28214 (grub_script_yyparse): Likewise.
28215 (grub_script_yyerror): Likewise.
28216 (grub_script_yylex): Likewise.
28217 (grub_script_lexer_init): Return the state.
28218
28219 * normal/lexer.c (grub_script_lexer_state): Removed variable.
28220 (grub_script_lexer_done): Likewise.
28221 (grub_script_lexer_getline): Likewise.
28222 (grub_script_lexer_refs): Likewise.
28223 (script): Likewise.
28224 (newscript): Likewise.
28225 (record): Likewise.
28226 (recording): Likewise.
28227 (recordpos): Likewise.
28228 (recordlen): Likewise.
28229 (grub_script_lexer_init): Return the state instead of setting
28230 global variables.
28231 (grub_script_lexer_ref): Use the newly added argument for state
28232 instead of globals.
28233 (grub_script_lexer_deref): Likewise.
28234 (grub_script_lexer_record_start): Likewise.
28235 (grub_script_lexer_record_stop): Likewise.
28236 (recordchar): Likewise.
28237 (nextchar): Likewise.
28238 (grub_script_yylex2): Likewise.
28239 (grub_script_yylex): Likewise.
28240 (grub_script_yyerror): Likewise.
28241
28242 * normal/parser.y (func_mem): Removed variable.
28243 (menu_entry): Likewise.
28244 (err): Likewise.
28245 (%lex-param): New parser option.
28246 (%parse-param): Likewise.
28247 (script): Always return the AST.
28248 (argument): Pass the state around.
28249 (arguments): Likewise.
28250 (grubcmd): Likewise.
28251 (commands): Likewise.
28252 (function): Likewise.
28253 (menuentry): Likewise.
28254 (if_statement): Likewise.
28255 (if): Likewise.
28256
28257 * normal/script.c (grub_script_memused): Removed variable.
28258 (grub_script_parsed): Likewise.
28259 (grub_script_malloc): Added a state argument. Use that instead of
28260 global variables.
28261 (grub_script_mem_record): Likewise.
28262 (grub_script_mem_record_stop): Likewise.
28263 (grub_script_arg_add): Likewise.
28264 (grub_script_add_arglist): Likewise.
28265 (grub_script_create_cmdline): Likewise.
28266 (grub_script_create_cmdif): Likewise.
28267 (grub_script_create_cmdmenu): Likewise.
28268 (grub_script_add_cmd): Likewise.
28269 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 28270
e2a8c904 282712006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 28272
28273 * normal/command.c (grub_command_init): Remove the title command.
28274
28275 * normal/lexer.c (grub_script_yylex): Renamed from this...
28276 (grub_script_yylex2): ... to this.
28277 (grub_script_yylex): New function. Temporary
28278 introduced to filter some tokens.
28279 (grub_script_yyerror): Print a newline.
28280
28281 * normal/main.c (read_config_file): Output information about the
28282 lines that contain errors. Wait for a key after all lines have
28283 been processed. Don't return an empty menu.
28284
28285 * normal/parser.y (func_mem): Don't initialize.
28286 (menu_entry): Likewise.
28287 (err): New variable.
28288 (script): Don't return anything when an error was encountered.
28289 (ws, returns): Removed rules.
28290 (argument): Disabled concatenated variable support.
28291 (arguments): Remove explicit separators.
28292 (grubcmd): Likewise.
28293 (function): Likewise.
28294 (menuentry): Likewise.
28295 (if): Likewise.
28296 (commands): Likewise. Add error handling.
28297
28298 * normal/script.c (grub_script_create_cmdline): If
28299 `grub_script_parsed' is 0, assume the parser encountered an error.
28300
c9a86192 283012006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
28302
28303 * configure.ac: Add support for EFI. Fix the typo
28304 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
28305
70f3b243 283062006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28307
28308 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
28309 foreign multibyte characters should be shown correctly.
28310
65f201ad 283112006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28312
28313 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
28314 calculation.
28315 (read_config_file): Made it to close file before returning.
28316
b4b93674 283172006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
28318
28319 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
28320 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
28321 video/i386/pc/vbefill.c.
28322
28323 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
28324 video/i386/pc/vbefill.c.
28325
28326 * include/grub/video.h (grub_video_blit_format): New enum.
28327 (grub_video_mode_info): Added new member blit_format.
28328 (grub_video_get_blit_format): New function prototype.
28329
28330 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
28331 function prototype.
28332 (grub_video_vbe_map_rgb): Likewise.
28333 (grub_video_vbe_unmap_color): Likewise.
28334
28335 * include/grub/i386/pc/vbeblit.h: New file.
28336
28337 * include/grub/i386/pc/vbefill.h: New file.
28338
28339 * video/video.c (grub_video_get_blit_format): New function.
28340 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
28341 (grub_video_vbe_map_rgb): Likewise.
28342 (grub_video_vbe_unmap_color): Likewise.
28343
28344 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
28345 optimized fills.
28346 (grub_video_vbe_blit_render_target): Changed to use more optimized
28347 blits.
28348 (grub_video_vbe_setup): Added detection for optimized settings.
28349 (grub_video_vbe_create_render_target): Likewise.
28350
28351 * video/i386/pc/vbeblit.c: New file.
28352
28353 * video/i386/pc/vbefill.c: New file.
28354
c2379b9c 283552006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
28356
28357 * font/manager.c (grub_font_get_glyph): Removed font fixup from
28358 here...
28359
28360 * util/unifont2pff.rb: ... and moved it to here. Improved argument
28361 parsing to support both hex and dec ranges. If filename was missing
28362 show usage information.
28363
bd0d7896 283642006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
28365
28366 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
28367 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
28368
28369 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
28370 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
28371 (video_mod_SOURCES): Added.
28372 (video_mod_CFLAGS): Likewise.
28373 (video_mod_LDFLAGS): Likewise.
28374 (gfxterm_mod_SOURCES): Likewise.
28375 (gfxterm_mod_CFLAGS): Likewise.
28376 (gfxterm_mod_LDFLAGS): Likewise.
28377 (videotest_mod_SOURCES): Likewise.
28378 (videotest_mod_CFLAGS): Likewise.
28379 (videotest_mod_LDFLAGS): Likewise.
28380 (vesafb_mod_SOURCES): Removed.
28381 (vesafb_mod_CFLAGS): Likewise.
28382 (vesafb_mod_LDFLAGS): Likewise.
28383 (vga_mod_SOURCES): Likewise.
28384 (vga_mod_CFLAGS): Likewise.
28385 (vga_mod_LDFLAGS): Likewise.
28386
28387 * commands/videotest.c: New file.
28388
28389 * font/manager.c (fill_with_default_glyph): Modified to use
28390 grub_font_glyph.
28391 (grub_font_get_glyph): Likewise.
28392 (fontmanager): Renamed from this...
28393 (font_manager): ... to this.
28394
28395 * include/grub/font.h (grub_font_glyph): Added new structure.
28396 (grub_font_get_glyph): Modified to use grub_font_glyph.
28397
28398 * include/grub/misc.h (grub_abs): Added as inline function.
28399
28400 * include/grub/video.h: New file.
28401
28402 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
28403 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
28404 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
28405 (grub_vbe_get_controller_info): Renamed from this...
28406 (grub_vbe_bios_get_controller_info): ... to this.
28407 (grub_vbe_get_mode_info): Renamed from this...
28408 (grub_vbe_bios_get_mode_info): ... to this.
28409 (grub_vbe_set_mode): Renamed from this...
28410 (grub_vbe_bios_set_mode): ... to this.
28411 (grub_vbe_get_mode): Renamed from this...
28412 (grub_vbe_bios_get_mode): ... to this.
28413 (grub_vbe_set_memory_window): Renamed from this...
28414 (grub_vbe_bios_set_memory_window): ... to this.
28415 (grub_vbe_get_memory_window): Renamed from this...
28416 (grub_vbe_bios_get_memory_window): ... to this.
28417 (grub_vbe_set_scanline_length): Renamed from this...
28418 (grub_vbe_set_scanline_length): ... to this.
28419 (grub_vbe_get_scanline_length): Renamed from this...
28420 (grub_vbe_bios_get_scanline_length): ... to this.
28421 (grub_vbe_set_display_start): Renamed from this...
28422 (grub_vbe_bios_set_display_start): ... to this.
28423 (grub_vbe_get_display_start): Renamed from this...
28424 (grub_vbe_bios_get_display_start): ... to this.
28425 (grub_vbe_set_palette_data): Renamed from this...
28426 (grub_vbe_bios_set_palette_data): ... to this.
28427 (grub_vbe_set_pixel_rgb): Removed.
28428 (grub_vbe_set_pixel_index): Likewise.
28429
28430 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
28431 from this...
28432 (grub_vbe_bios_get_controller_info): ... to this.
28433 (grub_vbe_get_mode_info): Renamed from this...
28434 (grub_vbe_bios_get_mode_info): ... to this.
28435 (grub_vbe_set_mode): Renamed from this...
28436 (grub_vbe_bios_set_mode): ... to this.
28437 (grub_vbe_get_mode): Renamed from this...
28438 (grub_vbe_bios_get_mode): ... to this.
28439 (grub_vbe_set_memory_window): Renamed from this...
28440 (grub_vbe_bios_set_memory_window): ... to this.
28441 (grub_vbe_get_memory_window): Renamed from this...
28442 (grub_vbe_bios_get_memory_window): ... to this.
28443 (grub_vbe_set_scanline_length): Renamed from this...
28444 (grub_vbe_set_scanline_length): ... to this.
28445 (grub_vbe_get_scanline_length): Renamed from this...
28446 (grub_vbe_bios_get_scanline_length): ... to this.
28447 (grub_vbe_set_display_start): Renamed from this...
28448 (grub_vbe_bios_set_display_start): ... to this.
28449 (grub_vbe_get_display_start): Renamed from this...
28450 (grub_vbe_bios_get_display_start): ... to this.
28451 (grub_vbe_set_palette_data): Renamed from this...
28452 (grub_vbe_bios_set_palette_data): ... to this.
28453 (grub_vbe_bios_get_controller_info): Fixed problem with registers
28454 getting corrupted after calling it. Added more pushes and pops.
28455 (grub_vbe_bios_set_mode): Likewise.
28456 (grub_vbe_bios_get_mode): Likewise.
28457 (grub_vbe_bios_get_memory_window): Likewise.
28458 (grub_vbe_bios_set_scanline_length): Likewise.
28459 (grub_vbe_bios_get_scanline_length): Likewise.
28460 (grub_vbe_bios_get_display_start): Likewise.
28461 (grub_vbe_bios_set_palette_data): Likewise.
28462
28463 * normal/cmdline.c (cl_set_pos): Refresh the screen.
28464 (cl_insert): Likewise.
28465 (cl_delete): Likewise.
28466
28467 * term/gfxterm.c: New file.
28468
28469 * term/i386/pc/vesafb.c: Removed file.
28470
28471 * video/video.c: New file.
28472
28473 * video/i386/pc/vbe.c (real2pm): Added new function.
28474 (grub_video_vbe_draw_pixel): Likewise.
28475 (grub_video_vbe_get_video_ptr): Likewise.
28476 (grub_video_vbe_get_pixel): Likewise
28477 (grub_video_vbe_init): Likewise.
28478 (grub_video_vbe_fini): Likewise.
28479 (grub_video_vbe_setup): Likewise.
28480 (grub_video_vbe_get_info): Likewise.
28481 (grub_video_vbe_set_palette): Likewise.
28482 (grub_video_vbe_get_palette): Likewise.
28483 (grub_video_vbe_set_viewport): Likewise.
28484 (grub_video_vbe_get_viewport): Likewise.
28485 (grub_video_vbe_map_color): Likewise.
28486 (grub_video_vbe_map_rgb): Likewise.
28487 (grub_video_vbe_map_rgba): Likewise.
28488 (grub_video_vbe_unmap_color): Likewise.
28489 (grub_video_vbe_fill_rect): Likewise.
28490 (grub_video_vbe_blit_glyph): Likewise.
28491 (grub_video_vbe_blit_bitmap): Likewise.
28492 (grub_video_vbe_blit_render_target): Likewise.
28493 (grub_video_vbe_scroll): Likewise.
28494 (grub_video_vbe_swap_buffers): Likewise.
28495 (grub_video_vbe_create_render_target): Likewise.
28496 (grub_video_vbe_delete_render_target): Likewise.
28497 (grub_video_vbe_set_active_render_target): Likewise.
28498 (grub_vbe_set_pixel_rgb): Remove function.
28499 (grub_vbe_set_pixel_index): Likewise.
28500 (index_color_mode): Remove static variable.
28501 (active_mode): Likewise.
28502 (framebuffer): Likewise.
28503 (bytes_per_scan_line): Likewise.
28504 (grub_video_vbe_adapter): Added new static variable.
28505 (framebuffer): Likewise.
28506 (render_target): Likewise.
28507 (initial_mode): Likewise.
28508 (mode_in_use): Likewise.
28509 (mode_list): Likewise.
28510
5f97350b 285112006-03-10 Marco Gerards <marco@gnu.org>
28512
28513 * configure.ac (AC_INIT): Bumped to 1.93.
28514
28515 * DISTLIST: Added `include/grub/hfs.h'.
28516
a3c5c6f8 285172006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
28518
28519 * boot/i386/pc/boot.S (general_error): Before looping, try INT
28520 18H, which might help the BIOS falling back to next boot media.
28521
6de53d26 285222006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
28523
28524 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
28525 Poe Chen <poe.poechen@gmail.com>.
28526
77c4a393 285272006-01-17 Marco Gerards <marco@gnu.org>
28528
28529 * include/grub/normal.h: Include <grub/script.h>.
28530 (grub_command_list): Removed struct.
28531 (grub_command_list_t): Removed type.
28532 (grub_menu_entry): Remove members `num' and `command_list'. Add
28533 members `commands' and `sourcecode'.
28534 * include/grub/script.h: Add inclusion guards.
28535 (grub_script_cmd_menuentry): New struct.
28536 (grub_script_execute_menuentry): New prototype.
28537 (grub_script_lexer_record_start): Likewise.
28538 (grub_script_lexer_record_stop): Likewise.
28539 * normal/execute.c (grub_script_execute_menuentry): New function.
28540 * normal/lexer.c (record, recording, recordpos, recordlen): New
28541 variables.
28542 (grub_script_lexer_record_start): New function.
28543 (grub_script_lexer_record_stop): Likewise.
28544 (recordchar): Likewise.
28545 (nextchar): Likewise.
28546 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
28547 2048 as the buffer size. Add the tokens `menuentry' and `@'.
28548 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
28549 (current_menu): New variable.
28550 (free_menu): Mainly rewritten.
28551 (grub_normal_menu_addentry): New function.
28552 (read_config_file): Rewritten.
28553 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 28554 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 28555 the menu entry.
28556 (run): Mainly rewritten.
28557 * normal/parser.y (menu_entry): New variable.
28558 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
28559 (menuentry): New rule.
28560 (command): Add `menuentry'.
28561 (if_statement): Allow additional returns before `fi'.
28562 * normal/script.c (grub_script_create_cmdmenu): New function.
28563
144f1f98 285642006-01-03 Marco Gerards <marco@gnu.org>
28565
28566 * INSTALL: GNU Bison is required.
28567 * configure.ac: Rewritten the test to detect Bison.
28568 * Makefile.in (YACC): New variable. Reported by Xun Sun
28569 <xun.sun.cn@gmail.com>.
28570
af4b2d89 285712006-01-03 Marco Gerards <marco@gnu.org>
28572
28573 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
28574 the HFS+ filesystem to filesystem blocks.
28575 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
28576 GCC warning is silenced.
28577
15643b71 285782006-01-03 Marco Gerards <marco@gnu.org>
28579
28580 * partmap/apple.c (apple_partition_map_iterate): Convert the data
28581 read from disk from big endian to host byte order.
28582
00905879 285832006-01-03 Hollis Blanchard <hollis@penguinppc.org>
28584
28585 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
28586 documentation.
28587 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
28588 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
28589 embedded HFS+ filesystem.
28590 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
28591 (grub_hfs_sblock): Move from here...
28592 * include/grub/hfs.h: To here... New file.
28593 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
28594 documentation.
28595 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
28596 New macros.
28597 (grub_hfsplus_volheader): Change type of member `magic' to
28598 `grub_uint16_t'.
28599 (grub_hfsplus_data): Add new member `embedded_offset'.
28600 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
28601 returned block.
28602 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
28603 Calculate the offset.
28604
8899bc3e 286052005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28606
28607 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
28608 Removed.
28609 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
28610
ae8c0277 286112005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28612
28613 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
28614 ENV->NAME is NULL after allocating ENV->VALUE.
28615
07084456 286162005-12-25 Marco Gerards <marco@gnu.org>
28617
28618 * kern/env.c (grub_env_set): Rewritten the error handling code.
28619
4750f5f1 286202005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28621
28622 * geninit.sh: Made more robust, and more portable.
28623
50214199 286242005-12-25 Marco Gerards <marco@gnu.org>
28625
28626 Add support for Apple HFS+ filesystems.
f19dbdb7 28627
50214199 28628 * fs/hfsplus.c: New file.
28629
28630 * DISTLIST: Added `fs/hfsplus.c'.
28631
28632 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
28633 (hfsplus_mod_SOURCES): New variable.
28634 (hfsplus_mod_CFLAGS): Likewise.
28635 (hfsplus_mod_LDFLAGS): Likewise.
28636 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
28637 (grub_setup_SOURCES): Likewise.
28638 (grub_mkdevicemap_SOURCES): Likewise.
28639 (grub_emu_SOURCES): Likewise.
28640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28641
28642 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
28643
28644 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
28645
befaed6c 286462005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28647
28648 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
28649 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
28650 include/grub/parser.h, include/grub/script.h, kern/parser.c,
28651 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
28652 normal/lexer.c, normal/parser.y, normal/script.c, and
28653 partmap/gpt.c.
28654 Removed kern/sparc64/cache.c.
28655
28656 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
28657 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
28658 grub_emu_init.c.
28659
28660 * configure.ac (AC_INIT): Bumped to 1.92.
28661
6a124103 286622005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
28663
28664 * kern/err.c (grub_error_push): Added new function to support error
28665 stacks.
28666 (grub_error_pop): Likewise.
28667 (grub_error_stack_items): New local variable to support error stacks.
28668 (grub_error_stack_pos): Likewise.
28669 (grub_error_stack_assert): Likewise.
28670 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
28671 stack depth.
28672 (grub_print_error): Added support to print errors from error stack.
28673
28674 * include/grub/err.h (grub_error_push): Added function prototype.
28675 (grub_error_pop): Likewise.
28676
be973c1b 286772005-12-09 Hollis Blanchard <hollis@penguinppc.org>
28678
28679 * configure.ac: Accept `powerpc64' as host_cpu.
28680 (amd64): Rename to `biarch32'.
28681
28682 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
28683 non-cacheline-aligned addresses.
28684
28685 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
28686 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
28687 if `size' is non-zero.
28688
b04216ab 286892005-12-03 Marco Gerards <mgerards@xs4all.nl>
28690
28691 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
28692 and `cd' to make sure the filename is not prefixed with a
28693 directory name.
28694 (pkgdata_MODULES): Add `gpt.mod'.
28695 (gpt_mod_SOURCES): New variable.
28696 (gpt_mod_CFLAGS): Likewise.
28697 (gpt_mod_LDFLAGS): Likewise.
28698
28699 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
28700
28701 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
28702 New macro.
28703
28704 * partmap/gpt.c: New file.
28705
28706 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
28707 GPT partition map is detected.
28708
41730ed9 287092005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
28710
28711 * commands/i386/pc/play.c: New file.
28712 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
28713 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
28714 macros.
f19dbdb7 28715
95dc3643 287162005-11-27 Marco Gerards <mgerards@xs4all.nl>
28717
28718 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
28719 ((unused))' to silence gcc warning.
28720
1569ec51 287212005-11-26 Hollis Blanchard <hollis@penguinppc.org>
28722
28723 * configure.ac: Correct `AC_PROG_YACC' test.
28724
9abde152 287252005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28726
28727 * util/powerpc/ieee1275/grub-install.in: Run the mount point
28728 check before installing files.
28729
44b83271 287302005-11-22 Mike Small <smallm@panix.com>
28731
28732 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
28733 number regex so multidigit numbers are recognized correctly.
28734
287352005-11-22 Mike Small <smallm@panix.com>
28736
28737 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
28738 debugging message before attempting to claim memory.
28739 (grub_rescue_cmd_initrd): Add a claim debugging message and try
28740 multiple addresses in case of failure.
28741
9c12956b 287422005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28743
28744 * term/tparm.c (get_space): Remove empty `if' statement.
28745
28746 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
28747
28748 * kern/parser.c (check_varstate): Rename `state' to 's'.
28749
aeaf81d9 287502005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28751
28752 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
28753 variable definitions to the beginning of each function. Sort stack
28754 variables by size.
28755 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
28756 `buf' argument to `char *'.
28757
79bbb63f 287582005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28759
28760 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
28761 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28762 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 28763 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28764 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28765 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28766 configfile.mod, search.mod, gzio.mod and test.mod.
28767 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28768 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28769 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28770 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28771 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28772 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28773 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28774 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28775 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28776 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28777 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28778 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28779 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28780 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28781 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28782 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28783 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28784 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28785 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28786 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28787 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28788 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28789 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
28790
28791 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
28792 `grep --include'.
28793 (pkgdata_MODULES): Add test.mod.
28794
233b1628 287952005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28796
28797 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
28798 appending to variables with "+=".
28799 (PModule): Use full pathname to generate *.lst filenames.
28800
28801 * Makefile.in: Fixed list rules moved from genmk.rb.
28802 (.DELETE_ON_ERROR): New special target.
28803 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
28804
28805 * conf/i386-pc.rmk: Include conf/common.mk.
28806 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28807 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 28808 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28809 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28810 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28811 configfile.mod, search.mod, gzio.mod and test.mod.
28812 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28813 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28814 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28815 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28816 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28817 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28818 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28819 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28820 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28821 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28822 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28823 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28824 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28825 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28826 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28827 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28828 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28829 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28830 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28831 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28832 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28833 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28834 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
28835 here...
28836 * conf/common.rmk: ... to here. New file.
28837
28838 * conf/common.mk: New file.
28839
16f820c8 288402005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
28841
28842 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
28843 (grub_script.tab.c): ... here.
28844
28845 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
28846 (grub_script.tab.c): ... here.
28847
28848 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
28849 (grub_script.tab.c): ... here.
28850
28851 * normal/command.c (grub_command_find): Fixed a memory leak of
28852 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
28853
63ba1554 288542005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28855
28856 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
28857 "@" which marks the start of a comment on ARM.
28858 (VARIABLE): Likewise.
28859
7f67dc13 288602005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28861
79bbb63f 28862 Add support for Linux/ADFS partition tables.
7f67dc13 28863
28864 * partmap/acorn.c: New file.
28865
28866 * include/grub/acorn_filecore.h: Likewise.
28867
28868 * DISTLIST: Added `partmap/acorn.c' and
28869 `include/grub/acorn_filecore.h'.
f19dbdb7 28870
7f67dc13 28871 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28872 `partmap/acorn.c'.
28873 (pkgdata_MODULES): Add `acorn.mod'.
28874 (acorn_mod_SOURCES): New variable.
28875 (acorn_mod_CFLAGS): Likewise.
28876
28877 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28878 `partmap/acorn.c'.
28879 (pkgdata_MODULES): Add `acorn.mod'.
28880 (acorn_mod_SOURCES): New variable.
28881 (acorn_mod_CFLAGS): Likewise.
28882
28883 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
28884 (pkgdata_MODULES): Add `acorn.mod'.
28885 (acorn_mod_SOURCES): New variable.
28886 (acorn_mod_CFLAGS): Likewise.
28887 (acorn_mod_LDFLAGS): Likewise.
28888
28889 * include/types.h (grub_disk_addr_t): New typedef.
28890
6d099807 288912005-11-13 Marco Gerards <mgerards@xs4all.nl>
28892
28893 * geninit.sh: New file.
28894
28895 * geninitheader.sh: Likewise.
28896
28897 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
28898 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
28899 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
28900 * commands/configfile.c (grub_configfile_init)
28901 (grub_configfile_fini): Likewise.
28902 * commands/default.c (grub_default_init, grub_default_fini):
28903 Likewise.
28904 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
28905 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
28906 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
28907 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
28908 Likewise.
28909 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
28910 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
28911 Likewise.
28912 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 28913 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 28914 Likewise.
28915 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
28916 Likewise.
fe6b695a 28917 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 28918 Likewise.
28919 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
28920 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
28921 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
28922 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
28923 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
28924 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
28925 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
28926 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
28927 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
28928 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
28929 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
28930 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
28931 * partmap/amiga.c (grub_amiga_partition_map_init)
28932 (grub_amiga_partition_map_fini): Likewise.
28933 * partmap/apple.c (grub_apple_partition_map_init)
28934 (grub_apple_partition_map_fini): Likewise.
28935 * partmap/pc.c (grub_pc_partition_map_init)
28936 (grub_pc_partition_map_fini): Likewise.
28937 * partmap/sun.c (grub_sun_partition_map_init,
28938 grub_sun_partition_map_fini): Likewise.
28939 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
28940 Likewise.
28941
28942 * util/grub-emu.c: Include <grub_modules_init.h>.
28943 (main): Don't initialize and de-initialize any modules directly,
28944 use `grub_init_all' and `grub_fini_all' instead.
28945
28946 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
28947 `grub_vesafb_mod_init'.
28948 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
28949 all users.
28950 * term/i386/pc/vga.c (grub_vga_init): Renamed to
28951 `grub_vga_mod_init'. Updated all users.
28952 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 28953
6d099807 28954 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
28955 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
28956 rules.
28957
28958 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
28959 Generate a function to initialize the module in utilities.
28960 Updated all callers.
28961 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
28962 initialize the module in utilities. Updated all callers.
28963
9046bcf0 289642005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28965
28966 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
28967 escape sequence and a literal ^L to clear the screen.
28968
28969 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
28970 when returning from Open Firmware.
28971
d13ea639 289722005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28973
28974 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
28975 (grub_ofconsole_height): Likewise.
28976 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
28977 manually insert a '\n'.
28978 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
28979 `grub_ofconsole_height'. Return early if these are already set.
28980
a8fcf206 289812005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
28982
28983 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28984 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
28985 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
28986 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
28987 and `normal/script.c'.
28988 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28989 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28990 (test_mod_SOURCES): New variable.
28991 (test_mod_CFLAGS): Likewise.
28992 (test_mod_LDFLAGS): Likewise.
28993 (pkgdata_MODULES): Add `test.mod'.
28994 (grub_script.tab.c): New rule.
28995 (grub_script.tab.h): Likewise.
28996
b6b32745 289972005-11-07 Marco Gerards <mgerards@xs4all.nl>
28998
28999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29000 `commands/test.c', `normal/execute.c', `normal/lexer.c',
29001 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29002 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29003 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29004 (test_mod_SOURCES): New variable.
29005 (test_mod_CFLAGS): Likewise.
29006 (pkgdata_MODULES): Add `test.mod'.
29007 (grub_script.tab.c): New rule.
29008 (grub_script.tab.h): Likewise.
29009
daac212a 290102005-11-06 Marco Gerards <mgerards@xs4all.nl>
29011
29012 Add initial scripting support.
29013
29014 * commands/test.c: New file.
29015 * include/grub/script.h: Likewise.
29016 * normal/execute.c: Likewise.
29017 * normal/function.c: Likewise.
29018 * normal/lexer.c: Likewise.
29019 * normal/parser.y: Likewise.
29020 * normal/script.c: Likewise.
29021
29022 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 29023
daac212a 29024 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
29025 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
29026 `normal/function.c' and `normal/script.c'.
29027 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29028 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 29029 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
29030 variables.
daac212a 29031 (pkgdata_MODULES): Add `test.mod'.
29032 (grub_script.tab.c): New rule.
29033 (grub_script.tab.h): Likewise.
29034
29035 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
29036
29037 * include/grub/normal.h (grub_test_init): New prototype.
29038 (grub_test_fini): Likewise.
f19dbdb7 29039
daac212a 29040 * normal/command.c: Include <grub/script.h>.
29041 (grub_command_execute): Rewritten.
f19dbdb7 29042
daac212a 29043 * util/grub-emu.c (main): Call `grub_test_init' and
29044 `grub_test_fini'.
29045
77500b2b 290462005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29047
29048 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
29049 to 0.
29050 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
29051 there are no pending characters.
29052
e45deb9e 290532005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29054
29055 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
29056 `grub_strndup' to drop device arguments. Replace unnecessary
29057 `grub_strndup' with `grub_strdup'.
29058
4ce32619 290592005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29060
29061 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
29062 `debug' environment variable has been set.
29063
290642005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 29065
4ce32619 29066 * Makefile.in (install-local): Use $(DATA).
29067 (uninstall): Likewise.
29068 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
29069 (sbin_UTILITIES): ... to here.
29070 (sbin_SCRIPTS): New variable.
29071 (grub_install_SOURCES): New variable.
29072 * util/powerpc/ieee1275/grub-install.in: New file.
29073 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
29074 variable.
29075 (add_segments): Call `grub_util_get_path'.
29076
25fe6f03 290772005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29078
29079 From Timothy Baldwin:
29080 * commands/ls.c (grub_ls_list_files): Close FILE with
29081 grub_file_close.
29082 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
29083
04ccf3ec 290842005-10-24 Marco Gerards <mgerards@xs4all.nl>
29085
29086 * include/grub/parser.h: New file.
29087
29088 * kern/parser.c: Likewise.
29089
29090 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
29091 (grub_setup_SOURCES): Likewise.
29092 (grub_probefs_SOURCES): Likewise.
29093 (grub_emu_SOURCES): Likewise.
29094 (kernel_img_HEADERS): Add `parser.h'.
29095
29096 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29097 (grub_emu_SOURCES): Add `kern/parser.c'.
29098 (grubof_SOURCES): Likewise.
29099
29100 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29101 (grubof_SOURCES): Add `kern/parser.c'.
29102
29103 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
29104
29105 * kern/misc.c (grub_split_cmdline): Removed function.
29106
29107 * kern/rescue.c: Include <grub/parser.h>.
29108 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
29109 of `grub_split_cmdline'.
29110
29111 * normal/command.c: Include <grub/parser.h>.
29112 (grub_command_execute): Use `grub_parser_split_cmdline' instead
29113 of `grub_split_cmdline'.
29114
29115 * normal/completion.c: Include <grub/parser.h>.
29116 (cmdline_state): New variable.
29117 (iterate_dir): End the filename with a quote depending on the
29118 command line state.
29119 (get_state): new function.
29120 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
29121 split the arguments and determine the current argument. When the
29122 argument string is not quoted, escape all spaces.
29123
6d8f4b0e 291242005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29125
29126 * normal/sparc64/setjmp.S: New file.
29127
15cf03ed 291282005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29129
29130 * include/grub/sparc64/libgcc.h: New file.
29131 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
29132 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
29133 normal/sparc64/setjmp.c.
29134
03e8661a 291352005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29136
29137 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
29138 * kern/sparc64/cache.S: New file.
29139 * kern/sparc64/cache.c: Removed.
29140 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
29141 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
29142 -mtune=ultrasparc.
29143 (COMMON_LDFLAGS): Add -melf64_sparc.
29144 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
29145 (grubof_SOURCES): Use cache.S instead of cache.c.
29146 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
29147 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
29148 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
29149 commented though.
29150 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
29151 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
29152 (linux_mod_CFLAGS): Commented out.
29153 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
29154 out because module isn't built.
29155 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
29156 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
29157 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
29158 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
29159 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
29160 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29161 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29162 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
29163 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
29164 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
29165 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29166 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29167 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
29168 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
29169
34eeec8a 291702005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
29171
29172 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
29173 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
29174 longer, because HFS should not be used on PC.
29175
708367a3 291762005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29177
29178 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
29179 consistently within the loop.
29180
6fa1251a 291812005-10-15 Marco Gerards <mgerards@xs4all.nl>
29182
29183 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
29184 directory can not be read.
29185
4801580b 291862005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29187
29188 * configure.ac (AC_INIT): Increase the version number to 1.91.
29189
29190 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
29191 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
29192 term/i386/pc/serial.c.
29193
219ad426 291942005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29195
29196 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
29197 file size must be permitted.
29198
29199 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
29200 between %ah and %al.
29201
688e5699 292022005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29203
29204 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
29205 grub_uint64_t.
29206 Call the hook with a NUL-terminated filename.
29207 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
29208 grub_cpu_to_be32.
29209
29210 * kern/term.c (cursor_state): New variable.
29211 (grub_term_set_current): Reset the cursor state on a new
29212 terminal.
29213 (grub_setcursor): Rewritten to use CURSOR_STATE.
29214 (grub_getcursor): New function.
29215
29216 * include/grub/term.h (grub_getcursor): New prototype.
29217
29218 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
29219 integers on ARM. Reported by Timothy Baldwin
29220 <T.E.Baldwin99@members.leeds.ac.uk>.
29221
bb34586c 292222005-10-11 Marco Gerards <mgerards@xs4all.nl>
29223
29224 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
29225 allocated.
29226 (grub_sfs_dir): Likewise.
29227
9a909877 292282005-10-09 Marco Gerards <mgerards@xs4all.nl>
29229
29230 Add support for the SFS filesystem.
29231
29232 * fs/sfs.c: New file.
29233
29234 * DISTLIST: Added `fs/sfs.c'.
29235
29236 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
29237 (grub_probefs_SOURCES): Likewise.
29238 (grub_emu_SOURCES): Likewise.
29239 (pkgdata_MODULES): Add `sfs.mod'.
29240 (sfs_mod_SOURCES): New variable.
29241 (sfs_mod_CFLAGS): Likewise.
29242 (sfs_mod_LDFLAGS): Likewise.
29243
29244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
29245 (pkgdata_MODULES): Add `sfs.mod'.
29246 (sfs_mod_SOURCES): New variable.
29247 (sfs_mod_CFLAGS): Likewise.
29248
29249 * util/grub-emu.c (main): Call `grub_sfs_init' and
29250 `grub_sfs_fini'.
29251
29252 * include/grub/fs.h (grub_sfs_init): New prototype.
29253 (grub_sfs_fini): Likewise.
29254
57bdbde3 292552005-10-07 Marco Gerards <mgerards@xs4all.nl>
29256
29257 Add support for the AFFS filesystem.
29258
29259 * fs/affs.c: New file.
29260
29261 * DISTLIST: Added `fs/affs.c'.
29262
29263 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
29264 (grub_probefs_SOURCES): Likewise.
29265 (grub_emu_SOURCES): Likewise.
29266 (pkgdata_MODULES): Add `affs.mod'.
29267 (affs_mod_SOURCES): New variable.
29268 (affs_mod_CFLAGS): Likewise.
29269 (affs_mod_LDFLAGS): Likewise.
29270
29271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
29272 (pkgdata_MODULES): Add `affs.mod'.
29273 (affs_mod_SOURCES): New variable.
29274 (affs_mod_CFLAGS): Likewise.
29275
29276 * util/grub-emu.c (main): Call `grub_affs_init' and
29277 `grub_affs_fini'.
29278
29279 * include/grub/fs.h (grub_affs_init): New prototype.
29280 (grub_affs_fini): Likewise.
29281
047b67e0 292822005-10-01 Marco Gerards <mgerards@xs4all.nl>
29283
29284 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
29285
59b8208a 292862005-10-01 Marco Gerards <mgerards@xs4all.nl>
29287
29288 * configure.ac: Accept `x86_64' as host_cpu. In that case add
29289 `-m32' to CFLAGS.
29290
29291 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
29292 linking.
f19dbdb7 29293
59b8208a 29294 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
29295 (COMMON_LDFLAGS): New variable.
29296 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
29297 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
29298 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
29299 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
29300 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
29301 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
29302 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
29303 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
29304 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
29305 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
29306 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29307 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29308 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
29309 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
29310 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
29311 variables.
29312 (normal_mod_ASFLAGS): Add `-m32'.
29313
29314 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
29315 (grub_host_size_t, grub_host_ssize_t): New types.
29316 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 29317 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 29318 `GRUB_HOST_SIZEOF_VOID_P'.
29319
29320 * include/grub/kernel.h (struct grub_module_header): Type of
29321 member offset changed to `grub_host_off_t'. Type of member size
29322 changed to `grub_host_size_t'.
29323 (struct grub_module_info): Type of member offset changed to
29324 `grub_host_off_t'. Type of member size changed to
29325 `grub_host_size_t'.
29326
b4093103 293272005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
29328
29329 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 29330
b4093103 29331 * kern/i386/pc/startup.S (multiboot_header): New label.
29332 (multiboot_entry): Likewise.
29333 (multiboot_trampoline): Likewise.
29334
29335 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29336 Increased to 0x4A0.
29337
29338 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
29339 put parentheses after a question mark.
29340 [!GRUB_UTIL] (my_mod): New variable.
29341
29342 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
29343
b2499b29 293442005-09-28 Marco Gerards <mgerards@xs4all.nl>
29345
29346 Adds support for the XFS filesystem. Btrees are not supported
29347 yet.
29348
29349 * fs/xfs.c: New file.
29350
29351 * DISTLIST: Added `fs/xfs.c'.
29352
29353 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
29354 (grub_probefs_SOURCES): Likewise.
29355 (grub_emu_SOURCES): Likewise.
29356 (pkgdata_MODULES): Add `xfs.mod'.
29357 (xfs_mod_SOURCES): New variable.
29358 (xfs_mod_CFLAGS): Likewise.
29359
29360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
29361 (pkgdata_MODULES): Add `xfs.mod'.
29362 (xfs_mod_SOURCES): New variable.
29363 (xfs_mod_CFLAGS): Likewise.
29364
29365 * util/grub-emu.c (main): Call `grub_xfs_init' and
29366 `grub_xfs_fini'.
29367
29368 * include/grub/fs.h (grub_xfs_init): New prototype.
29369 (grub_xfs_fini): Likewise.
29370
f19dbdb7 29371
83d37a62 293722005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
29373
29374 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
29375 color modes, allow greater than 16 colors to be configured as
29376 a default palette.
29377
47d2d65e 293782005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29379
29380 * normal/completion.c (complete_arguments): Add the qualifier
29381 const into OPTIONS.
29382
29383 From Omniflux <omniflux+lists@omniflux.com>:
29384 * include/grub/terminfo.h: New file.
29385 * include/grub/tparm.h: Likewise.
29386 * include/grub/i386/pc/serial.h: Likewise.
29387 * term/terminfo.c: Likewise.
29388 * term/tparm.c: Likewise.
29389 * term/i386/pc/serial.c: Likewise.
29390 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
29391 serial.mod.
29392 (terminfo_mod_SOURCES): New variable.
29393 (terminfo_mod_CFLAGS): Likewise.
29394 (serial_mod_SOURCES): Likewise.
29395 (serial_mod_CFLAGS): Likewise.
29396
48b671ff 293972005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
29398
29399 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
29400 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
29401 and kern/powerpc/ieee1275/cmain.c, respectively.
29402
29403 * boot/powerpc/ieee1275/crt0.S: Moved to ...
29404 * kern/powerpc/ieee1275/crt0.S: ... here.
29405
29406 * boot/powerpc/ieee1275/cmain.c: Moved to ...
29407 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 29408
48b671ff 29409 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
29410 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
29411 instead of boot/powerpc/ieee1275/crt0.S and
29412 boot/powerpc/ieee1275/cmain.c, respectively.
29413
29414 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
29415 sectors. It was not used anyway.
29416
09fc77a7 294172005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29418
29419 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
29420 `unused parameter' warning.
29421
003789c7 294222005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29423
29424 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
29425 function.
29426 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
29427 getcharwidth.
29428
67f44c86 294292005-08-28 Marco Gerards <metgerards@student.han.nl>
29430
29431 * include/grub/normal.h (enum grub_completion_type): Added
29432 `GRUB_COMPLETION_TYPE_ARGUMENT'.
29433
29434 * normal/cmdline.c (print_completion): Handle
29435 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
29436 * normal/menu_entry.c (store_completion): Likewise.
29437
29438 * normal/completion.c (complete_arguments): New function.
29439 (grub_normal_do_completion): Call `complete_arguments' when the
29440 current words start with a dash.
29441
0b5abe02 294422005-08-27 Marco Gerards <metgerards@student.han.nl>
29443
29444 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
29445 `gzio.mod' instead of `io.mod').
29446
d9864ee1 294472005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
29448
29449 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
29450 (DISTDIRS): Added io and video.
29451 Rewrite the search routine to make an output consistently.
29452
29453 * DISTLIST: Added conf/sparc64-ieee1275.mk,
29454 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
29455 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
29456 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
29457 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
29458 util/powerpc/ieee1275/misc.c.
f19dbdb7 29459
d9864ee1 29460 * include/grub/gzio.h: New file.
29461 * io/gzio.c: Likewise.
f19dbdb7 29462
d9864ee1 29463 * kern/file.c (grub_file_close): Call grub_device_close only if
29464 FILE->DEVICE is not NULL.
29465
29466 * include/grub/mm.h [!NULL] (NULL): New macro.
29467
29468 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
29469
29470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
29471 (pkgdata_MODULES): Added gzio.mod.
29472 (gzio_mod_SOURCES): New variable.
29473 (gzio_mod_CFLAGS): Likewise.
29474
29475 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
29476 (pkgdata_MODULES): Added gzio.mod.
29477 (gzio_mod_SOURCES): New variable.
29478 (gzio_mod_CFLAGS): Likewise.
29479
29480 * commands/cat.c: Include grub/gzio.h.
29481 (grub_cmd_cat): Use grub_gzfile_open instead of
29482 grub_file_open.
f19dbdb7 29483
d9864ee1 29484 * commands/cmp.c: Include grub/gzio.h.
29485 (grub_cmd_cmp): Use grub_gzfile_open instead of
29486 grub_file_open.
29487
29488 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
29489 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
29490 grub_file_open.
29491 (grub_rescue_cmd_module): Likewise.
29492
fa46f4b5 294932005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29494
29495 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
29496 kern/sparc64/ieee1275/init.c because it contains _start.
29497 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
29498
e9211b5d 294992005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29500
29501 * configure.ac: Add support for sparc64 host with ieee1275
29502 firmware.
29503 * configure: Generated from configure.ac.
29504 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
29505 instead of int.
29506 (grub_ofdisk_read): Likewise.
29507 (grub_ofdisk_open): Use %p to print pointer values, and cast the
29508 pointers as (void *) to remove a warning.
29509 (grub_ofdisk_close): Likewise.
29510 (grub_ofdisk_read): Likewise.
29511 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
29512 returns, so make it return void to remove a warning.
29513 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
29514 Corresponding prototype change.
29515 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
29516 values, and cast the pointers as (void *) to remove a warning.
29517 (grub_mm_dump): Likewise.
29518 * conf/sparc64-ieee1275.mk: New file.
29519 * conf/sparc64-ieee1275.rmk: Likewise.
29520 * include/grub/sparc64/setjmp.h: Likewise.
29521 * include/grub/sparc64/types.h: Likewise.
29522 * include/grub/sparc64/ieee1275/console.h: Likewise.
29523 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29524 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29525 * include/grub/sparc64/ieee1275/time.h: Likewise.
29526 * kern/sparc64/cache.c: Likewise.
29527 * kern/sparc64/dl.c: Likewise.
29528 * kern/sparc64/ieee1275/init.c: Likewise.
29529 * kern/sparc64/ieee1275/openfw.c: Likewise.
29530
385c6a92 295312005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29532
29533 * util/console.c (grub_ncurses_putchar): If C is greater than
29534 0x7f, set C to a question mark.
29535 (grub_ncurses_getcharwidth): New function.
29536 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
29537 getcharwidth.
29538
29539 * normal/menu.c (print_entry): Made aware of Unicode. First,
29540 convert TITLE to UCS-4, and predict the cursor position by
29541 grub_getcharwidth.
29542
29543 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
29544 const to SRC.
29545 * kern/misc.c (grub_utf16_to_utf8): Likewise.
29546
16ccb8b1 295472005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29548
29549 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
29550 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29551 grub_strcat.
29552
29553 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
29554 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29555 grub_strcpy and grub_strlen. Take it into account that a space
29556 character is inserted as a delimiter.
29557
6a85ce79 295582005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29559
29560 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 29561 invalid magic in the error.
6a85ce79 29562
29563 * commands/search.c: New file.
f19dbdb7 29564
6a85ce79 29565 * util/grub-emu.c (main): Call grub_search_init and
29566 grub_search_fini.
29567
29568 * kern/rescue.c (grub_rescue_print_disks): Removed.
29569 (grub_rescue_print_devices): New function.
29570 (grub_rescue_cmd_ls): Use grub_device_iterate with
29571 grub_rescue_print_devices instead of grub_disk_dev_iterate with
29572 grub_rescue_print_disks.
29573
29574 * kern/partition.c (grub_partition_iterate): Return the result of
29575 PARTMAP->ITERATE instead of GRUB_ERRNO.
29576
29577 * kern/device.c: Include grub/partition.h.
29578 (grub_device_iterate): New function.
29579
29580 * include/grub/partition.h (grub_partition_iterate): Return int
29581 instead of grub_err_t.
29582
29583 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
29584 prototype.
29585 [GRUB_UTIL] (grub_search_fini): Likewise.
29586
29587 * include/grub/device.h (grub_device_iterate): New prototype.
29588
29589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29590 commands/search.c.
29591 (pkgdata_MODULES): Added search.mod.
29592 (search_mod_SOURCES): New variable.
29593 (search_mod_CFLAGS): Likewise.
29594
29595 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
29596 (pkgdata_MODULES): Added search.mod.
29597 (search_mod_SOURCES): New variable.
29598 (search_mod_CFLAGS): Likewise.
29599
29600 * commands/ls.c (grub_ls_list_disks): Renamed to ...
29601 (grub_ls_list_devices): ... this, and use grub_device_iterate.
29602 All callers changed.
29603
29604 * DISTLIST: Added commands/search.c.
29605
ef095434 296062005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29607
29608 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
29609 conversion.
29610 (grub_getcharwidth): New function.
29611
29612 * kern/misc.c (grub_utf8_to_ucs4): New function.
29613
29614 * include/grub/term.h (struct grub_term): Added a new member
29615 "getcharwidth".
29616 (grub_getcharwidth): New prototype.
29617
29618 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
29619
29620 * term/i386/pc/console.c (map_char): New function. Segregated from
29621 grub_console_putchar.
29622 (grub_console_putchar): Use map_char.
29623 (grub_console_getcharwidth): New function.
29624 (grub_console_term): Specified grub_console_getcharwidth as
29625 getcharwidth.
29626
29627 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
29628 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
29629
29630 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
29631 GRUB_ERRNO.
29632 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
29633 on grub_strtoul completely.
29634 (write_char): Declare local variables in the beginning of the
29635 function.
29636 (grub_vesafb_getcharwidth): New function.
29637 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
29638 getcharwidth.
29639
1f0a95e4 296402005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
29641
29642 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
29643 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
29644 commands/i386/pc/vbetest.c.
29645
29646 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
29647 call grub_vbe_get_controller_info again, because the returned
29648 information is volatile.
29649 (grub_vbe_set_video_mode): Mostly rewritten.
29650 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
29651 grub_vbe_status_t correctly.
29652 (grub_vbe_get_video_mode_info): Likewise.
29653 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
29654 several if statements.
29655
29656 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
29657 * commands/i386/pc/vbeinfo.c: ... this.
29658
29659 * commands/i386/pc/vbe_test.c: Renamed to ...
29660 * commands/i386/pc/vbetest.c: ... this.
29661
29662 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
29663 ...
29664 (grub_cmd_vbeinfo): ... this. Save video modes before
29665 iterating. Skip a video mode, if it is not available, not enough
29666 information is given or it is monochrome. Show the memory
29667 model. Leave the interpretation of MODEVAR to grub_strtoul
29668 completely.
29669 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
29670 (GRUB_MOD_FINI): Likewise.
29671
29672 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
29673 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
29674 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
29675 duplicated grub_env_get. Leave the interpretation of MODEVAR to
29676 grub_strtoul completely.
29677 (real2pm): Removed.
29678 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
29679 (GRUB_MOD_FINI): Likewise.
29680
29681 * normal/misc.c: Include grub/mm.h.
29682
29683 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
29684 vbe_list_modes with vbetest.mod and vbeinfo.mod.
29685 (vbe_list_modes_mod_SOURCES): Removed.
29686 (vbe_list_modes_mod_CFLAGS): Likewise.
29687 (vbe_test_mod_SOURCES): Likewise.
29688 (vbe_test_mod_CFLAGS): Likewise.
29689 (vbeinfo_mod_SOURCES): New variable.
29690 (vbeinfo_mod_CFLAGS): Likewise.
29691 (vbetest_mod_SOURCES): Likewise.
29692 (vbetest_mod_CFLAGS): Likewise.
29693
992ffbbe 296942005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
29695
29696 * normal/misc.c: New file.
29697
29698 * DISTLIST: Added normal/misc.c.
f19dbdb7 29699
992ffbbe 29700 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
29701 DISK to HOOK. Call HOOK with DISK.
29702 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29703 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29704 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29705
29706 * normal/menu_entry.c (struct screen): Added a new member
29707 "completion_shown".
29708 (completion_buffer): New global variable.
29709 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
29710 (store_completion): New function.
29711 (complete): Likewise.
29712 (clear_completions): Likewise.
29713 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
29714 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
29715 a tab, call complete.
29716
29717 * normal/completion.c (disk_dev): Removed.
29718 (print_simple_completion): Likewise.
29719 (print_partition_completion): Likewise.
29720 (print_func): New global variable.
29721 (add_completion): Do not take the arguments WHAT or PRINT any
29722 longer. Added a new argument TYPE. Instead of printing directly,
29723 call PRINT_FUNC if not NULL.
29724 All callers changed.
29725 (complete_device): Use a local variable DEV instead of
29726 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
29727 (grub_normal_do_completion): Take a new argument HOOK. Do not
29728 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
29729 empty string, return NULL instead.
29730 All callers changed.
29731
29732 * normal/cmdline.c (print_completion): New function.
29733
29734 * kern/partition.c (grub_partition_iterate): Add an argument DISK
29735 to HOOK.
29736 All callers changed.
29737
29738 * kern/disk.c (grub_print_partinfo): Removed.
29739
29740 * include/grub/partition.h (struct grub_partition_map): Add a new
29741 argument DISK into HOOK of ITERATE.
29742 (grub_partition_iterate): Add a new argument DISK to HOOK.
29743
29744 * include/grub/normal.h (enum grub_completion_type): New enum.
29745 (grub_completion_type_t): New type.
29746 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
29747 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
29748 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
29749 (GRUB_COMPLETION_TYPE_FILE): Likewise.
29750 (grub_normal_do_completion): Added a new argument HOOK.
29751 (grub_normal_print_device_info): New prototype.
29752
29753 * include/grub/disk.h (grub_print_partinfo): Removed.
29754
29755 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
29756 (normal_mod_SOURCES): Likewise.
29757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29758 (normal_mod_SOURCES): Likewise.
29759
29760 * commands/ls.c (grub_ls_list_disks): Use
29761 grub_normal_print_device_info instead of grub_print_partinfo. Free
29762 PNAME.
29763 (grub_ls_list_files): Use grub_normal_print_device_info instead of
29764 duplicating the code.
29765
0bd41162 297662005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29767
29768 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 29769 follow GCS more precisely.
29770 * commands/i386/pc/vbe_test.c: Likewise.
29771 * include/grub/i386/pc/vbe.h: Likewise.
29772 * term/i386/pc/vesafb.c: Likewise.
29773 * video/i386/pc/vbe.c: Likewise.
0bd41162 29774
6323696a 297752005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29776
29777 * DISTLIST: Added term/i386/pc/vesafb.c
29778 DISTLIST: Added video/i386/pc/vbe.c
29779 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
29780 DISTLIST: Added commands/i386/pc/vbe_test.c.
29781 * commands/i386/pc/vbe_list_modes.c: New file.
29782 * commands/i386/pc/vbe_test.c: Likewise.
29783 * term/i386/pc/vesafb.c: Likewise.
29784 * video/i386/pc/vbe.c: Likewise.
29785 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
29786 (grub_vbe_probe) Added prototype.
29787 (grub_vbe_set_video_mode) Likewise.
29788 (grub_vbe_get_video_mode) Likewise.
29789 (grub_vbe_get_video_mode_info) Likewise.
29790 (grub_vbe_set_pixel_rgb) Likewise.
29791 (grub_vbe_set_pixel_index) Likewise.
29792 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
29793 (pkgdata_MODULES): Added vesafb.mod.
29794 (pkgdata_MODULES): Added vbe_list_modes.mod.
29795 (pkgdata_MODULES): Added vbe_test.mod.
29796 (vbe_mod_SOURCES): Added.
29797 (vbe_mod_CFLAGS): Likewise.
29798 (vesafb_mod_SOURCES): Likewise.
29799 (vesafb_mod_CFLAGS): Likewise.
29800 (vbe_list_modes_mod_SOURCES): Likewise.
29801 (vbe_list_modes_mod_CFLAGS): Likewise.
29802 (vbe_test_mod_SOURCES): Likewise.
29803 (vbe_test_mod_CFLAGS): Likewise.
29804
0a74e62f 298052005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
29806
0a74e62f 29807 * normal/command.c (grub_command_execute): If INTERACTIVE is
29808 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
29809 CMDLINE. Disable the pager if INTERACTIVE is true.
29810 All callers are changed.
29811
29812 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
29813 before reading a config file.
29814 * normal/main.c (read_config_file): Even if a command is not
29815 found, register it if it is within an entry.
29816
29817 * util/grub-emu.c: Include sys/types.h and unistd.h.
29818 (options): Added --hold.
29819 (struct arguments): Added a new member "hold".
29820 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
29821 missing.
29822 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
29823 cleared by a debugger, if it is not zero.
29824
29825 * include/grub/normal.h (grub_command_execute): Add an argument
29826 INTERACTIVE.
29827
e51f85ae 298282005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
29829
29830 * DISTLIST: Added include/grub/i386/pc/vbe.h.
29831
e9c6f39b 298322005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
29833
29834 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
29835 program with another one, because the old one didn't detect a bug
29836 in gcc-3.4. Always use regparm 2, because the new test is still
29837 not enough for gcc-4.0. Someone must investigate a simple test
29838 case which detects a bug in gcc-4.0.
29839
8de3495c 298402005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
29841
29842 * DISTLIST: Added normal/completion.c.
29843
29844 * normal/completion.c: New file.
f19dbdb7 29845
8de3495c 29846 * term/i386/pc/console.c (grub_console_getwh): New function.
29847 (grub_console_term): Assign grub_console_getwh to getwh.
29848
29849 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
29850 function is defined in normal/completion.c as
29851 grub_normal_do_completion.
29852 (grub_cmdline_get): Use grub_normal_do_completion instead of
29853 grub_tab_complete.
29854
29855 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
29856 returns non-zero, otherwise return 0.
29857 (grub_partition_iterate): First, probe the partition map. Then,
29858 call ITERATE only for this partition map.
29859
29860 * kern/misc.c (grub_strncmp): Rewritten.
29861
29862 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
29863 returns non-zero. Otherwise return 0.
29864
29865 * include/grub/partition.h (grub_partition_map_iterate): Return
29866 int instead of void.
29867
29868 * include/grub/normal.h (grub_normal_do_completion): New prototype.
29869
29870 * include/grub/misc.h (grub_strncmp): Change the type of N to
29871 grub_size_t.
29872
29873 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
29874 of void.
29875
29876 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 29877 unsigned explicitly before comparing it with I.
8de3495c 29878
29879 * kern/main.c (grub_env_write_root): Add the attribute unused into
29880 VAR.
29881
29882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29883 normal/completion.c.
29884 (normal_mod_SOURCES): Likewise.
29885 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29886 (normal_mod_SOURCES): Likewise.
29887
29888 * normal/command.c (grub_iterate_commands): If ITERATE returns
29889 non-zero, return one immediately.
29890
e85e144b 298912005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
29892
29893 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
29894 * kern/i386/pc/startup.S: Updated Global Descriptor table's
29895 descriptions.
29896 (grub_vbe_get_controller_info): New function.
29897 (grub_vbe_get_mode_info): Likewise.
29898 (grub_vbe_set_mode): Likewise.
29899 (grub_vbe_get_mode): Likewise.
29900 (grub_vbe_set_memory_window): Likewise.
29901 (grub_vbe_get_memory_window): Likewise.
29902 (grub_vbe_set_scanline_length): Likewise.
29903 (grub_vbe_get_scanline_length): Likewise.
29904 (grub_vbe_set_display_start): Likewise.
29905 (grub_vbe_get_display_start): Likewise.
29906 (grub_vbe_set_palette_data): Likewise.
29907 * include/grub/i386/pc/vbe.h: New file.
29908
c46153d2 299092005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29910
29911 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
29912 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
29913 * DISTLIST: Likewise.
29914 * kern/ieee1275/of.c: Moved to ...
29915 * kern/ieee1275/ieee1275.c: ... here.
29916
0cb90c45 299172005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29918
29919 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
29920 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
29921 Pass 0 as `end' parameter to grub_strtoul().
29922
a19fb360 299232005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29924
29925 * include/grub/powerpc/ieee1275/console.h: Do not include
29926 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
29927 ifdef.
29928 (grub_console_cur_color): Remove i386-specific prototype.
29929 (grub_console_real_putchar): Likewise.
29930 (grub_console_checkkey): Likewise.
29931 (grub_console_getkey): Likewise.
29932 (grub_console_getxy): Likewise.
29933 (grub_console_gotoxy): Likewise.
29934 (grub_console_cls): Likewise.
29935 (grub_console_setcursor): Likewise.
29936 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
29937 Include <grub/machine/console.h>.
29938 * term/ieee1275/ofconsole.c: Likewise.
29939
4ac9bd04 299402005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
29941
29942 * Makefile.in (LIBLZO): New variable.
29943
29944 * configure.ac: Check for LZO version 2.
29945
29946 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
29947 lzo/lzo1x.h instead of lzo1x.h.
29948
29949 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
29950 of -llzo.
29951
29952 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
29953 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
29954
29955 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
29956 copying the data from PARTITION to P.
29957
f4917dfd 299582005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29959
29960 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
29961 negative, unload the module.
29962
29963 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
29964 map is "pc_partition_map" but not "pc".
29965 (usage): Fix the description. The options are --boot-image and
29966 --core-image but not --boot-file or --core-file.
29967 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
29968 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
29969 DEFAULT_DIRECTORY.
29970
29971 * util/i386/pc/grub-install.in: Do not specify --boot-file or
29972 --core-file. Specify INSTALL_DEVICE as an argument.
29973
29974 * util/console.c: Include config.h.
29975 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
29976 [HAVE_NCURSES_H]: Include ncurses.h.
29977 [HAVE_CURSES_H]: Include curses.h.
29978 [!A_NORMAL] (A_NORMAL): Defined as zero.
29979 [!A_STANDOUT] (A_STANDOUT): Likewise.
29980
29981 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
29982 -lncurses.
29983 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
29984
29985 * configure.ac: Check for curses libraries and headers.
29986
29987 * Makefile.in (LIBCURSES): New variable.
29988
29989 * genmk.rb (Script::rule): Set the executable bits.
29990
29991 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
29992 name of the PC partition map is "pc_partition_map" but not "pc".
29993
0e143073 299942005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29995
29996 * util/i386/pc/grub-install.in (grub_probefs): New variable.
29997 (modules): Likewise.
29998 (usage): Added descriptions for --modules and --grub-probefs.
29999 Handle --modules and --grub-probefs. Save the arguments in MODULES
30000 and GRUB_PROBEFS, respectively.
30001 Auto-detect a filesystem module against GRUBDIR. If the result is
30002 empty and modules are not specified explicitly, abort the
30003 installation. Add the result to MODULES.
30004
30005 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
30006 disk/powerpc/ieee1275/ofdisk.c,
30007 include/grub/powerpc/ieee1275/init.h and
30008 term/powerpc/ieee1275/ofconsole.c.
30009 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
30010 term/ieee1275/ofconsole.c.
30011
30012 * include/grub/powerpc/ieee1275/console.h: Resurrected.
30013
30014 * COPYING: Upgraded to the latest version. Only the address of the
30015 FSF office has changed.
f19dbdb7 30016
efd6e6d5 300172005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30018
30019 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30020 kern/ieee1275.c with kern/ieee1275/of.c.
30021
30022 * kern/ieee1275.c: Moved to ...
30023 * kern/ieee1275/of.c: ... here.
30024
8ceafda2 300252005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
30026
30027 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 30028 readability.
8ceafda2 30029
30030 * config.guess: Updated to the latest version from gnulib.
30031 * config.sub: Likewise.
30032 * install.sh: Likewise.
30033 * mkinstalldirs: Likewise.
30034
30035 * include/grub/console.h: Removed. This file is arch-specific. Do
30036 not put this in include/grub.
30037
30038 * include/grub/i386/pc/console.h: Resurrected.
30039
30040 * util/console.c: Include grub/machine/console.h instead of
30041 grub/console.h.
30042 * util/grub-emu.c: Likewise.
30043
267f6cd9 300442005-08-04 Marco Gerards <metgerards@student.han.nl>
30045
30046 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
30047 hardcoded value.
f19dbdb7 30048
267f6cd9 30049 From Vincent Pelletier <subdino2004@yahoo.fr>
30050 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
30051 Redefined to use grub_getwh.
30052 (grub_term): New member named getwh.
30053 (grub_getwh): New prototype.
30054 * kern/term.c (grub_getwh): New function.
30055 * term/i386/pc/console.c (grub_console_getwh): New function.
30056 (grub_console_term): New member `getwh'.
30057 * term/i386/pc/vga.c (grub_vga_getwh): New function.
30058 (grub_vga_term): New member `getwh'.
0b5abe02 30059 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 30060 grub_ssize_t.
30061 (grub_ofconsole_getw): New function.
30062 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
30063 (grub_ofconsole_term): New field named getwh and new initial
30064 value.
30065
3be7266d 300662005-08-03 Hollis Blanchard <hollis@penguinppc.org>
30067
30068 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
30069 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
30070 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
30071 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
30072 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
30073 of <grub/machine/ieee1275.h>.
30074 * commands/ieee1275/reboot.c: Likewise.
30075 * boot/powerpc/ieee1275/ieee1275.c: Move ...
30076 * kern/ieee1275.c: ... to here. All users updated. Change all
30077 parameter structs to use new type `grub_ieee1275_cell_t'.
30078 * term/powerpc/ieee1275/ofconsole.c: Move ...
30079 * term/ieee1275/ofconsole.c: ... to here. All users updated.
30080 * disk/powerpc/ieee1275/ofdisk.c: Move ...
30081 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
30082 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
30083 to return int.
30084 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
30085 Remove unused prototypes. All users updated.
30086 * include/grub/powerpc/ieee1275/console.h: Removed.
30087 * include/grub/powerpc/ieee1275/ieee1275.h: Define
30088 `grub_ieee1275_cell_t'.
30089 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
30090 Cast comparisons with -1 to the correct type.
30091 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
30092 type to match `grub_ieee1275_entry_fn'.
30093
8b5f3938 300942005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
30095
30096 * DISTLIST: Added util/i386/pc/grub-probefs.c.
30097
30098 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
30099 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
30100 partmap/sun.c.
30101 (grub_probefs_SOURCES): New variable.
30102
30103 * util/i386/pc/grub-probefs.c: New file.
30104
30105 * util/i386/pc/grub-setup.c (main): Call
30106 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
30107 grub_hfs_init and grub_jfs_init to initialize the system. Call
30108 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
30109 grub_pc_partition_map_fini to finish the system.
30110
ea409713 301112005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
30112
30113 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
30114 function.
30115 (grub_multiboot_load_elf32): Likewise.
30116 (grub_multiboot_is_elf64): Likewise.
30117 (grub_multiboot_load_elf64): Likewise.
30118 (grub_multiboot_load_elf): Likewise.
30119 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
30120 an ELF32 or ELF64 file.
30121 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
30122
30123 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
30124 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
30125 NULL before calling FS->LABEL.
30126 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
30127 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
30128 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
30129 before calling FS->LABEL.
30130
141a288b 301312005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
30132
30133 * util/i386/pc/grub-install.in (datadir): New variable.
30134 (libdir): Removed.
30135 (pkgdatadir): New variable.
30136 (pkglibdir): Removed.
30137
0d5f8a54 301382005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
30139
30140 * DISTLIST: Added util/i386/pc/grub-install.in.
30141
30142 * util/i386/pc/grub-install.in: New file.
30143
30144 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
30145 (grub_install_SOURCES): Likewise.
30146
30147 * genmk.rb: Added support for scripts.
30148 (Script): New class.
30149 (scripts): New variable.
30150
30151 * Makefile.in (install-local): Install sbin_SCRIPTS by
30152 INSTALL_SCRIPT.
30153 (uninstall): Remove sbin_SCRIPTS.
30154
30155 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
30156 device, try to get a GRUB device by
30157 grub_util_biosdisk_get_grub_dev.
30158 Free DEST_DEV.
30159
30160 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
30161 description for --device-map.
30162
5f968e1e 301632005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30164
30165 Change the semantics of variable hooks. They now return strings
30166 instead of error values.
f19dbdb7 30167
5f968e1e 30168 * util/i386/pc/grub-setup.c: Include grub/env.h.
30169 (setup): Use grub_device_set_root instead of grub_env_set.
30170
30171 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
30172 grub_env_get instead of grub_device_set_root and
30173 grub_device_get_root, respectively.
30174
30175 * kern/main.c (grub_env_write_root): New function.
30176 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
30177 grub_env_set instead of grub_device_set_root.
30178
30179 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
30180 many variables.
30181 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
30182 rather than calling ENV->WRITE_HOOK afterwards.
30183 (grub_env_get): Return the result of ENV->READ_HOOK rather than
30184 passing a pointer of a pointer.
30185 (grub_register_variable_hook): Change the types of "read_hook" and
30186 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
30187 respectively.
30188 Allocate the default empty string on the heap, because this string
30189 may be freed later.
30190
30191 * kern/device.c: Include grub/env.h.
30192 (grub_device_set_root): Removed.
30193 (grub_device_get_root): Likewise.
30194 (grub_device_open): Use grub_env_get instead of
30195 grub_device_get_root.
30196
30197 * include/grub/env.h (grub_env_read_hook_t): New type.
30198 (grub_env_write_hook_t): Likewise.
30199 (grub_env_var): Change the types of "read_hook" and "write_hook"
30200 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
30201 (grub_register_variable_hook): Likewise.
30202
30203 * include/grub/device.h (grub_device_set_root): Removed.
30204 (grub_device_set_root): Likewise.
30205
30206 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
30207 make sure that DIRNAME terminates with '/', so that
30208 grub_fat_find_dir will fail if PATH is not a directory.
30209
30210 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
30211 from DIRNAME.
30212 Use the qualifier auto for print_files and print_files_long.
30213 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
30214 as a regular file.
30215 Put a newline only if there is no error.
30216 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
30217 used.
30218
896f0afd 302192005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30220
30221 * kern/partition.c (grub_partition_probe): Initialize PART to
30222 NULL. Otherwise, when no partition map is registered, this returns
30223 a garbage.
30224
b28b81b2 302252005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
30226
30227 * partmap/apple.c (apple_partition_map_iterate): Check if POS
30228 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
30229 valid.
30230
5f3607e0 302312005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
30232
30233 * commands/ls.c (grub_ls_list_disks): Print the filesystem
30234 information on each device, if it does not have partitions. Print
30235 "Device" instead of "Disk", because this function is not specific
30236 to disk devices.
30237
30238 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
30239 static to ensure that it is put on the memory rather than a
30240 register.
30241
502c87e8 302422005-07-17 Yoshinori Okuji <okuji@enbug.org>
30243
30244 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
30245 (grub_cat_init): Likewise.
30246 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
30247 (options): Likewise.
30248 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30249 (grub_configfile_init): Likewise.
30250 * font/manager.c (GRUB_MOD_INIT): Likewise.
30251 * commands/help.c (GRUB_MOD_INIT): Likewise.
30252 (grub_help_init): Likewise.
30253 * normal/command.c (grub_command_init): Likewise.
30254 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
30255 * disk/loopback.c (grub_loop_init): Likewise.
30256 (GRUB_MOD_INIT): Likewise.
30257 * commands/ls.c (grub_ls_init): Likewise.
30258 (GRUB_MOD_INIT): Likewise.
30259 (options): Likewise.
30260 * commands/boot.c (grub_boot_init): Likewise.
30261 (GRUB_MOD_INIT): Likewise.
30262 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
30263 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
30264 (GRUB_MOD_INIT): Likewise.
30265 * commands/cmp.c (grub_cmp_init): Likewise.
30266 (GRUB_MOD_INIT): Likewise.
30267
30268 * normal/arg.c: Use <> instead of "" to include header files.
30269 (SHORT_ARG_HELP): New macro.
30270 (SHORT_ARG_USAGE): Likewise.
30271 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
30272 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
30273 descriptions.
30274 (find_short): Check if C is 'h' or 'u' explicitly.
30275 (grub_arg_show_help): Use space characters instead of tabs. Treat
30276 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
30277 are shown with --help and --usage only if they are not used for
30278 the command itself.
30279 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
30280 'h' and 'u'.
30281
30282 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
30283 const into "longarg". Change the type of "shortarg" to int.
30284
f806d18e 302852005-07-17 Yoshinori Okuji <okuji@enbug.org>
30286
30287 * boot/i386/pc/boot.S (boot_drive_check): New label.
30288
30289 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
30290 macro.
30291
30292 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
30293 which do not pass a boot drive correctly. Copied from GRUB Legacy.
30294
e293232b 302952005-07-17 Yoshinori Okuji <okuji@enbug.org>
30296
30297 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
30298 When turning off Gate A20, skip the check and return immediately,
30299 because this is not fatal usually.
30300
ebedfd00 303012005-07-17 Yoshinori Okuji <okuji@enbug.org>
30302
30303 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
30304 be 0x7C00 instead of 0x8000.
30305
30306 * boot/i386/pc/pxeboot.S: Rewritten.
30307
30308 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
30309 EXT_C.
30310 (gate_a20_check_state): Read a byte from 0x108000. Invert the
30311 result.
30312
654fc59f 303132005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
30314
30315 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
30316 robustness. This routine now supports a BIOS call and System
30317 Control Port A to modify the gate A20.
30318
30319 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30320 Increased to 0x440.
30321
09f9923f 303222005-07-12 Hollis Blanchard <hollis@penguinppc.org>
30323
30324 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
30325 device path and resulting ihandle.
30326 (grub_ofdisk_close): dprintf the ihandle being closed.
30327 (grub_ofdisk_read): dprintf function parameters.
30328 * kern/mm.c (grub_mm_init_region): Likewise.
30329 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
30330 (grub_linux_boot): dprintf the Linux entry point, initrd address and
30331 size, and boot arguments.
30332 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
30333 before loading into memory.
30334 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
30335 before loading into memory.
30336
7ef504d8 303372005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
30338
30339 * kern/mm.c: Added much documentation.
30340 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
30341 8, set to 5 instead of 8.
30342
e0f050c2 303432005-07-10 Yoshinori Okuji <okuji@enbug.org>
30344
30345 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
30346
30347 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
30348 (grub_mkdevicemap_SOURCES): New variable.
30349
30350 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
30351 lib/device.c of GRUB Legacy.
30352
7224189a 303532005-07-10 Yoshinori Okuji <okuji@enbug.org>
30354
30355 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
30356 instead of PATH is NULL.
30357
68c864eb 303582005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
30359
30360 * commands/cmp.c (BUFFER_SIZE): New macro.
30361 (grub_cmd_cmp): Close the right file at the right time. Compare
30362 only data just read. Don't report files of different size as
30363 identical. Dynamically allocate buffers. Move variable
30364 declarations at the beginning of function.
30365
e6f3e614 303662005-07-09 Yoshinori Okuji <okuji@enbug.org>
30367
30368 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
30369 reverse.
30370
f8f1559a 303712004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
30372
30373 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
30374 when backspace is pressed at beginning of line.
30375
39c9d41d 303762005-07-03 Yoshinori Okuji <okuji@enbug.org>
30377
30378 * DISTLIST: Added genfslist.sh.
30379
30380 * normal/main.c (fs_module_list): New variable.
30381 (autoload_fs_module): New function.
30382 (read_fs_list): Likewise.
30383 (grub_normal_execute): Call read_fs_list.
30384
30385 * kern/fs.c (grub_fs_autoload_hook): New variable.
30386 (grub_fs_probe): Added support for auto-loading.
30387
30388 * include/grub/normal.h (struct grub_fs_module_list): New struct.
30389 (grub_fs_module_list_t): New type.
30390
30391 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
30392 (grub_fs_autoload_hook): New prototype.
30393
30394 * genfslist.sh: New file.
f19dbdb7 30395
39c9d41d 30396 * genmk.rb: Added a rule to generate a filesystem list.
30397
121c1d83 303982005-06-30 Marco Gerards <metgerards@student.han.nl>
30399
30400 * configure.ac: Fix the test for cross-compiling.
30401
30402 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
30403 define GRUB_UTIL anymore.
30404
30405 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
30406 so this function works on other systems than just big endian.
30407 (load_modules): Likewise.
30408 (add_segments): Likewise.
30409
e75d76e1 304102005-06-23 Hollis Blanchard <hollis@penguinppc.org>
30411
30412 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
30413 contains `l' modifier, get a long from va_arg().
30414
50b5a0a7 304152005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
30416
30417 * kern/mm.c (grub_free): If the next free block which is being
30418 merged is the first free block, set the first block to the block
30419 being freed.
30420 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
30421
89371b20 304222005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30423
30424 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
30425 `grub_ieee1275_chosen'.
30426
168d6e58 304272005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30428
30429 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
30430 (grub_ieee1275_chosen): New variable.
30431 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
30432 `chosen'.
30433 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
30434 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30435 Rename first argument to `phandle' for consistency.
30436 (grub_ieee1275_get_property_length): Likewise.
30437 (grub_ieee1275_next_property): Likewise. Change type of first argument
30438 to grub_ieee1275_phandle_t.
30439 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
30440 Move export next to declaration.
30441 (grub_ieee1275_chosen): New variable.
30442 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
30443 Correct cosmetic typo.
30444 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
30445 `grub_ieee1275_chosen'.
30446 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
30447 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
30448 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
30449 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
30450 `grub_ieee1275_chosen'.
30451
ca5baa3f 304522005-05-10 Hollis Blanchard <hollis@penguinppc.org>
30453
30454 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
30455 /chosen/bootargs.
30456 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
30457 /chosen/bootargs as "variable=value" pairs.
30458
708b345f 304592005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
30460
30461 * include/grub/misc.h (grub_dprintf): New macro.
30462 (grub_real_dprintf): New prototype.
30463 (grub_strword): Likewise.
30464 (grub_iswordseparator): Likewise.
30465 * kern/misc.c (grub_real_dprintf): New function.
30466 (grub_strword): Likewise.
30467 (grub_iswordseparator): Likewise.
30468
f4c5e67c 304692005-04-30 Hollis Blanchard <hollis@penguinppc.org>
30470
30471 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
30472 (roundup): Remove macro.
30473 (grub_ieee1275_flags): Make static.
30474 (grub_ieee1275_realmode): Remove.
30475 (grub_ieee1275_test_flag): New function.
30476 (grub_ieee1275_set_flag): Likewise.
30477 (find_options): Rename to `grub_ieee1275_find_options'; update
30478 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
30479 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
30480 (cmain): New prototype.
30481 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
30482 `grub_ieee1275_flags' directly.
30483 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
30484 machine/biosdisk.h.
30485 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
30486 Don't include grub/machine/init.h.
30487 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
30488 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
30489 Remove prototype.
30490 (grub_ieee1275_realmode): Likewise.
30491 (grub_ieee1275_flag): New enum.
30492 (grub_ieee1275_test_flag): New prototype.
30493 (grub_ieee1275_set_flag): New prototype.
30494 * include/grub/powerpc/ieee1275/init.h: Remove file.
30495 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
30496 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
30497 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
30498 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
30499 comment.
30500 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
30501 `grub_ieee1275_test_flag'.
30502 (grub_ieee1275_encode_devname): Likewise.
30503
ed16607e 305042005-04-21 Hollis Blanchard <hollis@penguinppc.org>
30505
30506 * include/grub/powerpc/ieee1275/ieee1275.h
30507 (grub_ieee1275_encode_devname): New prototype.
30508 (grub_ieee1275_get_filename): Likewise.
30509 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
30510 function.
30511 (grub_set_prefix): Likewise.
30512 (grub_machine_init): Call grub_set_prefix.
30513 * kern/powerpc/ieee1275/openfw.c: Fix typos.
30514 (grub_parse_type): New enum.
30515 (grub_ieee1275_get_devargs): New function.
30516 (grub_ieee1275_get_devname): Likewise.
30517 (grub_ieee1275_parse_args): Likewise.
30518 (grub_ieee1275_get_filename): Likewise.
30519 (grub_ieee1275_encode_devname): Likewise.
30520
be369920 305212005-03-30 Marco Gerards <metgerards@student.han.nl>
30522
30523 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
30524 `grub_loader_unset'.
30525
a5ce3a4a 305262005-03-26 Hollis Blanchard <hollis@penguinppc.org>
30527
30528 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
30529 instead of grub_ieee1275_interpret.
30530 (grub_halt_init): New function.
30531 (grub_halt_fini): Likewise.
30532 (GRUB_MOD_INIT): Correct message grammar.
30533 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
30534 instead of grub_ieee1275_interpret.
30535 (grub_reboot_init): New function.
30536 (grub_reboot_fini): Likewise.
30537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
30538 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
30539 util/i386/pc/misc.c with commands/ieee1275/halt.c,
30540 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
30541 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
30542 function.
30543 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
30544 Add prototype.
30545 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
30546 prototype.
30547 (grub_halt): Likewise.
30548 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
30549 (cmain): Remove __attribute__((unused)).
30550 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
30551 (grub_heap_len): Likewise.
30552 (grub_machine_fini): New function.
30553 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
30554 (grub_halt): Likewise.
30555 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
30556 function.
30557 * util/powerpc/ieee1275/misc.c: New file.
30558
0058f771 305592005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30560
30561 * DISTLIST: New file.
30562 * gendistlist.sh: Likewise.
f19dbdb7 30563
0058f771 30564 * Makefile.in (COMMON_DISTFILES): Removed.
30565 (BOOT_DISTFILES): Likewise.
30566 (CONF_DISTFILES): Likewise.
30567 (DISK_DISTFILES): Likewise.
30568 (FS_DISTFILES): Likewise.
30569 (INCLUDE_DISTFILES): Likewise.
30570 (KERN_DISTFILES): Likewise.
30571 (LOADER_DISTFILES): Likewise.
30572 (TERM_DISTFILES): Likewise.
30573 (UTIL_DISTFILES): Likewise.
30574 (DISTFILES): Likewise.
30575 (uninstall): Uninstall files in $(pkgdata_DATA).
30576 (DISTLIST): New target.
30577 (distdir): Use the contents of the file DISTLIST to get a list of
30578 distributed files.
30579
46b3b8a5 305802005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30581
30582 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
30583 descriptor. This is ported from GRUB Legacy.
30584
30585 * gencmdlist.sh: Added an extra semicolon to make it work with
30586 old sed versions. Reported by Robert Bihlmeyer
30587 <robbe@orcus.priv.at>.
30588
5822ff87 305892005-03-08 Yoshinori Okuji <okuji@enbug.org>
30590
30591 Automatic loading of commands is supported.
f19dbdb7 30592
5822ff87 30593 * normal/main.c (read_command_list): New function.
30594 (grub_normal_execute): Call read_command_list.
30595
30596 * normal/command.c (grub_register_command): Return zero or CMD.
30597 Allocate CMD->NAME from the heap.
30598 Initialize CMD->MODULE_NAME to zero.
30599 Find the same name as well. If the same command is found and it is
30600 a dummy command, overwrite members. If it is not a dummy command,
30601 return zero.
30602 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
30603 (grub_command_find): If a dummy command is found, load a module
30604 and retry to find a command only once.
30605
30606 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
30607 make sure that each command is loaded.
30608
30609 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
30610 macro.
30611 (struct grub_command): Remove const from the member `name'.
30612 Add a new member `module_name'.
30613 (grub_register_command): Return grub_command_t.
30614
30615 * commands/help.c (grub_cmd_help): Call grub_command_find to make
30616 sure that each command is loaded.
30617
30618 * genmk.rb (PModule::rule): Specify a module name without the
30619 suffix ".mod" to gencmdlist.sh.
30620
7b1f4b57 306212005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30622
30623 * gencmdlist.sh: New file.
f19dbdb7 30624
7b1f4b57 30625 * genmk.rb (PModule::rule): Generate a rule for a command list.
30626 Clean command.lst.
30627 Generate command.lst from $(COMMANDFILES).
30628
30629 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
30630 (DATA): Added $(pkgdata_DATA).
30631 (install-local): Install files in $(pkgdata_DATA).
30632
062aaf39 306332005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30634
30635 * term/i386/pc/vga.c (debug_command): Removed.
30636 (GRUB_MOD_INIT): Do not register the command "debug".
30637
30638 From Hollis Blanchard:
30639 * commands/configfile.c: New file.
30640 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30641 commands/configfile.c.
30642 (pkgdata_MODULES): Added configfile.mod.
30643 (configfile_mod_SOURCES): New variable.
30644 (configfile_mod_CFLAGS): Likewise.
30645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30646 commands/configfile.c.
30647 (pkgdata_MODULES): Added configfile.mod.
30648 (configfile_mod_SOURCES): New variable.
30649 (configfile_mod_CFLAGS): Likewise.
30650 * util/grub-emu.c (main): Call grub_configfile_init and
30651 grub_configfile_fini.
30652 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
30653 prototype.
30654 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 30655
cee01aa6 306562005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30657
30658 * normal/arg.c (grub_arg_show_help): Do not show the bug report
30659 address.
30660
30661 * commands/help.c (grub_cmd_help): Do not print newlines after
30662 the last command in print_command_help.
30663
93f3a1d8 306642005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30665
30666 * commands/default.h: New file.
30667 * commands/timeout.h: Likewise.
30668 * normal/context.c: Likewise.
f19dbdb7 30669
93f3a1d8 30670 * util/misc.c: Do not include sys/times.h.
30671 Include sys/time.h and grub/machine/time.h.
30672 (grub_get_rtc): Rewritten with gettimeofday.
30673
30674 * util/grub-emu.c (main): Call grub_default_init and
30675 grub_timeout_init before grub_normal_init, and call
30676 grub_timeout_fini and grub_default_fini after grub_main.
30677
30678 * util/console.c (grub_ncurses_checkkey): Return the read
30679 character or -1.
30680
30681 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
30682 timeouts.
30683
30684 * normal/main.c (read_config_file): Push MENU. If this fails,
30685 print an error and wait for a user input.
30686 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
30687 If a menu is empty or an error occurs, pop MENU.
30688 (grub_normal_execute): Pop and free MENU after grub_menu_run
30689 returns.
30690
30691 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
30692
30693 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
30694 include time.h.
30695 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30696 without GRUB_UTIL.
30697 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
30698 time.h.
30699 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30700 without GRUB_UTIL.
30701
30702 * include/grub/normal.h (struct grub_menu_list): New struct.
30703 (grub_menu_list_t): New type.
30704 (struct grub_context): New struct.
30705 (grub_context_t): New type.
30706 (grub_register_command): Got rid of EXPORT_FUNC.
30707 (grub_unregister_command): Likewise.
30708 (grub_context_get): New prototype.
30709 (grub_context_get_current_menu): Likewise.
30710 (grub_context_push_menu): Likewise.
30711 (grub_context_pop_menu): Likewise.
30712 [GRUB_UTIL] (grub_default_init): Likewise.
30713 [GRUB_UTIL] (grub_default_fini): Likewise.
30714 [GRUB_UTIL] (grub_timeout_init): Likewise.
30715 [GRUB_UTIL] (grub_timeout_fini): Likewise.
30716
30717 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
30718 commands/timeout.c and normal/context.c.
30719 (pkgdata_MODULES): Added default.mod and timeout.mod.
30720 (normal_mod_SOURCES): Added normal/context.c.
30721 (default_mod_SOURCES): New variable.
30722 (default_mod_CFLAGS): Likewise.
30723 (timeout_mod_SOURCES): Likewise.
30724 (timeout_mod_CFLAGS): Likewise.
30725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
30726 conf/i386-pc.rmk.
30727 (pkgdata_MODULES): Added default.mod and timeout.mod.
30728 (normal_mod_SOURCES): Added normal/context.c.
30729 (default_mod_SOURCES): New variable.
30730 (default_mod_CFLAGS): Likewise.
30731 (timeout_mod_SOURCES): Likewise.
30732 (timeout_mod_CFLAGS): Likewise.
30733
30734 * Makefile.in (all-local): Added $(MKFILES).
30735
4ed2e1dd 307362005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
30737
30738 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
30739 (grub_emu_SOURCES): Likewise.
30740 (pkgdata_MODULES): Add `sun.mod'.
30741 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30743 `partmap/sun.c'.
30744 (pkgdata_MODULES): Add `sun.mod'.
30745 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30746 * include/grub/partition.h (grub_sun_partition_map_init): New
30747 prototype.
30748 (grub_sun_partition_map_fini): Likewise.
30749 * partmap/sun.c: New file.
30750 * util/grub-emu.c (main): Initialize and de-initialize the sun
30751 partitionmap support.
30752
4d4e372e 307532005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
30754
30755 This implements an Emacs-like menu entry editor.
f19dbdb7 30756
4d4e372e 30757 * normal/menu_entry.c: New file.
f19dbdb7 30758
4d4e372e 30759 * util/console.c (grub_ncurses_putchar): Translate some Unicode
30760 characters to ASCII.
30761 (saved_char): New variable.
30762 (grub_ncurses_checkkey): Rewritten completely.
30763 (grub_ncurses_getkey): Likewise.
30764 (grub_ncurses_init): Call raw instead of cbreak.
30765
30766 * normal/menu.c (print_entry): Do not put a space.
30767 (init_page): Renamed to ...
30768 (grub_menu_init_page): ... this. All callers changed.
30769 (edit_menu_entry): Removed.
30770 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
30771
30772 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
30773
30774 * kern/misc.c (grub_vprintf): Call grub_refresh.
30775
30776 * normal/menu.c (DISP_LEFT): Renamed to ...
30777 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
30778 * normal/menu.c (DISP_UP): Renamed to ...
30779 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
30780 * normal/menu.c (DISP_RIGHT): Renamed to ...
30781 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
30782 * normal/menu.c (DISP_DOWN): Renamed to ...
30783 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
30784 * normal/menu.c (DISP_HLINE): Renamed to ...
30785 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
30786 * normal/menu.c (DISP_VLINE): Renamed to ...
30787 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
30788 * normal/menu.c (DISP_UL): Renamed to ...
30789 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
30790 * normal/menu.c (DISP_UR): Renamed to ...
30791 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
30792 * normal/menu.c (DISP_LL): Renamed to ...
30793 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
30794 * normal/menu.c (DISP_LR): Renamed to ...
30795 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
30796 * normal/menu.c (TERM_WIDTH): Renamed to ...
30797 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
30798 * normal/menu.c (TERM_HEIGHT): Renamed to ...
30799 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
30800 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
30801 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
30802 * normal/menu.c (TERM_MARGIN): Renamed to ...
30803 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
30804 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
30805 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
30806 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
30807 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
30808 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
30809 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
30810 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
30811 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
30812 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
30813 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
30814 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
30815 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
30816 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
30817 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
30818 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
30819 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
30820 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
30821 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
30822 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
30823 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
30824 All callers changed.
30825
30826 * include/grub/normal.h: New prototype.
30827
30828 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30829 normal/menu_entry.c.
30830 (normal_mod_SOURCES): Likewise.
30831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30832 (normal_mod_SOURCES): Likewise.
30833
e6b92c8a 308342005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
30835
30836 * include/grub/normal.h (grub_halt_init): New prototype.
30837 (grub_halt_fini): Likewise.
30838 (grub_reboot_init): Likewise.
30839 (grub_reboot_fini): Likewise.
30840
30841 * util/grub-emu.c: Include signal.h.
30842 (main_env): New global variable.
30843 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
30844 catch C-c.
30845 (grub_machine_fini): New function.
30846 (main): Call grub_halt_init and grub_reboot_init before
30847 grub_main, and grub_reboot_fini and grub_halt_fini after it.
30848 Call setjmp with MAIN_ENV to go back afterwards.
30849 Call grub_machine_fini right before return.
30850
30851 * include/grub/util/misc.h: Include setjmp.h.
30852 (main_env): New prototype.
30853
30854 * include/grub/kernel.h (grub_machine_fini): New prototype.
30855 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
30856 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
30857
30858 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
30859 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
30860 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 30861
e6b92c8a 30862 * util/i386/pc/misc.c: New file.
f19dbdb7 30863
e6b92c8a 30864 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30865 util/i386/pc/misc.c, commands/i386/pc/halt.c and
30866 commands/i386/pc/reboot.c.
30867
c642636f 308682005-02-14 Guillem Jover <guillem@hadrons.org>
30869
30870 * include/grub/dl.h (grub_dl_check_header): New prototype.
30871 (grub_arch_dl_check_header): Change return type to grub_err_t,
30872 remove size parameter and export function. Update all callers.
30873 * kern/dl.c (grub_dl_check_header): New function.
30874 (grub_dl_load_core): Use `grub_dl_check_header' instead of
30875 `grub_arch_dl_check_header'. Check ELF type. Check if sections
30876 are inside the core.
30877 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
30878 independent ELF header checks.
30879 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
30880 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
30881 `grub_dl_check_header' instead of explicit checks. Check for the
30882 ELF type.
30883 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
30884 `grub_dl_check_header' instead of explicit checks. Remove arch
30885 specific ELF header checks.
30886
e6b92c8a 30887 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
30888 argument SIZE.
30889
5eabe94b 308902005-02-13 Hollis Blanchard <hollis@penguinppc.org>
30891
30892 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
30893 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
30894
1b14a681 308952005-02-12 Hollis Blanchard <hollis@penguinppc.org>
30896
30897 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 30898 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 30899 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 30900 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 30901 * partmap/amiga.c (amiga_partition_map_iterate): Return
30902 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
30903 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30904
aca108aa 309052005-02-01 Guillem Jover <guillem@hadrons.org>
30906
30907 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
30908 help info.
30909
c9f9c556 309102005-01-31 Marco Gerards <metgerards@student.han.nl>
30911
30912 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
30913 Removed prototype.
30914 (grub_rescue_cmd_linux): New prototype.
30915 (grub_rescue_cmd_initrd): Likewise.
30916 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
30917 `bi_rec'.
30918 (grub_linux_release_mem): Release the memory for the initrd.
30919 (grub_load_linux): Renamed from this...
30920 (grub_rescue_cmd_linux): ...To this. Changed all callers.
30921 Changed `entry' not to be static. Loop over memory regions to
30922 find another one when the default fails.
30923 (grub_rescue_cmd_initrd): New function.
30924 (grub_linux_init): Remove function.
30925 (grub_linux_fini): Likewise.
30926 (GRUB_MOD_INIT): Register `initrd'.
30927 (GRUB_MOD_FINI): Unregister `initrd'.
30928 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
30929 Function removed.
30930 (grub_linux_normal_fini): Likewise.
30931 (GRUB_MOD_INIT): Register `initrd'.
30932 (GRUB_MOD_FINI): Unregister `initrd'.
30933
990cf3aa 309342005-01-31 Marco Gerards <metgerards@student.han.nl>
30935
30936 * commands/help.c: New file.
30937 * normal/arg.c (show_help): Renamed to...
30938 (grub_arg_show_help): ... this.
30939 * commands/i386/pc/halt.c: New file.
30940 * commands/i386/pc/reboot.c: Likewise.
30941 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
30942 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
30943 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
30944 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
30945 variables.
30946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30947 `commands/help.c'.
30948 (pkgdata_MODULES): Add `help.mod'.
30949 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
30950 * grub/i386/pc/init.h (grub_reboot): New prototype.
30951 (grub_halt): Likewise.
30952 * include/grub/normal.h (grub_arg_show_help): New prototype.
30953 (grub_help_init): Likewise.
30954 (grub_help_fini): Likewise.
30955 * util/grub-emu.c (main): Initialize and deinitialize the help
30956 command.
30957
30958 * normal/cmdline.c (grub_cmdline_get): Doc fix.
30959
30960 * normal/command.c (grub_command_init): Fixed the description of
30961 the `set' and `unset' commands.
30962
309632005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 30964
30965 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
30966 function.
30967 * commands/ieee1275/halt.c: New file.
30968 * commands/ieee1275/reboot.c: Likewise.
30969 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
30970 `__attribute__ ((unused))'. Some GCS related fixed.
30971 (grub_suspend_init) [GRUB_UTIL]: Function removed.
30972 (grub_suspend_fini): Likewise.
30973 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
30974 and `halt.mod'.
30975 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
30976 (halt_mod_CFLAGS): New variables.
30977 * include/grub/powerpc/ieee1275/ieee1275.h
30978 (grub_ieee1275_interpret): New prototype.
30979
1ab09cc7 309802005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
30981
30982 * include/grub/misc.h (memmove): New prototype.
30983 (memcpy): Likewise.
30984
8b8cbdb2 309852005-01-22 Hollis Blanchard <hollis@penguinppc.org>
30986
30987 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
30988 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
30989
e3741a27 309902005-01-22 Marco Gerards <metgerards@student.han.nl>
30991
30992 * kern/misc.c (grub_strndup): Function rewritten.
30993
776bd780 309942005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
30995
30996 * normal/menu.c (TERM_WIDTH): Macro redefined.
30997 (TERM_TOP_BORDER_Y): Likewise.
30998 (draw_border): Replaced while-loop by a for-loop. Make the number
30999 of lines consistent with the number of lines displayed in
31000 print_entries. Added a margin below the rectangle.
31001 (print_entry): Make the entry fit in the rectangle.
31002 (print_entries): Display the scroll arrows next to the right
31003 border.
31004
78026bce 310052005-01-21 Marco Gerards <metgerards@student.han.nl>
31006
31007 * fs/minix.c (grub_minix_find_file): Reserve more space for
31008 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
31009 `grub_strncpy' to copy `path' into it.
31010
67bbaf0f 310112005-01-21 Marco Gerards <metgerards@student.han.nl>
31012
31013 Add the loopback device, a device via which files can be accessed
31014 as devices.
f19dbdb7 31015
67bbaf0f 31016 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
31017 (pkgdata_MODULES): Add loopback.mod.
31018 (loopback_mod_SOURCES): New variable.
31019 (loopback_mod_CFLAGS): Likewise.
31020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31021 `disk/loopback.c'.
31022 (pkgdata_MODULES): Add loopback.mod.
31023 (loopback_mod_SOURCES): New variable.
31024 (loopback_mod_CFLAGS): Likewise.
31025 * disk/loopback.c: new file.
31026 * include/grub/normal.h (grub_loop_init): New prototype.
31027 (grub_loop_fini): New prototype.
31028 * util/grub-emu.c (main): Initialize and de-initialize loopback
31029 support.
31030 * include/grub/disk.h (grub_disk_dev_id): Add
31031 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
31032
6f1c18bd 310332005-01-20 Hollis Blanchard <hollis@penguinppc.org>
31034
31035 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
31036 function.
31037 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
31038 (suspend_mod_SOURCES): New variable.
31039 (suspend_mod_CFLAGS): Likewise.
31040 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
31041 New prototype.
31042 * commands/ieee1275/suspend.c: New file.
31043
b38551da 310442005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31045
31046 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 31047 ((unused))' to `__attribute__ ((used))'.
b38551da 31048 (GRUB_MOD_FINI): Likewise.
31049 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
31050 * genmk.rb (PModule): Assign space to common symbols when linking
31051 modules.
31052
777aff39 310532005-01-20 Marco Gerards <metgerards@student.han.nl>
31054
31055 * include/grub/mm.h (grub_mm_init_region): Change the type of the
31056 `unsigned' arguments to `grub_size_t'.
31057 (grub_malloc): Likewise.
31058 (grub_realloc): Likewise.
31059 (grub_memalign): Likewise.
31060 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
31061 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31062 * util/misc.c (grub_malloc): Likewise.
31063 (grub_realloc): Likewise.
31064 * kern/mm.c (get_header_from_pointer): Change the casts to
31065 `unsigned' into a cast to `grub_size_t'.
31066
31067 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
31068 point to `currnode' when `currnode' is changed.
31069
31070 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
31071 Schottelius <nico-linux@schottelius.org>.
31072
d0ff18e1 310732005-01-09 Hollis Blanchard <hollis@penguinppc.org>
31074
31075 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
31076 (note_path): Remove variable.
31077 (GRUB_IEEE1275_NOTE_NAME): New macro.
31078 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
31079 (grub_ieee1275_note_hdr): New structure.
31080 (grub_ieee1275_note_desc): Likewise.
31081 (grub_ieee1275_note): Likewise.
31082 (load_note): Remove `dir' argument. All callers updated. Remove
31083 `note_img' and `path'. Do not load a file from `note_path'.
31084 Initialize a struct grub_ieee1275_note and write that to `out'.
31085 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
31086
4ca7004c 310872005-01-05 Marco Gerards <metgerards@student.han.nl>
31088
31089 * util/misc.c (grub_util_read_image): Revert last change. It
31090 called `grub_util_read_at', which seeks from the beginning of the
31091 file.
31092
0b412211 310932005-01-04 Hollis Blanchard <hollis@penguinppc.org>
31094
31095 * TODO: Add note about endianness in grub-mkimage.
31096 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
31097 section.
31098 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
31099 (grub_mkimage_SOURCES): New target.
31100 * include/grub/kernel.h (grub_start_addr): Remove variable.
31101 (grub_end_addr): Likewise.
31102 (grub_total_module_size): Likewise.
31103 (grub_kernel_image_size): Likewise.
31104 (GRUB_MODULE_MAGIC): New constant.
31105 (grub_module_info): New structure.
31106 (grub_arch_modules_addr): New prototype.
31107 (grub_get_end_addr): Remove prototype.
31108 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
31109 * include/grub/powerpc/ieee1275/kernel.h: New file.
31110 * include/grub/util/misc.h (grub_util_get_fp_size): New
31111 prototype.
31112 (grub_util_read_at): Likewise.
31113 (grub_util_write_image_at): Likewise.
31114 * kern/main.c (grub_get_end_addr): Remove function.
31115 (grub_load_modules): Call grub_arch_modules_addr instead of using
31116 grub_end_addr. Look for a grub_module_info struct in memory. Use
31117 the grub_module_info fields instead of calling grub_get_end_addr
31118 as loop conditions. Move grub_add_unused_region code here.
31119 (grub_add_unused_region): Remove function.
31120 * kern/i386/pc/init.c: Include grub/cache.h.
31121 (grub_machine_init): Remove call to grub_get_end_addr. Remove
31122 one call to add_mem_region.
31123 (grub_arch_modules_addr): New function.
31124 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
31125 (grub_total_module_size): Likewise.
31126 Include grub/machine/kernel.h.
31127 (grub_arch_modules_addr): New function.
31128 * util/grub-emu.c (grub_end_addr): Remove variable.
31129 (grub_total_module_size): Likewise.
31130 (grub_arch_modules_addr): New function.
31131 * util/misc.c: Include unistd.h.
31132 (grub_util_get_fp_size): New function.
31133 (grub_util_read_at): Likewise.
31134 (grub_util_write_image_at): Likewise.
31135 (grub_util_read_image): Call grub_util_read_at.
31136 (grub_util_write_image): Call grub_util_write_image_at.
31137 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
31138 additional memory in kernel_img for a struct grub_module_info.
31139 Fill in that grub_module_info.
31140 * util/powerpc/ieee1275/grub-mkimage.c: New file.
31141
458786f8 311422005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31143
31144 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
31145 New function.
31146 * include/grub/powerpc/ieee1275/ieee1275.h
31147 (grub_ieee1275_milliseconds): New prototype.
31148 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
31149 Change to 1000.
31150 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
31151 grub_ieee1275_milliseconds.
31152
ac507d1b 311532005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31154
31155 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
31156 variable.
31157 (find_options): New function.
31158 (cmain): Call find_options.
31159 * include/grub/powerpc/ieee1275/ieee1275.h
31160 (grub_ieee1275_realmode): New extern variable.
31161 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
31162 grub_map if grub_ieee1275_realmode is false.
31163
6b8fd1c4 311642004-12-29 Marco Gerards <metgerards@student.han.nl>
31165
31166 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
31167 lines are inserted and make it work like readline. Reported by
31168 Vincent Pelletier <subdino2004@yahoo.fr>.
31169
8514a1e0 311702004-12-28 Marco Gerards <metgerards@student.han.nl>
31171
31172 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
31173
31174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
31175 `kern/powerpc/cache.S'.
31176
924b6140 311772004-12-27 Marco Gerards <metgerards@student.han.nl>
31178
31179 * genmk.rb: Handle the `Program' class in the main loop. Written
31180 by Johan Rydberg <jrydberg@gnu.org>.
31181 (Program): New class.
31182 (programs): New variable.
31183 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
31184 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
31185 instead of "grub/kernel.h". Include <grub/machine/init.h>.
31186 (help_arch): Function removed.
31187 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
31188 `powerpc/libgcc.h' and `loader.h'.
31189 (pkgdata_PROGRAMS): New variable.
31190 (sbin_UTILITIES): Variable removed.
31191 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
31192 (grubof_SOURCES): Variable re-defined so it only includes the
31193 core functionality.
31194 (grubof_CFLAGS): Remove `-DGRUBOF'.
31195 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
31196 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
31197 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
31198 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
31199 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
31200 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
31201 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
31202 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
31203 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
31204 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
31205 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31206 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
31207 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
31208 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
31209 (pc_mod_CFLAGS): New variables.
31210 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
31211 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
31212 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
31213 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
31214 Moved from here...
31215 * include/grub/i386/pc/init.h (grub_os_area_addr)
31216 (rub_os_area_size): ... to here.
31217 * include/grub/powerpc/ieee1275/ieee1275.h
31218 (grub_ieee1275_entry_fn): Export symbol.
31219 * include/grub/powerpc/ieee1275/init.h: New file.
31220 * include/grub/powerpc/libgcc.h: Likewise.
31221 * include/grub/cache.h: Likewise.
31222 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
31223 <hollis@penguinppc.org>.
31224 * kern/dl.c: Include <grub/cache.h>.
31225 (grub_dl_flush_cache): New function.
31226 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
31227 for this module.
31228 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
31229 (grub_console_init): Removed prototypes.
31230 (grub_machine_init): Don't initialize the modules anymore.
31231 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
31232 static.
31233 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
31234 Macro undef removed.
31235 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
31236 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
31237 relocation `R_PPC_REL32'. Return an error when the relocation is
31238 unknown.
31239 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
31240 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
31241 * util/misc.c (grub_arch_sync_caches): Likewise.
31242
e4b47e0c 312432004-12-19 Marco Gerards <metgerards@student.han.nl>
31244
31245 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
31246 `symlist.c', add `grubof_symlist.c'.
31247 (symlist.c): Variable removed.
31248 (grubof_HEADERS): Variable added.
31249 (grubof_symlist.c): New target.
31250 (kernel_syms.lst): Use `grubof_HEADERS' instead of
31251 `kernel_img_HEADERS'.
31252 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
31253 * kern/powerpc/dl.c: New file.
31254 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
31255 Function removed.
31256 (grub_arch_dl_relocate_symbols): Likewise.
31257 (grub_register_exported_symbols): Likewise.
31258
4ceb3636 312592004-12-13 Marco Gerards <metgerards@student.han.nl>
31260
31261 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
31262 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
31263 to fail instead. Reported by Vincent Pelletier
31264 <subdino2004@yahoo.fr>.
31265
31266 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
31267 it is not allocated. Reported by Vincent Pelletier
31268 <subdino2004@yahoo.fr>.
31269
31270 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
31271 output so the output looks better.
f19dbdb7 31272
3f1578fe 312732004-12-04 Marco Gerards <metgerards@student.han.nl>
31274
31275 Modulize the partition map support and add support for the amiga
31276 partition map.
f19dbdb7 31277
3f1578fe 31278 * commands/ls.c: Include <grub/partition.h> instead of
31279 <grub/machine/partition.h>.
31280 * kern/disk.c: Likewise.
31281 * kern/rescue.c: Likewise.
31282 * loader/i386/pc/chainloader.c: Likewise.
31283 * normal/cmdline.c: Likewise.
31284 * kern/powerpc/ieee1275/init.c: Likewise.
31285 (grub_machine_init): Call `grub_pc_partition_map_init',
31286 `grub_amiga_partition_map_init' and
31287 `grub_apple_partition_map_init'.
31288 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
31289 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
31290 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
31291 `partition.h' and `pc_partition.h'.
31292 (grub_setup_SOURCES): Remove
31293 `disk/i386/pc/partition.c'. Add `kern/partition.c',
31294 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31295 (grub_emu_SOURCES): Likewise.
31296 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
31297 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
31298 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
31299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31300 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
31301 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31302 (grubof_SOURCES): Likewise.
31303 * disk/i386/pc/partition.c: File removed.
31304 * disk/powerpc/ieee1275/partition.c: Likewise.
31305 * include/grub/powerpc/ieee1275/partition.h: Likewise.
31306 * include/grub/i386/pc/partition.h: Likewise.
31307 * kern/partition.c: New file.
31308 * partmap/amiga.c: Likewise.
31309 * partmap/apple.c: Likewise.
31310 * partmap/pc.c: Likewise.
31311 * include/grub/partition.h: Likewise..
31312 * include/grub/pc_partition.h: Likewise.
31313 * util/grub-emu.c: Include <grub/partition.h> instead of
31314 <grub/machine/partition.h>.
31315 (main): Call `grub_pc_partition_map_init',
31316 `grub_amiga_partition_map_init' and
31317 `grub_apple_partition_map_init' and deinitialize afterwards.
31318 * util/i386/pc/biosdisk.c: Include `#include
31319 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31320 `<grub/machine/partition.h>'.
31321 * util/i386/pc/grub-setup.c: Likewise.
31322 * util/i386/pc/biosdisk.c: Likewise.
31323 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
31324 partition information in case of a PC partition.
31325 * util/i386/pc/grub-setup.c: Include `#include
31326 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31327 `<grub/machine/partition.h>'.
31328 (setup): Only access the PC specific partition information in case
31329 of a PC partition.
31330
0ef4ced9 313312004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31332
0ef4ced9 31333 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
31334 (grub_longjmp): Likewise.
31335 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
31336 20.
31337 * normal/powerpc/setjmp.S: New file.
31338 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31339 `normal/powerpc/setjmp.S'.
31340 (grubof_CFLAGS): Add `-DGRUBOF'.
31341 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
31342 [GRUB_UTIL && !GRUBOF].
f19dbdb7 31343
19950e29 313442004-11-16 Marco Gerards <metgerards@student.han.nl>
31345
31346 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
31347 property named `name'. Correctly handle the error returned by
31348 `grub_ieee1275_finddevice' if a device can not be opened.
31349
a2fea427 313502004-11-02 Hollis Blanchard <hollis@penguinppc.org>
31351
31352 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
31353 `actual' for negativity.
31354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31355 kern/fshelp.c.
31356
41ea0ea3 313572004-11-01 Marco Gerards <metgerards@student.han.nl>
31358
31359 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
31360 (PAGE_OFFSET): New macro.
31361 (CRTC_ADDR_PORT): Likewise.
31362 (CRTC_DATA_PORT): Likewise.
31363 (START_ADDR_HIGH_REGISTER): Likewise.
31364 (START_ADDR_LOW_REGISTER): Likewise.
31365 (GRAPHICS_ADDR_PORT): Likewise.
31366 (GRAPHICS_DATA_PORT): Likewise.
31367 (READ_MAP_REGISTER): Likewise.
31368 (INPUT_STATUS1_REGISTER): Likewise.
31369 (INPUT_STATUS1_VERTR_BIT): Likewise.
31370 (page): New variable.
31371 (wait_vretrace): New function.
31372 (set_read_map): Likewise.
31373 (set_start_address): Likewise.
31374 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
31375 the right page.
31376 (check_vga_mem): Take the page into account.
31377 (write_char): Likewise.
31378 (write_cursor): Likewise.
31379 (scroll_up): Likewise. Copy the page to the page that is not
31380 shown and switch between both pages.
31381 (grub_vga_putchar): Fix off by one error.
31382 (grub_vga_cls): Wait for the vertical retrace. Take the page into
31383 account.
31384
ad0bd20b 313852004-11-01 Marco Gerards <metgerards@student.han.nl>
31386
31387 Add support for iso9660 (including rockridge).
f19dbdb7 31388
ad0bd20b 31389 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31390 (iso9660_mod_SOURCES): New variable.
31391 (iso9660_mod_CFLAGS): Likewise.
31392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31393 * include/grub/fs.h (grub_iso9660_init): New prototype.
31394 * util/grub-emu.c (main): Call `grub_iso9660_init'.
31395 * fs/iso9660.c: New file.
31396
31397 * include/grub/misc.h (grub_strncat): New prototype.
31398 * kern/misc.c (grub_strncat): New function.
f19dbdb7 31399
ad0bd20b 31400 * fs/hfs.c (grub_hfs_mount): Translate the error
31401 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
31402 * fs/jfs.c (grub_jfs_mount): Likewise.
31403 * fs/ufs.c (grub_ufs_mount): Likewise.
31404
a5477a59 314052004-10-28 Hollis Blanchard <hollis@penguinppc.org>
31406
31407 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
31408 which initialized BAT registers.
31409 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
31410 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31411 Move from here...
31412 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
31413 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31414 ... to here.
31415 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
31416 (grub_mapclaim): Likewise.
31417 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
31418 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
31419 hand.
31420
9304c1f8 314212004-10-19 Hollis Blanchard <hollis@penguinppc.org>
31422
31423 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
31424 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
31425 -ffreestanding and -msoft-float.
31426
86f4ae25 314272004-10-15 Hollis Blanchard <hollis@penguinppc.org>
31428
31429 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
31430 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
31431 set in grub_ieee1275_flags.
31432
38912228 314332004-10-14 Hollis Blanchard <hollis@penguinppc.org>
31434
31435 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
31436 prototype.
31437 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
31438 grub_console_init first.
31439 Change the memory range used for grub_ieee1275_claim and
31440 grub_mm_init_region.
31441 Print an error message if the claim fails.
31442 Include <grub/misc.h>.
31443
d1923dc8 314442004-10-13 Hollis Blanchard <hollis@penguinppc.org>
31445
31446 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
31447 Call grub_children_iterate for device nodes of type `scsi',
31448 `ide', or `ata'.
31449 (grub_ofdisk_open): Remove manual device alias resolution.
31450 Fix memory leak when device cannot be opened.
f19dbdb7 31451 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 31452 (grub_children_iterate): New prototype.
31453 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
31454 New function.
31455 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31456 Return -1 if args.size was -1.
31457
4512e4f3 314582004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31459
31460 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
31461 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
31462 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
31463 Open Firmware's memory for it; claim memory from _start to _end.
31464 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
31465 (_end): New extern.
31466 (_start): Zero BSS from __bss_start to _end.
31467 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31468 New extern.
31469 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
31470
4d61feb0 314712004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31472
ad0bd20b 31473 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
31474 -1 if args.base was -1.
4d61feb0 31475
026fa2f9 314762004-10-08 Hollis Blanchard <hollis@penguinppc.org>
31477
31478 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
31479 escape sequence instead of a literal ^L. Also call
31480 grub_ofconsole_gotoxy.
31481
9f2220ef 314822004-10-03 Hollis Blanchard <hollis@penguinppc.org>
31483
31484 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
31485 void * arguments to grub_addr_t. All callers updated. Also make
31486 the `result' argument optional.
31487 (grub_ieee1275_release): change void * arguments to grub_addr_t.
31488 All callers updated.
31489
8a572cd7 314902004-09-22 Hollis Blanchard <hollis@penguinppc.org>
31491
31492 * commands/ls.c (grub_ls_list_files): Use the string following the
31493 initial ')', if present, as the filesystem path.
31494 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
31495
31496 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
31497
18aa81f2 314982004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
31499
31500 Make the source code of the menu interface more readable.
f19dbdb7 31501
18aa81f2 31502 * normal/menu.c: Include grub/mm.h.
31503 (TERM_WIDTH): New macro.
31504 (TERM_HEIGHT): Likewise.
31505 (TERM_INFO_HEIGHT): Likewise.
31506 (TERM_MARGIN): Likewise.
31507 (TERM_SCROLL_WIDTH): Likewise.
31508 (TERM_TOP_BORDER_Y): Likewise.
31509 (TERM_LEFT_BORDER_X): Likewise.
31510 (TERM_BORDER_WIDTH): Likewise.
31511 (TERM_MESSAGE_HEIGHT): Likewise.
31512 (TERM_BORDER_HEIGHT): Likewise.
31513 (TERM_NUM_ENTRIES): Likewise.
31514 (TERM_FIRST_ENTRY_Y): Likewise.
31515 (TERM_ENTRY_WIDTH): Likewise.
31516 (TERM_CURSOR_X): Likewise.
31517 (draw_border): Use macros instead of magic numbers.
31518 (print_entry): Likewise.
31519 (print_entries): Likewise.
31520 (run_menu): Likewise. Also, handle the key 'e'.
31521 (run_menu_entry): Ignore empty command lines.
31522 (print_message): Added a new argument EDIT. If EDIT is true,
31523 print a different message.
31524 (init_page): Likewise.
31525 (edit_menu_entry): New function. Not implemented yet.
31526
b47efe30 315272004-09-17 Marco Gerards <metgerards@student.han.nl>
31528
31529 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
31530 can be loaded from normal mode.
f19dbdb7 31531
b47efe30 31532 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
31533 `multiboot.mod'.
31534 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
31535 (multiboot_mod_CFLAGS): New variables.
31536 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 31537 * loader/i386/pc/multiboot_normal.c: Likewise.
31538
b47efe30 31539 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
31540 attribute `unused'.
f19dbdb7 31541
b47efe30 31542 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
31543 `fdiro' to read the mode information from instead of `diro'.
31544
31545 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
31546 looking up a symlink.
31547
31548 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
31549 macro.
31550 * normal/command.c (grub_command_execute): Don't parse the
31551 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
31552 flags of the command.
31553
31554 * normal/menu.c (grub_menu_run): Fix typo.
31555
da75ac71 315562004-09-14 Hollis Blanchard <hollis@penguinppc.org>
31557
31558 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
31559
31560 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
31561 `y + 1' instead of `y - 1'.
31562
31563 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 31564
062b24c2 315652004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
31566
31567 From Hollis Blanchard <hollis@penguinppc.org>:
31568 * kern/misc.c (memmove): New alias for grub_memmove.
31569 (memcmp): New alias for grub_memcmp.
31570 (memset): New alias for grub_memset.
f19dbdb7 31571 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 31572 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 31573 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 31574 (grub_ieee1275_get_property): Likewise.
f19dbdb7 31575
8ddad845 315762004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
31577
31578 Added normal mode command `chainloader' as module chain.mod, which
31579 depends on normal.mod and _chain.mod.
f19dbdb7 31580
8ddad845 31581 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
31582 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
31583 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
31584 Deleted prototype.
31585 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
31586 but arguments parsing moved to ...
31587 (grub_chainloader_cmd): ... here. New function.
31588 * include/grub/i386/pc/chainloader.h: New file.
31589 * loader/i386/pc/chainloader_normal.c: Likewise.
31590
2c1f4ce3 315912004-09-11 Marco Gerards <metgerards@student.han.nl>
31592
31593 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
31594 (grub_mkimage_LDFLAGS): Likewise.
31595 (grub_emu_SOURCES): Likewise.
31596 (kernel_img_HEADERS): Added fshelp.h.
31597 * fs/ext2.c: Include <grub/fshelp.h>.
31598 (FILETYPE_REG): New macro.
31599 (FILETYPE_INO_REG): Likewise.
31600 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
31601 Changed all users.
31602 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
31603 all users.
31604 (grub_fshelp_node): New struct.
31605 (grub_ext2_data): Added member `diropen'. Changed member `inode'
31606 to a pointer.
31607 (grub_ext2_get_file_block): Removed function.
31608 (grub_ext2_read_block): New function.
31609 (grub_ext2_read_file): Replaced parameter `data' by `node'.
31610 This function was written.
31611 (grub_ext2_mount): Read the root inode. Create a diropen struct.
31612 (grub_ext2_find_file): Removed function.
31613 (grub_ext2_read_symlink): New function.
31614 (grub_ext2_iterate_dir): Likewise.
31615 (grub_ext2_open): Rewritten.
31616 (grub_ext2_dir): Rewritten.
31617 * include/grub/fshelp.h: New file.
31618 * fs/fshelp.c: Likewise.
31619
3c52136a 316202004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
31621
31622 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
31623 (print_message): Add a missing newline.
31624 (run_menu): Added timeout support.
31625 (run_menu_entry): New local function.
31626 (grub_menu_run): Added support for booting.
31627
31628 * kern/loader.c (grub_loader_is_loaded): New function.
31629
31630 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
31631 (grub_get_rtc): Exported.
31632
31633 * include/grub/i386/pc/time.h: Include grub/symbol.h.
31634 (grub_get_rtc): Exported.
31635
31636 * include/grub/normal.h (struct grub_command_list): Remove
31637 constant from the member `command'.
31638
31639 * include/grub/loader.h (grub_loader_is_loaded): Declared.
31640
31641 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
31642
31643 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
31644
aa033560 316452004-08-28 Marco Gerards <metgerards@student.han.nl>
31646
31647 Add support for the JFS filesystem.
31648
31649 * fs/jfs.c: New file.
31650 * include/grub/fs.h (grub_jfs_init): New prototype.
31651 (grub_jfs_fini): New prototype.
31652 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
31653 (grub_emu_SOURCES): Likewise.
31654 (pkgdata_MODULES): Add jfs.mod.
31655 (jfs_mod_SOURCES): New variable.
31656 (jfs_mod_CFLAGS): Likewise.
31657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
31658 (grubof_SOURCES): Likewise.
31659 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
31660
31661 * fs/fat.c (grub_fat_find_dir): Convert the filename little
31662 endian to the host endian.
31663 (grub_fat_utf16_to_utf8): Move function from there...
31664 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 31665 the endianness of the source string anymore.
aa033560 31666 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
31667
94bc45af 316682004-08-24 Marco Gerards <metgerards@student.han.nl>
31669
31670 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
31671 (grub_boot_fini) [GRUB_UTIL]: Likewise.
31672 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
31673 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 31674
94bc45af 31675 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
31676 (grub_hfs_iterate_dir): Make the function static. Add prototypes
31677 for `node_found' and `it_dir'.
31678 (grub_hfs_dir): Add prototype for `dir_hook'.
31679
31680 * fs/minix.c (grub_minix_get_file_block): Add prototype for
31681 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
31682 and `indir32' to silence a gcc warning.
31683
31684 * include/grub/fs.h (grub_hfs_init): New prototype.
31685 (grub_hfs_fini): Likewise.
f19dbdb7 31686
31687
97543f08 316882004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31689
31690 Each disk device has its own id now. This is useful to make use
31691 of multiple disk devices.
f19dbdb7 31692
97543f08 31693 * include/grub/disk.h (grub_disk_dev_id): New enum.
31694 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
31695 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
31696
31697 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
31698 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31699
31700 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
31701 GRUB_DISK_DEVICE_OFDISK_ID as an id.
31702
31703 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
31704 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31705
31706 * include/grub/disk.h (struct grub_disk_dev): Added a new member
31707 "id" which is used by the cache manager.
31708
31709 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
31710 of just "GRUB".
31711
64372eb4 317122004-08-18 Marco Gerards <metgerards@student.han.nl>
31713
31714 * fs/hfs.c: New file.
31715 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
31716 (grub_emu_SOURCES): Likewise.
31717 (pkgdata_MODULES): Add hfs.mod.
31718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
31719 (grubof_SOURCES): Likewise.
31720 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
31721
31722 * include/grub/misc.h (grub_strncasecmp): Add prototype.
31723 * kern/misc.c (grub_strncasecmp): Add function.
31724
cc61b58f 317252004-08-14 Marco Gerards <metgerards@student.han.nl>
31726
31727 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
31728 with parentheses.
31729
31730 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
31731 (grub_ext2_dir): In case the directory entry type is unknown, read
31732 it from the inode.
31733
0ef123f6 317342004-08-02 Peter Bruin <pjbruin@dds.nl>
31735
31736 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
31737 grub_load_linux instead of grub_rescue_cmd_linux as second
31738 argument of grub_rescue_register_command.
31739
31740 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
31741
a447c5df 317422004-07-27 Marco Gerards <metgerards@student.han.nl>
31743
31744 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
31745 function.
31746 * commands/boot.c: Remove the check for `GRUB_UTIL'.
31747 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31748 `loader/powerpc/ieee1275/linux.c',
31749 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
31750 * include/grub/powerpc/ieee1275/ieee1275.h
31751 (grub_ieee1275_release): New prototype.
31752 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
31753 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
31754 normal, boot, linux and linux_normal.
31755 * loader/powerpc/ieee1275/linux.c: New file.
31756 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31757
5a9e3546 317582004-07-12 Marco Gerards <metgerards@student.han.nl>
31759
31760 * normal/arg.c (grub_arg_parse): Correct error handling after
31761 reallocating the argumentlist (check if `argl' is not null instead
31762 of checking if `args' is not null).
31763 * kern/mm.c (grub_realloc): Return the same pointer when using the
31764 same region, instead of returning the header address.
31765
e15199cb 317662004-07-11 Marco Gerards <metgerards@student.han.nl>
31767
31768 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
31769 one block instead of two when looking for the initial partition.
31770 (grub_partition_probe): Initialize the local variable `p' with 0.
31771 Use base 10 for the grub_strtoul call.
31772 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
31773 need for one local variable.
31774 (grub_strtoul): Don't add the new value to `num', instead of that
31775 just assign it.
31776
020616c2 317772004-07-11 Marco Gerards <metgerards@student.han.nl>
31778
31779 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
31780 (pxeboot_img_SOURCES): New variable.
31781 (pxeboot_img_ASFLAGS): Likewise.
31782 (pxeboot_img_LDFLAGS): Likewise.
31783 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
31784 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
31785 <lode_leroy@hotmail.com>.
31786
6c51eb64 317872004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31788
31789 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
31790 there was no input.
31791
cfb12aff 317922004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31793
31794 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
31795 the history buffer logic.
31796
6eabba74 317972004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31798
31799 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
31800 (FILETYPE_INO_SYMLINK): New macros.
31801 (grub_ext2_find_file): Check if the node is a directory using the
31802 inode stat information instead of using the filetype in the
31803 dirent. Exclude the first character of an absolute symlink.
31804 (grub_ext2_dir): Mask out the filetype part of the mode member of
31805 the inode.
31806
66e19ef8 318072004-05-24 Marco Gerards <metgerards@student.han.nl>
31808
31809 Add support for UFS version 1 and 2. Add support for the minix
31810 filesystem version 1 and 2, both the variants with 14 and 30 long
31811 filenames.
f19dbdb7 31812
66e19ef8 31813 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
31814 fs/minix.c.
31815 (grub_emu_SOURCES): Likewise.
31816 (pkgdata_MODULES): Add ufs.mod and minix.mod.
31817 (ufs_mod_SOURCES): New variable.
31818 (ufs_mod_CFLAGS): Likewise.
31819 (minix_mod_SOURCES): Likewise.
31820 (minix_mod_CFLAGS): Likewise.
31821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
31822 fs/minix.c.
31823 (grubof_SOURCES): Likewise.
31824 * fs/ufs.c: New file.
31825 * fs/minix.c: New file.
31826 * include/grub/fs.h (grub_ufs_init): New prototype.
31827 (grub_ufs_fini): Likewise.
31828 (grub_minix_init): Likewise.
31829 (grub_minix_fini): Likewise.
31830 * util/grub-emu.c (main): Initialize and deinitialize UFS and
31831 minix fs.
31832
cc2e748a 318332004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
31834
31835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
31836 commands/ls.c, commands/terminal.c, commands/boot.c,
31837 commands/cmp.c and commands/cat.c.
31838 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
31839
31840 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
31841 "env.h"
31842
4b13b216 318432004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31844
31845 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
31846 and grub_, respectively. Because the conversion is trivial and
31847 mechanical, I omit the details here. Please refer to the CVS
31848 if you need more information.
31849
6a142551 318502004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31851
31852 * include/pupa: Renamed to ...
31853 * include/grub: ... this.
31854 * util/i386/pc/pupa-mkimage.c: Renamed to ...
31855 * util/i386/pc/grub-mkimage.c: ... this.
31856 * util/i386/pc/pupa-setup.c: Renamed to ...
31857 * util/i386/pc/grub-setup.c: ... this.
31858 * util/pupa-emu.c: Renamed to ...
31859 * util/grub-emu.c: ... this.
31860
e56cdf21 318612004-03-29 Marco Gerards <metgerards@student.han.nl>
31862
31863 Add support for the newworld apple macintosh (PPC). This has been
31864 tested on the powerbook 2000 only. It only adds support for
31865 generic ieee1275 functions, console and disk support. This should
31866 be easy to port to other architectures with support for Open
31867 Firmware.
f19dbdb7 31868
e56cdf21 31869 * configure.ac: Accept the powerpc as host_cpu. In the case of
31870 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
31871 specific tests are only executed while building for the i386.
31872 Inverse test for crosscompile.
31873 * genmk.rb (Utility): Allow assembler files.
31874 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
31875 * conf/powerpc-ieee1275.rmk: New file.
31876 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
31877 * disk/powerpc/ieee1275/partition.c: Likewise.
31878 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
31879 * include/pupa/powerpc/ieee1275/console.h: Likewise.
31880 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
31881 * include/pupa/powerpc/ieee1275/time.h: Likewise.
31882 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
31883 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
31884 * include/pupa/powerpc/ieee1275/loader.h
31885 * include/pupa/powerpc/setjmp.h: Likewise.
31886 * include/pupa/powerpc/types.h: Likewise.
31887 * kern/powerpc/ieee1275/init.c: Likewise.
31888 * kern/powerpc/ieee1275/openfw.c: Likewise.
31889 * term/powerpc/ieee1275/ofconsole.c: Likewise.
31890
31891 These files were written by Johan Rydberg
31892 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 31893
e56cdf21 31894 * boot/powerpc/ieee1275/cmain.c: New file.
31895 * boot/powerpc/ieee1275/crt0.S: Likewise.
31896 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
31897 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
31898
8c8cc205 318992004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
31900
31901 * Makefile.in: Update copyright.
31902 * genmodsrc.sh: Likewise.
31903 * gensymlist.sh: Likewise.
31904 * term/i386/pc/vga.c: Indent correctly.
31905
31906 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
31907 bugreporting address.
31908 * util/i386/pc/pupa-setup.c (usage): Likewise,
31909 (main): Call pupa_ext2_init and pupa_ext2_fini.
31910
f19dbdb7 31911 * fs/fat.c (log2): Renamed to ...
8c8cc205 31912 (fat_log2): ... this.
31913 All callers changed.
31914 * kern/misc.c (memcpy): Alias to pupa_memmove.
31915 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
31916 lvalue cast.
31917 * util/console.c (pupa_ncurses_fini): Return 0.
31918
31919 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
31920 Move fail label here.
31921 [__GNU__]: Don't warn when using stat.
31922 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
31923 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
31924 long int. Use strtol instead of strtoul.
f19dbdb7 31925
db1771cf 319262004-03-14 Marco Gerards <metgerards@student.han.nl>
31927
31928 * commands/boot.c: New file.
31929 * commands/cat.c: Likewise.
31930 * commands/cmp.c: Likewise.
31931 * commands/ls.c: Likewise.
31932 * commands/terminal.c: Likewise.
31933 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
31934 (pupa_register_command): Changed interface to match the new
31935 argument parser.
31936 (pupa_command_execute): Changed (almost rewritten) so it uses
31937 pupa_split_command. Added support for setting variables using the
31938 syntax `foo=bar'.
31939 (rescue_command): Changed to work with the new argument parser.
31940 (terminal_command): Moved from here to commands/terminal.c.
31941 (set_command): New function.
31942 (unset_command): New function.
31943 (insmod_command): New function.
31944 (rmmod_command): New function.
31945 (lsmod_command): New function.
31946 (pupa_command_init): Don't initialize the command terminal
31947 anymore. Initialize the commands set, unset, insmod, rmmod and
31948 lsmod.
31949 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
31950 (kernel_img_HEADERS): Add arg.h and env.h.
31951 (pupa_mkimage_LDFLAGS): Add kern/env.c.
31952 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
31953 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
31954 normal/arg.c.
31955 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
31956 terminal.mod.
31957 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
31958 (boot_mod_SOURCES): New variable.
31959 (terminal_mod_SOURCES): Likewise.
31960 (ls_mod_SOURCES): Likewise.
31961 (cmp_mod_SOURCES): Likewise.
31962 (cat_mod_SOURCES): Likewise.
31963
31964 * normal/arg.c: New file.
31965 * kern/env.c: Likewise.
31966 * include/pupa/arg.h: Likewise.
31967 * include/pupa/env.h: Likewise.
31968 * font/manager.c (font_command): Changed to match argument parsing
31969 interface changes.
31970 (PUPA_MOD_INIT): Likewise.
31971 * hello/hello.c (pupa_cmd_hello): Likewise.
31972 (PUPA_MOD_INIT): Likewise.
31973 * include/pupa/disk.h: Include <pupa/device.h>.
31974 (pupa_print_partinfo): New prototype.
31975 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
31976 (pupa_dl_get_prefix): Likewise.
31977 * include/pupa/misc.h: Include <pupa/err.h>.
31978 (pupa_isgraph): New prototype.
31979 (pupa_isdigit): Likewise.
31980 (pupa_split_cmdline): Likewise.
31981 * include/pupa/normal.h: Include <pupa/arg.h>.
31982 (pupa_command): Changed the prototype of the member `func' to
31983 match the argument parsing interface. Added member `options'.
31984 (pupa_register_command): Updated to match function.
31985 (pupa_arg_parse): New prototype.
31986 (pupa_hello_init) [PUPA_UTIL]: New prototype.
31987 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
31988 (pupa_ls_init) [PUPA_UTIL]: Likewise.
31989 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
31990 (pupa_cat_init) [PUPA_UTIL]: Likewise.
31991 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
31992 (pupa_boot_init) [PUPA_UTIL]: Likewise.
31993 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
31994 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
31995 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
31996 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
31997 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
31998 * kern/disk.c: Include <pupa/file.h>.
31999 (pupa_print_partinfo): New function.
32000 * kern/dl.c: Include <pupa/env.h>.
32001 (pupa_dl_dir): Variable removed.
32002 (pupa_dl_load): Use the environment variable `prefix' instead of
32003 the variable pupa_dl_dir.
32004 (pupa_dl_set_prefix): Function removed.
32005 (pupa_dl_get_prefix): Likewise.
32006 * kern/i386/pc/init.c: Include <pupa/env.h>.
32007 (pupa_machine_init): Use the environment variable `prefix' instead of
32008 using pupa_dl_set_prefix to set the prefix.
32009 * kern/main.c: Include <pupa/env.h>.
32010 (pupa_set_root_dev): Use the environment variable `prefix' instead of
32011 using pupa_dl_get_prefix to get the prefix.
32012 * kern/misc.c: Include <pupa/env.h>.
32013 (pupa_isdigit): New function.
32014 (pupa_isgraph): Likewise.
32015 (pupa_ftoa): Likewise.
32016 (pupa_vsprintf): Added support for printing values of the type
32017 `double'. Make it possible to format variable output when using
32018 formatting like `%1.2%f'.
32019 (pupa_split_cmdline): New function.
32020 * kern/rescue.c: Include <pupa/env.h>.
32021 (next_word): Removed function.
32022 (pupa_rescue_cmd_prefix): Likewise.
32023 (pupa_rescue_cmd_set): New function.
32024 (pupa_rescue_cmd_unset): New function.
32025 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
32026 split the command line instead of splitting it here. Added
32027 support for setting variables using the syntax `foo=bar'. Don't
32028 initialize the prefix command anymore. Initialized the set and
32029 unset commands.
32030 * normal/cmdline.c: Include <pupa/env.h>.
32031 (pupa_tab_complete): Added prototypes for print_simple_completion,
32032 print_partition_completion, add_completion, iterate_commands,
32033 iterate_dev, iterate_part and iterate_dir. Moved code to print
32034 partition information from here to kern/disk.c.
fe6b695a 32035 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 32036 * normal/main.c: Include <pupa/env.h>.
32037 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
32038 instead of using pupa_dl_get_prefix to get the prefix.
32039 * term/i386/pc/vga.c: Include <pupa/arg.h>.
32040 (check_vga_mem): Cast pointers to `void *' to silence a gcc
32041 warning.
32042 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
32043 (pupa_vga_setcolor): Declare unused variables with `__attribute__
32044 ((unused))' to silence a gcc warning.
32045 (pupa_vga_setcolor): Likewise.
32046 (debug_command): Changed to match argument parsing
32047 interface changes.
32048 * util/pupa-emu.c: Include <pupa/env.h>.
32049 (options): Added 0's for unused fields to silence a gcc warning.
32050 (argp): Likewise.
32051 (main): Use the environment variable `prefix' instead of using
32052 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
32053 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
32054 and terminal.
32055
32056 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
32057 * util/misc.c: Include <malloc.h>.
32058 (pupa_malloc): Rewritten so errors are correctly reported.
32059 (pupa_realloc): Likewise.
32060 (pupa_memalign): Likewise.
32061 (pupa_mm_init_region): Declare unused variables with
32062 `__attribute__ ((unused))' to silence a gcc warning.
32063 * normal/i386/setjmp.S: Remove tab at the end of the file to
32064 silence a gcc warning.
32065 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
32066 variables with `__attribute__ ((unused))' to silence a gcc
32067 warning.
32068 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
32069 local variable i unsigned to silence a gcc warning.
32070
32071 * kern/term.c: Include <pupa/misc.h>.
32072 (pupa_more_lines): New variable.
32073 (pupa_more): Likewise.
32074 (pupa_putcode): When the pager is active pause at the end of every
32075 screen.
32076 (pupa_set_more): New function.
32077 * include/pupa/term.h (pupa_set_more): New prototype.
32078
32079
3b1139cb 320802004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
32081
32082 Now this project is GRUB 2 rather than PUPA. The location of
32083 the CVS repository was moved to GRUB's.
f19dbdb7 32084
3b1139cb 32085 * configure.ac: Use bug-grub as the reporting address.
32086 Use GRUB instead of PUPA.
32087 Change the version number to 1.90.
32088
8367695c 320892004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
32090
32091 * genkernsyms.sh: Updated copyright information.
32092 * genmk.rb: Likewise.
32093 * genmodsrc.sh: Likewise.
32094 * gensymlist.sh: Likewise.
32095 * boot/i386/pc/boot.S: Likewise.
32096 * boot/i386/pc/diskboot.S: Likewise.
32097 * disk/i386/pc/biosdisk.c: Likewise.
32098 * disk/i386/pc/partition.c: Likewise.
32099 * font/manager.c: Likewise.
32100 * fs/ext2.c: Likewise.
32101 * fs/fat.c: Likewise.
32102 * include/pupa/boot.h: Likewise.
32103 * include/pupa/device.h: Likewise.
32104 * include/pupa/disk.h: Likewise.
32105 * include/pupa/dl.h: Likewise.
32106 * include/pupa/elf.h: Likewise.
32107 * include/pupa/err.h: Likewise.
32108 * include/pupa/file.h: Likewise.
32109 * include/pupa/font.h: Likewise.
32110 * include/pupa/fs.h: Likewise.
32111 * include/pupa/kernel.h: Likewise.
32112 * include/pupa/loader.h: Likewise.
32113 * include/pupa/misc.h: Likewise.
32114 * include/pupa/mm.h: Likewise.
32115 * include/pupa/net.h: Likewise.
32116 * include/pupa/normal.h: Likewise.
32117 * include/pupa/rescue.h: Likewise.
32118 * include/pupa/setjmp.h: Likewise.
32119 * include/pupa/symbol.h: Likewise.
32120 * include/pupa/term.h: Likewise.
32121 * include/pupa/types.h: Likewise.
32122 * include/pupa/i386/setjmp.h: Likewise.
32123 * include/pupa/i386/types.h: Likewise.
32124 * include/pupa/i386/pc/biosdisk.h: Likewise.
32125 * include/pupa/i386/pc/boot.h: Likewise.
32126 * include/pupa/i386/pc/console.h: Likewise.
32127 * include/pupa/i386/pc/init.h: Likewise.
32128 * include/pupa/i386/pc/kernel.h: Likewise.
32129 * include/pupa/i386/pc/linux.h: Likewise.
32130 * include/pupa/i386/pc/loader.h: Likewise.
32131 * include/pupa/i386/pc/memory.h: Likewise.
32132 * include/pupa/i386/pc/multiboot.h: Likewise.
32133 * include/pupa/i386/pc/partition.h: Likewise.
32134 * include/pupa/i386/pc/time.h: Likewise.
32135 * include/pupa/i386/pc/vga.h: Likewise.
32136 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
32137 * include/pupa/util/getroot.h: Likewise.
32138 * include/pupa/util/misc.h: Likewise.
32139 * include/pupa/util/resolve.h: Likewise.
32140 * kern/device.c: Likewise.
32141 * kern/disk.c: Likewise.
32142 * kern/dl.c: Likewise.
32143 * kern/err.c: Likewise.
32144 * kern/file.c: Likewise.
32145 * kern/fs.c: Likewise.
32146 * kern/loader.c: Likewise.
32147 * kern/main.c: Likewise.
32148 * kern/misc.c: Likewise.
32149 * kern/mm.c: Likewise.
32150 * kern/rescue.c: Likewise.
32151 * kern/term.c: Likewise.
32152 * kern/i386/dl.c: Likewise.
32153 * kern/i386/pc/init.c: Likewise.
32154 * kern/i386/pc/lzo1x.S: Likewise.
32155 * kern/i386/pc/startup.S: Likewise.
32156 * loader/i386/pc/chainloader.c: Likewise.
32157 * loader/i386/pc/linux.c: Likewise.
32158 * loader/i386/pc/multiboot.c: Likewise.
32159 * normal/cmdline.c: Likewise.
32160 * normal/command.c: Likewise.
32161 * normal/main.c: Likewise.
32162 * normal/menu.c: Likewise.
32163 * normal/i386/setjmp.S: Likewise.
32164 * term/i386/pc/console.c: Likewise.
32165 * term/i386/pc/vga.c: Likewise.
32166 * util/console.c: Likewise.
32167 * util/genmoddep.c: Likewise.
32168 * util/misc.c: Likewise.
32169 * util/pupa-emu.c: Likewise.
32170 * util/resolve.c: Likewise.
32171 * util/unifont2pff.rb: Likewise.
32172 * util/i386/pc/biosdisk.c: Likewise.
32173 * util/i386/pc/getroot.c: Likewise.
32174 * util/i386/pc/pupa-mkimage.c: Likewise.
32175 * util/i386/pc/pupa-setup.c: Likewise.
32176
e6eced71 321772004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
32178
32179 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
32180 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
32181 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
32182 reading and reset it after reading.
32183 (pupa_ext2_close): Return PUPA_ERR_NONE.
32184
32185 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
32186 Correct value.
32187 (struct linux_kernel_header): Add kernel_version and
32188 initrd_addr_max.
32189 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
32190 pupa_file_read succeeds.
32191 (pupa_rescue_cmd_initrd): Implement.
32192
5aded270 321932003-12-03 Marco Gerards <metgerards@student.han.nl>
32194
32195 * fs/ext2.c (pupa_ext2_label): New function.
32196 (pupa_ext2_fs): Added label.
32197 * fs/fat.c (pupa_fat_label): New function.
32198 (pupa_fat_fs): Added label.
32199 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
32200
32201 * kern/misc.c (pupa_strndup): New function.
32202 * include/pupa/misc.h (pupa_strndup): New prototype.
32203
32204 * include/pupa/normal.h: Include <pupa/err.h>.
32205 (pupa_set_history): New prototype.
32206 (pupa_iterate_commands): New prototype.
32207 * normal/cmdline.c: Include <pupa/machine/partition.h>,
32208 <pupa/disk.h>, <pupa/file.h>.
32209 (hist_size): New variable.
32210 (hist_lines): Likewise.
32211 (hist_end): Likewise.
32212 (hist_used): Likewise.
32213 (pupa_set_history): New function.
32214 (pupa_history_get): Likewise.
32215 (pupa_history_add): Likewise.
32216 (pupa_history_replace): Likewise.
32217 (pupa_tab_complete): Likewise.
32218 (pupa_cmdline_run): Added tab completion and history buffer. Tab
32219 completion shows partitionnames while completing partitions, this
32220 feature was suggested by Jeff Bailey.
32221 * normal/command.c (pupa_iterate_commands): New function.
32222 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
32223 (pupa_normal_init): Initialize history buffer.
32224 (PUPA_MOD_INIT): Likewise.
32225 (pupa_normal_fini): Free the history buffer.
32226 (PUPA_MOD_FINI): Likewise.
32227
32228 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
32229 key.
32230
32231 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
32232 * configure.ac [i386]: Check for regparam bug.
32233 (NESTED_FUNC_ATTR) [! i386]: Defined.
32234
1f7315a3 322352003-11-17 Marco Gerards <metgerards@student.han.nl>
32236
32237 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
32238 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
32239 (pupa_emu_SOURCES): New variable.
32240 (pupa_emu_LDFLAGS): Likewise.
32241 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
32242 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
32243 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
32244 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32245 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
32246 (pupa_jmp_buf): New typedef.
32247 (pupa_setjmp) [PUPA_UTIL]: New macro.
32248 (pupa_longjmp) [PUPA_UTIL]: Likewise.
32249 * include/pupa/term.h (struct pupa_term): New member `refresh'.
32250 (pupa_refresh): New prototype.
32251 * include/pupa/util/getroot.h: New file.
32252 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
32253 it.
32254 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
32255 (pupa_rescue_cmd_cat): Likewise.
32256 (pupa_rescue_cmd_ls): Likewise.
32257 (pupa_rescue_cmd_testload): Likewise.
32258 (pupa_rescue_cmd_lsmod): Likewise.
32259 * normal/cmdline.c (pupa_cmdline_get): Likewise.
32260 * normal/menu.c (run_menu): Likewise.
32261 * kern/term.c (pupa_cls): Likewise.
32262 (pupa_refresh): New function.
32263 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
32264 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32265 * util/console.c: New file.
f19dbdb7 32266
1f7315a3 32267 * util/i386/pc/getroot.c: New file.
32268 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
32269 (pupa_putchar): New function.
32270 (pupa_refresh): Likewise.
32271 (xgetcwd): Function moved to ...
32272 (strip_extra_slashes): Likewise.
32273 (get_prefix): Likewise.
f19dbdb7 32274 * util/i386/pc/getroot.c: ... here.
1f7315a3 32275 (find_root_device): Function moved and renamed to...
32276 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
32277 Changed all callers.
32278 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
32279 and renamed to...
32280 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
32281 Changed all callers.
32282 * util/misc.c (pupa_memalign): New function.
32283 (pupa_mm_init_region): Likewise.
32284 (pupa_register_exported_symbols): Likewise.
32285 (pupa_putchar): Function removed.
32286 * util/pupa-emu.c: New file.
32287
9a5c1ade 322882003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
32289
32290 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
32291 (_multiboot_mod_SOURCES): New variable.
32292 (_multiboot_mod_CFLAGS): Likewise.
32293 * loader/i386/pc/multiboot.c: New file.
32294 * include/pupa/i386/pc/multiboot.h: Likewise.
32295 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
32296 (pupa_multiboot_real_boot): New function.
32297 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
32298 (pupa_multiboot_real_boot): New prototype.
32299 (pupa_rescue_cmd_multiboot): Likewise
32300 (pupa_rescue_cmd_module): Likewise.
32301
32302 * kern/loader.c (pupa_loader_set): Continue when
32303 pupa_loader_unload_func() fails.
32304 (pupa_loader_unset): New function.
32305 * include/pupa/loader.h (pupa_loader_unset): New prototype.
32306
32307 * kern/misc.c (pupa_stpcpy): New function.
32308 * include/pupa/misc.h (pupa_stpcpy): New prototype.
32309
8e72a9c0 323102003-11-12 Marco Gerards <metgerards@student.han.nl>
32311
32312 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
32313 for available extensions.
32314
32315 * include/pupa/i386/pc/time.h: New file.
32316 * kern/disk.c: Include <pupa/machine/time.h>.
32317 (PUPA_CACHE_TIMEOUT): New macro.
32318 (pupa_last_time): New variable.
32319 (pupa_disk_open): Flush the cache when there was a timeout.
32320 (pupa_disk_close): Reset the timer.
32321 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
32322 pupa_currticks.
32323 * util/misc.c: Include <sys/times.h>
32324 (pupa_get_rtc): New function.
32325
c4adbd32 323262003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32327
32328 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
32329 as blocks.
32330 (pupa_ext2_get_file_block): Use blocks member.
32331
32332 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
32333 first block. Return -1 instead of pupa_errno on error.
32334
bfd30f06 323352003-10-27 Marco Gerards <metgerards@student.han.nl>
32336
32337 * README: In the pupa-mkimage example use _chain instead of chain
32338 and ext2 instead of fat.
32339 * TODO: Replace ext2fs with jfs as an example. Add an item for
32340 adding journal playback for ext2fs.
32341 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
32342 (pkgdata_MODULES): Added ext2.mod.
32343 (ext2_mod_SOURCES): New variable.
32344 (ext2_mod_CFLAGS): Likewise.
32345 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
32346 * include/pupa/misc.h (pupa_strncpy): New prototype.
32347 (pupa_strcat): Likewise.
32348 (pupa_strncmp): Likewise.
32349 * kern/misc.c (pupa_strcat): Enable function.
32350 (pupa_strncpy): New function.
32351 (pupa_strncmp): Likewise.
32352 * fs/ext2.c: New file.
f19dbdb7 32353
bfd30f06 32354 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
32355 when the read failed before retrying.
32356 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
32357 (_FILE_OFFSET_BITS): Likewise.
32358 * configure.ac: Added AC_SYS_LARGEFILE.
32359
98d15063 323602003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32361
32362 * genmk.rb (PModule#rule): Make sure to get only symbol names
32363 from the output of nm.
59cad637 32364 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 32365
18d9c7cd 323662003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32367
32368 I forgot to check in these changes for a long time. This adds
32369 incomplete support for VGA console, and this is still very
32370 buggy. Also, a lot of consideration is required for I18N,
32371 UNICODE, and VGA font issues. Therefore, assume that this is
32372 such that "better than nothing".
f19dbdb7 32373
18d9c7cd 32374 * font/manager.c: New file.
32375 * include/pupa/font.h: Likewise.
32376 * include/pupa/i386/pc/vga.h: Likewise.
32377 * term/i386/pc/vga.c: Likewise.
32378 * util/unifont2pff.rb: Likewise.
32379
32380 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
32381 (pkgdata_MODULES): Added vga.mod and font.mod.
32382 (vga_mod_SOURCES): New variables.
32383 (vga_mod_CFLAGS): Likewise.
32384 (font_mod_SOURCES): Likewise.
32385 (font_mod_CFLAGS): Likewise.
32386
32387 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
32388
32389 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 32390 (struct pupa_term): Added init and fini.
18d9c7cd 32391 Changed the argument of putchar to pupa_uint32_t.
32392
32393 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
32394 (pupa_console_real_putchar): New prototype.
32395 (pupa_console_putchar): Removed.
32396 (pupa_console_checkkey): Exported.
32397 (pupa_console_getkey): Likewise.
32398
32399 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
32400 characters.
32401
32402 * kern/term.c (pupa_term_set_current): Rewritten.
32403 (pupa_putchar): Likewise.
32404 (pupa_putcode): New function.
32405
32406 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
32407 (pupa_console_real_putchar): ... this.
32408 (pupa_vga_set_mode): New function.
32409 (pupa_vga_get_font): Likewise.
32410
32411 * normal/command.c: Include pupa/term.h.
32412 (terminal_command): New function.
32413 (pupa_command_init): Register the command "terminal".
32414
32415 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
32416 (DISP_UP): Likewise.
32417 (DISP_RIGHT): Likewise.
32418 (DISP_DOWN): Likewise.
32419 (DISP_HLINE): Likewise.
32420 (DISP_VLINE): Likewise.
32421 (DISP_UL): Likewise.
32422 (DISP_UR): Likewise.
32423 (DISP_LL): Likewise.
32424 (DISP_LR): Likewise.
32425
32426 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 32427
977329f5 324282003-02-08 NIIBE Yutaka <gniibe@m17n.org>
32429
32430 * util/resolve.c (pupa_util_resolve_dependencies): BUG
32431 FIX. Reverse the path_list.
32432
32433 * include/pupa/normal.h: Export pupa_register_command and
32434 pupa_unregister_command.
32435
32436 * hello/hello.c (pupa_cmd_hello): New module.
32437 * conf/i386-pc.rmk: Added hello.mod.
32438
1f5ab428 324392003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
32440
32441 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 32442
1f5ab428 32443 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
32444 (compress_kernel): New variable.
32445 (generate_image): Heavily modified to support compressing a
32446 large part of the core image.
32447
32448 * util/misc.c (pupa_util_read_image): Fix a file descriptor
32449 leak.
32450 (pupa_util_load_image): New function.
32451
32452 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
32453 (pupa_compressed_size): New variable.
32454 (codestart): Enable Gate A20 here.
32455 Decompress the compressed part of the core image.
32456 Rearrange the code to put functions and variables which are
32457 required for initialization in the non-compressed part.
32458 Include lzo1x.S.
32459
32460 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
32461 here.
32462
32463 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
32464
f19dbdb7 32465 * include/pupa/i386/pc/kernel.h
1f5ab428 32466 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
32467 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
32468 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32469 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32470 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
32471
32472 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
32473
32474 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
32475 (Utility#rule): Likewise.
32476
32477 * configure.ac: Check if LZO is available.
32478
ce5bf700 324792003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
32480
32481 * include/pupa/normal.h: New file.
32482 * include/pupa/setjmp.h: Likewise.
32483 * include/pupa/i386/setjmp.h: Likewise.
32484 * normal/cmdline.c: Likewise.
32485 * normal/command.c: Likewise.
32486 * normal/main.c: Likewise.
32487 * normal/menu.c: Likewise.
32488 * normal/i386/setjmp.S: Likewise.
f19dbdb7 32489
ce5bf700 32490 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
32491 (pupa_rescue_cmd_initrd): Likewise.
32492
32493 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
32494 Likewise.
32495
32496 * kern/i386/pc/startup.S (translation_table): New variable.
32497 (translate_keycode): New function.
32498 (pupa_console_getkey): Call translate_keycode.
32499
32500 * kern/rescue.c (attempt_normal_mode): New function.
32501 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
32502 it failed, print a message.
32503
32504 * kern/mm.c (pupa_real_malloc): Print more information when a
32505 free magic is broken.
32506 (pupa_free): If the first free header is not free actually, set
32507 it to P.
32508
32509 * kern/main.c (pupa_load_normal_mode): Just load the module
32510 "normal".
32511 (pupa_main): Don't print the message
32512 "Entering into rescue mode..." here.
32513
32514 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
32515 Declared.
32516 (pupa_rescue_cmd_initrd): Likewise.
32517 (pupa_rescue_cmd_initrd): Likewise.
32518
32519 * include/pupa/symbol.h (FUNCTION): Specify the type.
32520 (VARIABLE): Likewise.
32521
32522 * include/pupa/err.h (pupa_err_t): Added
32523 PUPA_ERR_UNKNOWN_COMMAND.
32524
32525 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
32526 (pupa_dl_get_prefix): Likewise.
32527
32528 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
32529 Added _chain.mod and _linux.mod instead of chain.mod and
32530 linux.mod.
32531 (chain_mod_SOURCES): Renamed to ...
32532 (_chain_mod_SOURCES): ... this.
32533 (chain_mod_CFLAGS): Renamed to ...
32534 (_chain_mod_CFLAGS): ... this.
32535 (linux_mod_SOURCES): Renamed to ...
32536 (_linux_mod_SOURCES): ... this.
32537 (linux_mod_CFLAGS): Renamed to ...
32538 (_linux_mod_CFLAGS): ... this.
32539 (normal_mod_SOURCES): New variable.
32540 (normal_mod_CFLAGS): Likewise.
32541 (normal_mod_ASFLAGS): Likewise.
32542
325432003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
32544
32545 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
32546 possible.
32547
fe6b695a 32548 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 32549 recursively.
32550 (pupa_dl_unref): Unrefer depending modules recursively.
32551 Don't call pupa_dl_unload implicitly, because PUPA can crash if
32552 a module is unloaded before one depending on that module is
32553 unloaded.
32554 (pupa_dl_unload): Unload depending modules explicitly,
32555 if possible.
32556
c04da074 325572003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
32558
32559 * include/pupa/i386/pc/linux.h: New file.
32560 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 32561
c04da074 32562 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
32563 Removed.
32564 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
32565 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
32566 of PUPA_CHAINLOADER_BOOT_SECTOR.
32567
32568 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
32569 (pupa_linux_prot_size): New variable.
32570 (pupa_linux_tmp_addr): Likewise.
32571 (pupa_linux_real_addr): Likewise.
32572 (pupa_linux_boot_zimage): New function.
32573 (pupa_linux_boot_bzimage): Likewise.
32574
32575 * kern/i386/pc/init.c (struct mem_region): New structure.
32576 (MAX_REGIONS): New macro.
32577 (mem_regions): New variable.
32578 (num_regions): Likewise.
32579 (pupa_os_area_addr): Likewise.
32580 (pupa_os_area_size): Likewise.
32581 (pupa_lower_mem): Likewise.
32582 (pupa_upper_mem): Likewise.
32583 (add_mem_region): New function.
32584 (compact_mem_regions): Likewise.
32585 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
32586 the size of the conventional memory and that of so-called upper
32587 memory (before the first memory hole).
32588 Instead of adding each found region to free memory, use
32589 add_mem_region and add them after removing overlaps.
32590 Also, add only 1/4 of the upper memory to free memory. The rest
32591 is used for loading OS images. Maybe this is ad hoc, but this
32592 makes it much easier to relocate OS images when booting.
32593
32594 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
32595 (pupa_enter_rescue_mode): Don't register initrd and module.
32596
32597 * kern/mm.c: Include pupa/dl.h.
32598
32599 * kern/main.c: Include pupa/file.h and pupa/device.h.
32600
32601 * kern/loader.c (pupa_loader_load_module_func): Removed.
32602 (pupa_loader_load_module): Likewise.
32603
32604 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
32605 ``.o''.
32606
32607 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
32608 (pupa_linux_tmp_addr): Likewise.
32609 (pupa_linux_real_addr): Likewise.
32610 (pupa_linux_boot_zimage): Likewise.
32611 (pupa_linux_boot_bzimage): Likewise.
32612
32613 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
32614 (pupa_upper_mem): Likewise.
32615 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
32616 module is too dangerous.
32617
32618 * include/pupa/loader.h (pupa_os_area_addr): Declared.
32619 (pupa_os_area_size): Likewise.
32620 (pupa_loader_set): Remove the first argument. Loader doesn't
32621 manage modules or initrd any longer.
32622 (pupa_loader_load_module): Removed.
32623
32624 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
32625 (linux_mod_SOURCES): New variable.
32626 (linux_mod_CFLAGS): Likewise.
32627
a13f9237 326282003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
32629
32630 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
32631 the length of a blocklist correctly.
32632
32633 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
32634 Use ioctl only if the OS file is a block device.
32635 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
32636 not very useful for normal files.
32637
32638 * kern/main.c (pupa_set_root_dev): New function.
32639 (pupa_load_normal_mode): Likewise.
32640 (pupa_main): Call those above.
32641
32642 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
32643 pupa_uint16_t.
32644
32645 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
32646
a5ffe966 326472003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32648
32649 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
32650 (setup): Configure the installed partition information and the
32651 dl prefix.
32652
32653 * loader/i386/pc/chainloader.c (my_mod): New variable.
32654 (pupa_chainloader_unload): New function.
32655 (pupa_rescue_cmd_chainloader): Refer itself.
32656 (PUPA_MOD_INIT): Save its own module in MY_MOD.
32657
32658 * kern/i386/pc/startup.S (install_partition): Removed.
32659 (version_string): Likewise.
32660 (config_file): Likewise.
32661 (pupa_install_dos_part): New variable.
32662 (pupa_install_bsd_part): Likewise.
32663 (pupa_prefix): Likewise.
32664 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
32665
32666 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
32667 and pupa/misc.h.
32668 (make_install_device): New function.
32669 (pupa_machine_init): Set the dl prefix.
32670
32671 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
32672 (buf): Renamed to ...
32673 (linebuf): ... this.
32674 (pupa_rescue_cmd_prefix): New function.
32675 (pupa_rescue_cmd_insmod): Likewise.
32676 (pupa_rescue_cmd_rmmod): Likewise.
32677 (pupa_rescue_cmd_lsmod): Likewise.
32678 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
32679 rmmod and lsmod.
32680
32681 * kern/mm.c (pupa_memalign): If failed even after invalidating
32682 disk caches, unload unneeded modules and retry.
32683
32684 * kern/misc.c (pupa_memmove): New function.
32685 (pupa_memcpy): Removed.
32686 (pupa_strcpy): New function.
32687 (pupa_itoa): Made static.
32688
32689 * kern/dl.c (pupa_dl_iterate): New function.
32690 (pupa_dl_ref): Likewise.
32691 (pupa_dl_unref): Likewise.
32692 (pupa_dl_unload): Return if succeeded or not.
32693 (pupa_dl_unload_unneeded): New function.
32694 (pupa_dl_unload_all): Likewise.
32695 (pupa_dl_init): Renamed to ...
32696 (pupa_dl_set_prefix): ... this.
32697 (pupa_dl_get_prefix): New function.
32698
32699 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
32700 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
32701 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32702 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32703 (pupa_install_dos_part): Declared.
32704 (pupa_install_bsd_part): Likewise.
32705 (pupa_prefix): Likewise.
32706 (pupa_boot_drive): Likewise.
32707
32708 * include/pupa/types.h: Fix a typo.
32709
32710 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
32711 pupa_memmove.
32712 (pupa_memmove): Declared.
32713 (pupa_strcpy): Likewise.
32714
32715 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
32716 pupa_mod_init takes one argument, its own module.
32717 (pupa_dl_unload_unneeded): Declared.
32718 (pupa_dl_unload_all): Likewise.
32719 (pupa_dl_ref): Likewise.
32720 (pupa_dl_unref): Likewise.
32721 (pupa_dl_iterate): Likewise.
32722 (pupa_dl_init): Renamed to ...
32723 (pupa_dl_set_prefix): ... this.
32724 (pupa_dl_get_prefix): Declared.
32725
32726 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 32727 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 32728 unloaded.
32729 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
32730 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
32731
32732 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
32733 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
32734
012d7999 327352003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32736
32737 * util/i386/pc/pupa-setup.c (setup): Define the internal
32738 function find_first_partition_start at the top level, because GCC
32739 3.0.x cannot compile internal functions in deeper scopes
32740 correctly.
32741 (find_root_device): Use lstat instead of stat.
32742 Don't follow symbolic links.
32743 Fix the path-constructing code.
32744
32745 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
32746 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
32747 by a BLKGETSIZE ioctl first, because block devices don't fill
32748 the member st_mode of the structure stat on Linux.
32749 [__linux__] (linux_find_partition): Use a temporary buffer
32750 REAL_DEV for the working space. Copy it to DEV before returning.
32751 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
32752 buffer cache consistent.
32753 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
32754 strncmp. The previous value was merely wrong.
32755 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
32756
32757 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
32758 FAT size is 12. The previous value was merely wrong.
32759
32760 * kern/main.c (pupa_main): Don't split the starting message from
32761 newlines.
32762
32763 * kern/term.c (pupa_putchar): Put CR after LF instead of before
32764 LF, because BIOS goes crazy about character attributes in this
32765 case.
32766
1cc73a62 327672003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32768
32769 * include/i386/pc/util/biosdisk.h: New file.
32770 * util/i386/pc/biosdisk.c: Likewise.
32771 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 32772
1cc73a62 32773 * Makefile.in (INCLUDE_DISTFILES): Added
32774 include/pupa/i386/pc/util/biosdisk.h.
32775 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
32776 directory util/i386/pc.
32777 (install-local): Added a rule for sbin_UTILITIES.
32778 (uninstall): Likewise.
32779
32780 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
32781
32782 * util/misc.c (xrealloc): New function.
32783 (pupa_malloc): Likewise.
32784 (pupa_free): Likewise.
32785 (pupa_realloc): Likewise.
32786 (pupa_stop): Likewise.
32787 (pupa_putchar): Likewise.
32788
32789 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
32790
32791 * include/pupa/util/misc.h (xrealloc): Declared.
32792
32793 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
32794 macro.
32795 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
32796 (PUPA_BOOT_MACHINE_BPB_END): ... this.
32797
32798 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
32799 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32800
32801 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
32802 way should be implemented.
32803 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32804
32805 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
32806 the size of NAME for safety.
32807 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
32808 0x88.
32809
32810 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
32811 (pupa_setup_SOURCES): Likewise.
32812
32813 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
32814
08b70fe8 328152002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32816
32817 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
32818 bunch of pushl's from pusha, because this destroys the return
32819 value.
32820
62ddcc8f 328212002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32822
32823 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
32824 This means that any missing prototypes could be fatal. Also, you
32825 must take care when writing assembly code. See the comments at
32826 the beginning of startup.S, for more details.
f19dbdb7 32827
62ddcc8f 32828 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
32829 compilation mechanism.
32830 (pupa_chainloader_real_boot): Likewise.
32831 (pupa_biosdisk_rw_int13_extensions): Likewise.
32832 (pupa_biosdisk_rw_standard): Likewise.
32833 (pupa_biosdisk_check_int13_extensions): Likewise.
32834 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
32835 (pupa_biosdisk_get_diskinfo_standard): Likewise.
32836 (pupa_get_memsize): Likewise.
32837 (pupa_get_mmap_entry): Likewise.
32838 (pupa_console_putchar): Likewise.
32839 (pupa_console_setcursor): Likewise.
32840 (pupa_getrtsecs): Use pushl instead of push.
32841
32842 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
32843 memory instead of the stack for a mmap entry, because some
32844 BIOSes may ignore the maximum size and overflow.
32845
32846 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
32847
32848 * genmk.rb (PModule#rule): Compile automatically generated
32849 sources with module-specific CFLAGS as well as other sources.
32850
9962ed99 328512002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32852
32853 * configure.ac: Check ld.
32854 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
32855 respectively, before checking endianness and sizes.
32856
32857 * Makefile.in (LD): New variable.
f19dbdb7 32858
abdfc3c5 328592002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32860
32861 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
32862
6a161fa9 328632002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32864
32865 * Changelog: New file.
32866