]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
[grub2.git] / ChangeLog
CommitLineData
6c8d3002
VS
12010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
4 synonym to _S5_. Needed for some DSDTs.
5
c32b51c9
VS
62010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7
8 Userspace ACPI parser debugging.
9
10 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11 headers and add relevant defines. Don't include standard headers.
12 (main) [GRUB_DSDT_TEST]: New function.
13 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14 Don't declare functions.
15
fbfbeb39
VS
162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17
18 Remove dead grub_efi_mm_fini.
19
20 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21 (ALLOCATED_PAGES_SIZE): Likewise.
22 (MAX_ALLOCATED_PAGES): Likewise.
23 (allocated_pages): Likewise.
24 (grub_efi_allocate_pages): Don't record allocated pages.
25 (grub_efi_free_pages): Likewise.
26 (grub_efi_mm_init): Likewise.
27 (grub_efi_mm_fini): Removed.
28
65f7ed7c
VS
292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
32 (grub_efi_mm_init): Take into account the memory map size increase.
33
24977b44
VS
342010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
37 (serial_hw_put): Wait based on real time rather than port reads. Don't
38 roken ports.
39 * include/grub/serial.h (grub_serial_port): New field broken.
40
1eb01cd2
RM
412010-10-16 Robert Millan <rmh@gnu.org>
42
43 * grub-core/kern/emu/misc.c
44 (grub_make_system_path_relative_to_its_root): Fix premature return
45 when processing non-root ZFS filesystems.
5f8b440b 46 Reported by Sergio Talens-Oliag.
1eb01cd2 47
2d5fed60
RM
482010-10-15 Robert Millan <rmh@gnu.org>
49
50 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
51 guarantee compressed ones are processed first.
52
d0f4c1ea
VS
532010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
56 grub_efiemu_autocore.
57
d87c681f
VS
582010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
61 rather than 0x1b.
62 (grub_console_getkey): Use correct jae opcode rather than ja.
63
219b3564
RM
642010-10-12 Robert Millan <rmh@gnu.org>
65
66 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
67 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
68 variable. All references updated.
69
70 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
71
20c6bb7e
VS
722010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
73
74 Correctly distinguish mdraid flavours.
75
76 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
77 (insert_array): New argument raid.
78 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
79 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
80 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
81
74baff84
VS
822010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
85 handling of special keys.
86
3ef068df 872010-10-02 Aleš Nesrsta <starous@volny.cz>
88
c7980ad9
VS
89 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
90 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 91
a9455194 922010-10-02 Aleš Nesrsta <starous@volny.cz>
93
c7980ad9
VS
94 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
95 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
96 users updated.
a9455194 97 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 98 Use right endpoint when querying descriptor.
a9455194 99
441cfe65
VS
1002010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Clear out 0x80 color bit on EFI.
103 Tested by: decoder
104 Reported by: decoder and meta tech.
105
106 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
107 (grub_console_setcolorstate): Clear out 0x80 bit.
108 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
109 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
110 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
111
bf26bcc4
VS
1122010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
115 Set to "auto".
116
6e3c515d
VS
1172010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
120 mo_file after freeing.
121
e6d983ba
VS
1222010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
125
74ccb5b5
VS
1262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
129 flags.
130
17821956
VS
1312010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
134 usage.
135
ee74fa48
VS
1362010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
137
138 Put terminfo into core on ieee1275 and yeeloong (needed for console).
139
140 * gentpl.py: New groups terminfoinkernel and terminfomodule.
141 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
142 and terminfo.h when needed.
143 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
144 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
145 (terminfo): Enable only on terminfokernel.
146 (extcmd): Likewise.
147 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
148 * include/grub/lib/arg.h: Likewise.
149 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
150 incorrect usage of ->.
151
aa438e68
VS
1522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
155 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
156
57994012
VS
1572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
158
159 Fix coreboot compilation.
160
161 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
162 Take VBE info into account even if only text is supported.
163 (fill_vbe_info): Take into account the case when only VGA text
164 is supported.
165 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
166 on coreboot, multiboot and qemu.
167
2a406611
VS
1682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
171 debug messages.
172 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
173
d33613fc
VS
1742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
177 parameters.
178
44a1b432
VS
1792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
182 if they were BSD-style.
183
edde54e6
VS
1842010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/boot/i386/pc/lnxboot.S: Replace
187 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
188 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
189
b65830fa
VS
1902010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Write embedding zone using Reed-Solomon.
193
194 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
195 * grub-core/Makefile.am (rs_decoder.S): New target.
196 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
197 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
198 (multiboot): Move to RS part.
199 (post_reed_solomon): New label.
200 (grub_boot_drive): Move to non-RS part since it's modified in memory
201 on boot.
202 Include rs_decoder.S.
203 * grub-core/lib/reed_solomon.c: New file.
204 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
205 New definition.
206 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
207 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
208 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
209 * include/grub/partition.h (grub_partition_map): Change prototype of
210 embed to allow returning additional sectors.
211 * include/grub/reed_solomon.h: New file.
212 * util/grub-setup.c (setup): Handle Reed-Solomon.
213
0b4b227f
CW
2142010-09-28 Colin Watson <cjwatson@ubuntu.com>
215
216 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
217 i386 and x86-64 definedness tests.
218
f772623b
YB
2192010-09-27 Yves Blusseau <blusseau@zetam.org>
220
221 Fix generation of kernel_syms.lst
222
223 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
224 ASM_PREFIX
225
8e57a6ca
RM
2262010-09-26 Robert Millan <rmh@gnu.org>
227
228 Support degraded ZFS arrays in "grub-probe -t device" resolution.
229
230 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
231 the pool is an array of devices, iterate through it and return the
232 first device that passes a stat() test (instead of blindly returning
233 the first one).
234
f9130836
RM
2352010-09-26 Robert Millan <rmh@gnu.org>
236
237 Build fixes for GNU/kFreeBSD.
238
239 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
240 to programs that require ZFS conversion.
241 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
242 kernels that don't have FLOPPY_MAJOR.
243
96510faf
BC
2442010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
245
246 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
247
449333eb
BC
2482010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
249
250 Fix grub-emu build.
251
252 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
253 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
254 mdraid09 and mdraid1x.
255
e1fd1939
CW
2562010-09-24 Colin Watson <cjwatson@ubuntu.com>
257
258 Re-enable grub-extras.
259
260 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
261 avoid confusing Automake. Run autogen only twice, once for the top
262 level and once for grub-core. Add Makefile.util.def and
263 Makefile.core.def from extra modules to the appropriate autogen
264 invocations. If Makefile.common exists in an extra module, include
265 it in both Makefile.util.am and grub-core/Makefile.core.am;
266 similarly, include any Makefile.util.common file in Makefile.util.am
267 and any Makefile.core.common file in grub-core/Makefile.core.am.
268 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
269 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
270 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
271 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
272
273 * gentpl.py (gvar_add): Turn GVARS into a set.
274 (global_variable_initializers): Sort global variables on output.
275 (vars_init): New function.
276 (first_time): Likewise.
277 (library): Ensure that non-global variable initialisations are
278 emitted before the first time we emit code for a library block.
279 Append to variables rather than setting them. Only emit
280 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
281 each conditional path.
282 (program): installdir() emits an Autogen macro, so must be passed to
283 var_add rather than gvar_add.
284 (data): Likewise.
285 (script): Likewise.
286 (rules): New function, centralising handling for different target
287 types. Set up Guile association lists for first_time and vars_init,
288 and send most output to a diversion so that variable initialisations
289 can be emitted first.
290 (module_rules): Use new rules function.
291 (kernel_rules): Likewise.
292 (image_rules): Likewise.
293 (library_rules): Likewise.
294 (program_rules): Likewise.
295 (script_rules): Likewise.
296 (data_rules): Likewise.
297
298 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
299
300 * .bzrignore: Add contrib and grub-core/contrib. Remove
301 grub-core/Makefile.gcry.am.
302
1d12cf29
YB
3032010-09-24 Yves Blusseau <blusseau@zetam.org>
304
305 * grub-core/lib/LzFind.c: Add missing include.
306 * grub-core/lib/LzmaEnc.c: Likewise.
307 * grub-core/script/lexer.c: Likewise.
308 * grub-core/script/yylex.l: Likewise.
309 * util/grub-macho2img.c: Likewise.
310 * util/grub-menulst2cfg.c: Likewise.
311 * util/grub-mklayout.c: Likewise.
312 * util/grub-mkpasswd-pbkdf2.c
313 * util/grub-mkrelpath.c: Likewise.
314 * util/resolve.c: Likewise.
315
dd363028
BC
3162010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
317
318 * Makefile.util.def (example_unit_test): Add
319 grub-core/gnulib/libgnu.a.
320
f5a109e2
GS
3212010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
322
323 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
324
6d0fa83c
VS
3252010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
326
327 Support xz compression on yeeloong.
328
329 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
330 * configure.ac: Check for LZMA.
331 * grub-core/Makefile.core.def (xz_decompress): New target.
332 (none_decompress): Likewise.
333 * grub-core/boot/decompressor/minilib.c: New file.
334 * grub-core/boot/decompressor/none.c: Likewise.
335 * grub-core/boot/decompressor/xz.c: Likewise.
336 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
337 * grub-core/kern/mips/cache_flush.S: Likewise.
338 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
339 * grub-core/kern/mips/startup.S: Move first stage to ...
340 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
341 nomacro.
342 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
343 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
344 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
345 Allocate statically.
346 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
347 Allocate statically or use scratch. Don't check CRC32.
348 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
349 Allocate statically. Don't check CRC32.
350 * include/grub/decompressor.h: New file.
351 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
352 Removed.
353 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
354 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
355 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
356 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
357 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
358 * util/grub-mkimage.c (grub_compression_t): New type.
359 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
360 (image_target_desc): New field default_compression.
361 (image_targets): Adjust yeeloong targets.
362 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
363 (compress_kernel): New parameter comp.
364 (generate_image): Likewise. Handle new compression case.
365 (options): New option --compression
366 (help): Likewise.
367 (main): Handle new option.
368
1b655af6
GS
3692010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
370
371 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
372
8f03f0b5
CW
3732010-09-22 Colin Watson <cjwatson@ubuntu.com>
374
375 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
376 typo in __i386__ conditional.
377
7835dfd3
VS
3782010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
381 include.
382
e255597e
VS
3832010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
384
6d0fa83c 385 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
386
387 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
388 new tags as supported.
389 (acpiv2_size): New function.
390 (grub_multiboot_get_mbi_size): Take new tags into account.
391 (grub_multiboot_make_mbi): Add new tags.
392 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 393
6cc14051 3942010-09-21 Aleš Nesrsta <starous@volny.cz>
395
396 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
397 Added missing configuration of USB device.
398
df7769d8
CW
3992010-09-21 Colin Watson <cjwatson@ubuntu.com>
400
401 * grub-core/normal/menu_entry.c (run): Make sure we always return
402 a value.
403
b031012d
CW
4042010-09-21 Colin Watson <cjwatson@ubuntu.com>
405
406 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
407 NumberOfPages is UINT64 according to the UEFI specification, not
408 UINTN. Fix printf format.
409
174de8f3
CW
4102010-09-21 Colin Watson <cjwatson@ubuntu.com>
411
412 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
413 `err' to grub_usb_err_t.
414 Reported and tested by: KESHAV P.R.
415
d7dbe923
CW
4162010-09-21 Colin Watson <cjwatson@ubuntu.com>
417
418 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
419 tpart non-const, so that we can assign to it. (Since this is a
420 typedef, the constness refers to the pointer rather than what it
421 points to.)
422
8d5e2af3
CW
4232010-09-21 Colin Watson <cjwatson@ubuntu.com>
424
425 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
426 $(top_srcdir)/grub-core/gnulib as well as
427 $(top_builddir)/grub-core/gnulib.
428 Reported by: KESHAV P.R.
429
5c527783
CW
4302010-09-21 Colin Watson <cjwatson@ubuntu.com>
431
432 * util/grub-install.in: Fix the bootloader ID option to be
433 consistently --bootloader-id, not --bootloader_id.
434 Reported by: KESHAV P.R.
435
d309a16e
CW
4362010-09-21 Colin Watson <cjwatson@ubuntu.com>
437
438 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
439 check hash checksum." consistently translatable.
440
b830cd16
YB
4412010-09-21 Yves Blusseau <blusseau@zetam.org>
442
443 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
444 $(top_builddir).
445
c4fe27a8
CW
4462010-09-21 Colin Watson <cjwatson@ubuntu.com>
447
448 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
449 (GRUB_MOD_INIT): Register sha1sum command.
450 (GRUB_MOD_FINI): Unregister sha1sum command.
451
a4c1d277
YB
4522010-09-21 Yves Blusseau <blusseau@zetam.org>
453
454 Keep boot and grub directory names in sync with utils scripts
455
456 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
457 * config.h.in: Add previous macros.
458 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
459 * util/grub-install.in: Use $bootdir and $grubdir variables.
460
4eff79d2
CW
4612010-09-21 Colin Watson <cjwatson@ubuntu.com>
462
463 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
464 convert partition names to disk names if the new `convert' parameter
465 is set.
466 (grub_util_biosdisk_get_grub_dev): If opening the disk device
467 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
468 disk in its own right. This can happen with Xen disk images.
469
934d7e44
YB
4702010-09-21 Yves Blusseau <blusseau@zetam.org>
471
472 * util/grub-editenv.c: Update strings to avoid warnings when generating
473 grub.pot file.
474 * util/grub-setup.c: Likewise.
934d7e44 475
df3367cc
VS
4762010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * configure.ac: Change version to 1.99~beta0.
479
77a94e98
VS
4802010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
483 Add BADRAM.
484 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
485 Likewise.
486 * include/multiboot.h: Resynced with specification.
487 * include/multiboot2.h: Likewise.
488
269004c1
CW
4892010-09-21 Colin Watson <cjwatson@ubuntu.com>
490
491 Fix po directory handling.
492
493 * configure.ac: Create po/Makefile.in rather than po/Makefile.
494 * grub-core/gnulib/Makefile.am: Import gettext module.
495 * m4/gnulib-cache.m4: Likewise.
496 * m4/gnulib-comp.m4: Likewise.
497 * m4/gettext.m4: New file, from gnulib.
498 * m4/glibc2.m4: Likewise.
499 * m4/iconv.m4: Likewise.
500 * m4/intdiv0.m4: Likewise.
501 * m4/intl.m4: Likewise.
502 * m4/intldir.m4: Likewise.
503 * m4/intlmacosx.m4: Likewise.
504 * m4/intmax.m4: Likewise.
505 * m4/inttypes-pri.m4: Likewise.
506 * m4/lcmessage.m4: Likewise.
507 * m4/lib-ld.m4: Likewise.
508 * m4/lib-link.m4: Likewise.
509 * m4/lib-prefix.m4: Likewise.
510 * m4/lock.m4: Likewise.
511 * m4/nls.m4: Likewise.
512 * m4/po.m4: Likewise.
513 * m4/printf-posix.m4: Likewise.
514 * m4/progtest.m4: Likewise.
515 * m4/threadlib.m4: Likewise.
516 * m4/uintmax_t.m4: Likewise.
517 * m4/visibility.m4: Likewise.
518 * po/Makefile.am: Remove.
519 * po/Makefile.in.in: New file, from gettext.
520 ($(DOMAIN).pot-update): Support POTFILES-shell.
521 * po/Makevars: New file.
522 * po/POTFILES-shell: Rename to ...
523 * po/POTFILES-shell.in: ... this. Update.
524 * po/POTFILES: Rename to ...
525 * po/POTFILES.in: ... this. Update.
526 * po/Rules-quot: New file, from gettext.
527 * po/boldquot.sed: Likewise.
528 * po/en@boldquot.header: Likewise.
529 * po/en@quot.header: Likewise.
530 * po/insert-header.sin: Likewise.
531 * po/quot.sed: Likewise.
532 * po/remove-potcdate.sin: Likewise.
533
3e0fa5d0
VS
5342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
537
ade9bd66
VS
5382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * util/grub.d/20_linux_xen.in: Use submenus.
541
fc55cc4c
VS
5422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
543
544 Support submenus.
545
546 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
547 parameter submenu. All users updated.
548 * grub-core/normal/main.c (free_menu): Rename to ...
549 (grub_normal_free_menu): ... this. Made global.
550 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
551 if requested.
552 * grub-core/normal/menu_entry.c (screen): New field submenu.
553 (make_screen): Set submenu.
554 (run): Open new context if requested.
555 * include/grub/menu.h (grub_menu_entry): New field submenu.
556 * include/grub/normal.h (grub_normal_free_menu): New proto.
557
600cedf7
VS
5582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
559
560 Menu entries extractor.
561
562 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
563 variants.
564 (GRUB_MOD_INIT): Register new variants.
565 (GRUB_MOD_FINI): Unregister new variants.
566 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
567 into grub_cmd_legacy_source.
568 (grub_cmd_legacy_source): Implement extractor variants.
569 (GRUB_MOD_INIT): Register new variants.
570 (GRUB_MOD_FINI): Unregister new variants.
571 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
572 as an extractor.
573 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
574 search as an extractor.
575 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
576 test as an extractor.
577 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
578 as an extractor.
579 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
580 (grub_env_new_context): New function.
581 (grub_env_context_open): Likewise.
582 (grub_env_extractor_open): Likewise.
583 (grub_env_extractor_close): Likewise.
584 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
585 grub_extractor_level.
586 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
587 * include/grub/env.h (grub_env_extractor_open): New proto.
588 (grub_env_extractor_close): Likewise.
589 * include/grub/normal.h (grub_extractor_level): New external variable.
590
7bda3a87
VS
5912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
592
593 Make cutmem accept a region specification.
594 Suggested by: Samuel Thibault
595
596 * grub-core/mmap/mmap.c (parsemem): New function.
597 (grub_cmd_cutmem): Handle new arguments.
598
2ea57f88
VS
5992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
600
601 New command cutmem.
602
603 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
604 (GRUB_MOD_INIT): Register new command.
605 (GRUB_MOD_FINI): Unregister new command.
606
74342e31
VS
6072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
608
609 Support some annoying BSD and Minix subpartitions.
610
611 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
612 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
613 Properly handle concatenation.
614 * grub-core/kern/device.c (grub_device_iterate): Likewise.
615 * grub-core/normal/completion.c (iterate_partition): Likewise.
616 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
617 contain partition. All users updated.
618 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
619 struct.
620 (grub_openbsdlabel_partition_map): Likewise.
621 (bsdlabel_partition_map_iterate): Rename to ..
622 (iterate_real): ... this. New arguments sector, freebsd and pmap.
623 (bsdlabel_partition_map_iterate): New function.
624 (netopenbsdlabel_partition_map_iterate): Likewise.
625 (netbsdlabel_partition_map_iterate): Likewise.
626 (openbsdlabel_partition_map_iterate): Likewise.
627 (GRUB_MOD_INIT): Register new partmaps.
628 (GRUB_MOD_FINI): Unregister new partmaps.
629 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
630 (grub_partition_msdos_iterate): ... this. All users updated.
631 Don't support embedding other than in a minix partition.
632 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
633 proto.
634 * include/grub/partition.h (grub_partition): New field msdostype.
635 * util/grub-install.in: Handle openbsd and netbsd types being in
636 part_bsd module.
637
1e8d555b
VS
6382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
639
640 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
641
642 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
643 * grub-core/Makefile.core.def (mdraid): Renamed to ...
644 (mdraid09): ... this.
645 (mdraid1x): New module.
646 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
647 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
648
899d8af4
VS
6492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
652 vsprintf.
653
40901acd
CW
6542010-09-20 Colin Watson <cjwatson@ubuntu.com>
655
656 * grub-core/commands/efi/lsefimmap.c: Correct header.
657 * NEWS: Update.
658
dfe3b247
CW
6592010-09-20 Colin Watson <cjwatson@ubuntu.com>
660
661 * util/grub-editenv.c (argp_parser): Don't pass translated strings
662 as printf format strings; the translations might contain '%' which
663 could cause a crash.
664 (main): Likewise.
665 * util/grub-fstest.c (argp_parser): Likewise.
666 * util/grub-setup.c (argp_parser): Likewise.
667 (main): Likewise.
668
3286a4b4
VS
6692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
670
671 Use argp in grub-fstest.
672
673 * util/grub-fstest.c: Don't include getopt.h.
674 Include argp.h.
675 (root): New variable.
676 (args_count): Likewise.
677 (nparm): Likewise.
678 (num_disks): Likewise.
679 (images): Likewise.
680 (cmd): Likewise.
681 (debug_str): Likewise.
682 (args): Likewise.
683 (options): Transformed to argp.
684 (usage): Removed.
685 (main): Split argument parsing into ...
686 (argp_parser): ... this. Changed to argp format.
687 (argp): New variable.
688 (main): Use argp_parse.
689
3dccbe4b
TG
6902010-09-20 Tristan Gingold <gingold@free.fr>
6912010-09-20 Robert Millan <rmh.grub@aybabtu.com>
6922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/commands/efi/lsefimmap.c: New file.
695 * grub-core/Makefile.core.def (lsefimmap): New module.
696 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
697
38c259a7
VS
6982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
699
700 Pause the execution (10s max) if any errors are displayed so the user
701 has a chance to see them.
702
703 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
704 (grub_print_error): Increment grub_err_printed_errors.
705 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
706 execution if any errors were displayed.
707 (show_menu): Remove old code for pause.
708 * grub-core/normal/menu_entry.c (run): Likewise.
709 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
710 users updated.
711 (grub_normal_get_char_counter): Likewise.
712 * include/grub/err.h (grub_err_printed_errors): New external variable.
713 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
714
f218b09c
VS
7152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
716
717 Support multiboot VBE info.
718
719 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
720 Take VBE info into account.
721 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
722 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
723 Call fill_vbe_info when appropriate.
724 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
725 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
726 as supported.
727 (grub_multiboot_get_mbi_size): Take new tags into account.
728 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
729 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
730 Call fill_vbe_tag when appropriate.
731 (grub_multiboot_make_mbi): Properly align tags.
732 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
733 function.
734 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
735 proto.
736 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
737
a9cc5438
VS
7382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
739
740 Suport manual terminal geometry specification.
741
742 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
743 Save state in grub_ofconsole_terminfo_output.
744 (grub_ofconsole_term): Use grub_terminfo_getwh.
745 (grub_ofconsole_getwh): Removed.
746 * grub-core/term/serial.c (grub_serial_getwh): Removed.
747 (grub_serial_term): Use grub_terminfo_getwh.
748 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
749 (options): New struct.
750 (OPTION_*): New enum.
751 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
752 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
753 width and height.
754 (grub_terminfo_getwh): New proto.
755 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
756
1a8fed20
VS
7572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
758
759 Handle legacy "terminal" command.
760
761 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
762 and FLAG_TERMINAL.
763 (legacy_commands): Add terminal and title.
764 (grub_legacy_parse): Handle terminal. Simplify title handling.
765
41e9c57d
VS
7662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
769 parameters overflow.
770
61c874c5
CW
7712010-09-20 Colin Watson <cjwatson@ubuntu.com>
772
773 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
774 widthspec.h.
775
776 * docs/grub.texi (Shell-like scripting): Document `!'.
777 (Network): Simplify using new i386-pc-pxe format. Mention
778 grub-mknetdir.
779
780 * NEWS: Update.
781
943682b4
CW
7822010-09-20 Colin Watson <cjwatson@ubuntu.com>
783
784 * Makefile.am (SUBDIRS): Restore "."; it's important to force
785 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
786 when needed.
787
6d3d698d
CW
7882010-09-20 Colin Watson <cjwatson@ubuntu.com>
789
790 * grub-core/commands/efi/lsefisystab.c: Correct header.
791 * grub-core/commands/efi/lssal.c: Likewise.
792 * grub-core/commands/testload.c: Likewise.
793
c982589f
CW
7942010-09-20 Colin Watson <cjwatson@ubuntu.com>
795
796 * util/grub-mkrescue.in: Add explicit root argument to --set to
797 prevent the UUID being interpreted as an argument to --set (matches
798 previous change to prepare_grub_to_access_device).
799
a63c31b6
CW
8002010-09-20 Colin Watson <cjwatson@ubuntu.com>
801
802 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
803 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
804 the verbosity of later #ifs.
805 (find_partition_start): Define this function on FreeBSD too.
806 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
807 function.
808 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
809 on FreeBSD.
810
6439b8ee
YB
8112010-09-20 Yves Blusseau <blusseau@zetam.org>
812
813 * util/grub-editenv.c: Use argp instead of getopt.
814
c5930ec8
YB
8152010-09-20 Yves Blusseau <blusseau@zetam.org>
816
817 * util/grub-setup.c: Use argp instead of getopt.
818
15c69261
YB
8192010-09-20 Yves Blusseau <blusseau@zetam.org>
820
821 Use gnulib-tool to create gnulib source files.
822
823 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
824 grub-core/gnulib directories
825 * .bzignore: Add **/.deps and autogenerated gnulib files
826 * configure.ac: Assign auxiliary directory to build-aux, add invocation
827 of gnulib macros, add grub-core/gnulib/Makefile
828 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
829 include m4 directory to aclocal.
830 * Makefile.util.def: Remove direct compilation of gnulib source files
831 and use the new grub-core/gnulib/libgnu.a.
832 * build-aux/config.rpath: move config.rpath from top directory to
833 build-aux
834 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
835 in gnulib headers
836 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
837 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
838 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
839 header.
840 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
841 string.
842
e511c9f5
YB
8432010-09-20 Yves Blusseau <blusseau@zetam.org>
844
845 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
846 grub-core/genmod.sh and grub-core/gensyminfo.sh
847
c2dede05
BC
8482010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
849
850 Add a test for echo command options.
851
852 * tests/grub_cmd_echo.in: New test.
853 * Makefile.util.def: Rules for new test.
854
c55f5018
SJ
8552010-09-20 Szymon Janc <szymon@janc.net.pl>
856
857 Remove crc.mod and move crc command to hashsum.mod.
858 Remove lib/crc.c - users updated to use gcrypt implementation.
859
860 * grub-core/commands/crc.c: Removed.
861 * grub-core/Makefile.core.def (crc): Module removed.
862 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
863 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
864 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
865 * grub-core/lib/crc.c: Removed.
866 * include/grub/lib/crc.h: Removed.
867 * Makefile.util.def (crc): Remove lib/crc.c
868 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
869 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
870 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
871 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
872 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
873 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
874
e0337366
VS
8752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
878
742f9232
VS
8792010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
880
881 Split config.h for util and core.
882
883 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
884 (ADDR32): Likewise.
885 (DATA32): Likewise.
886 (BSS_START_SYMBOL): Likewise.
887 (END_SYMBOL): Likewise.
888 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
889 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
890 * config.h.in: New file.
891 * configure.ac: Use config-util.h as config define file.
892 Rename MACHINE into GRUB_MACHINE. All users updated.
893 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
894 updated.
895 (NESTED_FUNC_ATTR): Likewise.
896 Substitue new variables.
897 (COND_HAVE_ASM_USCORE): New conditional.
898 * grub-core/Makefile.am (ASM_PREFIX): New variable.
899 (kernel_syms.lst): Use ASM_PREFIX.
900 * grub-core/kern/emu/console.c: Include config-util.h.
901 * grub-core/kern/emu/misc.c: Likewise.
902 * grub-core/kern/emu/mm.c: Likewise.
903 * include/grub/emu/misc.h: Likewise.
904 * include/grub/libgcc.h: Likewise.
905
39feb0e8
VS
9062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
909 constants usage.
910 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
911 Fix GRUB_TERM_KEY_* constants usage.
912 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
913
9af6dac3
VS
9142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
917 print pointer.
918 * grub-core/bus/usb/uhci.c: Remove empty define.
919 (grub_uhci_check_transfer): Add missing cast.
920 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
921 print pointer.
922 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
923 PRIuGRUB_SIZE.
924 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
925
d6d94820
VS
9262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * grub-core/Makefile.core.def (legacycfg): Add
929 lib/i386/pc/vesa_modes_table.c on emu.
930
3572f2b6
BC
9312010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
932
933 Reduce number of temporary files generated by build system.
934
935 * grub-core/gencmdlist.sh: Removed.
936 * grub-core/genfslist.sh: Removed.
937 * grub-core/genhandlerlist.sh: Removed.
938 * grub-core/genmodsrc.sh: Removed.
939 * grub-core/genpartmaplist.sh: Removed.
940 * grub-core/genparttoollist.sh: Removed.
941 * grub-core/gentermiinallist.sh: Removed.
942 * grub-core/genvideolist.sh: Removed.
943
944 * grub-core/genmod.sh.in: New file.
945 * grub-core/gensyminfo.sh.in: New file.
946
947 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
948 * conf/Makefile.extra-dist: Update with new files.
949 * gentpl.py: Remove rules related to unnecessary temporary files.
950 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
951 and und-* files.
952 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
953 genmod.sh scripts.
954 * grub-core/bus/usb/uhci.c: Remove empty #define.
955 * grub-core/genmoddep.awk: Updated with new syminfo format.
956 * util/bash-completion.d/Makefile.am: Add config.log to
957 CLEANFILES.
958
c836b030
YB
9592010-09-19 Yves Blusseau <blusseau@zetam.org>
960
961 * Makefile.util.def: Add forgotten $(LIBINTL) library.
962
2f4e8053
BC
9632010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
964
965 * util/grub-mkconfig.in: Check the config script for syntax errors
966 before saving.
967
75831c34
CW
9682010-09-19 Colin Watson <cjwatson@ubuntu.com>
9692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * Makefile.util.def (grub-install): Use util/grub-install.in on all
972 platforms.
973 * util/grub-install.in: Add EFI and IEEE1275 support.
974 * util/i386/efi/grub-install.in: Removed.
975 * util/ieee1275/grub-install.in: Likewise.
976
eaf41b25
VS
9772010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
980 (grub_cmd_cmosclean): Likewise.
981 (GRUB_MOD_INIT): Register command cmosclean.
982 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
983 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
984
1a9130dd
CPE
9852010-09-18 Carles Pina i Estany <carles@pina.cat>
9862010-09-18 Aleš Nesrsta <starous@volny.cz>
9872010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
988
989 Add keyboard layouts support.
990
991 * Makefile.util.def (grub-mklayout): New file.
992 (grub-kbdcomp): New script.
993 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
994 Add keyboard_layouts.h.
995 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
996 commands/boot.c on yeeloong.
997 (keylayouts): New module.
998 * grub-core/bus/usb/ohci.c
999 * grub-core/bus/usb/uhci.c
1000 * grub-core/bus/usb/usbhub.c (rescan): New variable.
1001 (grub_usb_add_hub): Poll interrupt pipe for device handling.
1002 (attach_root_port): Likewise.
1003 (poll_nonroot_hub): Likewise.
1004 (grub_usb_poll_devices): Likewise.
1005 (detach_device): Close transfer.
1006 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
1007 function.
1008 (grub_usb_bulk_setup_readwrite): Likewise.
1009 (grub_usb_bulk_finish_readwrite): Likewise.
1010 * grub-core/commands/keylayouts.c: New file.
1011 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
1012 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
1013 aliases.
1014 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
1015 support scancode 2.
1016 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
1017 * include/grub/keyboard_layouts.h: New file.
1018 * util/grub-mklayout.c: New file.
1019 * util/grub-kbdcomp.in: Likewise.
1020
a1d84a5e
VS
10212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 Unify memory types.
1024
1025 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
1026 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
1027 types.
1028 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
1029 (grub_upper_mem): Likewise.
1030 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
1031 * include/grub/memory.h (grub_memory_type_t): New enum.
1032 All users updated.
1033
9696382e
VS
10342010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/Makefile.core.def (lsapm): New module.
1037 * grub-core/commands/i386/pc/lsapm.c: New file.
1038 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
1039 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
1040 Likewise.
1041 * include/grub/i386/pc/apm.h: New file.
1042 * include/multiboot.h (multiboot_apm_info): New struct.
1043
10442010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 GRUB-legacy configuration file support.
1047
1048 * Makefile.util.def (grub-menulst2cfg): New util.
1049 * docs/man/grub-menulst2cfg.h2m: New file.
1050 * grub-core/Makefile.core.def (legacycfg): New module.
1051 * grub-core/commands/legacycfg.c: New file.
1052 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
1053 (grub_normal_add_menu_entry): ... this.
1054 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
1055 (grub_normal_set_password): ...this.
1056 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
1057 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
1058 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
1059 * grub-core/lib/legacy_parse.c: New file.
1060 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
1061 * include/grub/i386/pc/vesa_modes_table.h: New file.
1062 * include/grub/legacy_parse.h: Likewise.
1063 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
1064 * util/grub-menulst2cfg.c: New file.
1065
bf8d1338
CW
10662010-09-17 Colin Watson <cjwatson@ubuntu.com>
1067
1068 * grub-core/kern/emu/hostdisk.c
1069 (convert_system_partition_to_system_disk): Initialise node.
1070
9c0bad2e
CW
10712010-09-17 Colin Watson <cjwatson@ubuntu.com>
1072
1073 * grub-core/kern/emu/hostdisk.c
1074 (convert_system_partition_to_system_disk): Fix devmapper memory pool
1075 leak.
1076 Reported and based on patch by: Modestas Vainius.
1077
a939d135
CW
10782010-09-17 Colin Watson <cjwatson@ubuntu.com>
1079
1080 Fix DM-RAID probing with recent versions of device-mapper udev
1081 rules.
1082
1083 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
1084 canonicalise device paths under /dev/mapper/.
1085 (convert_system_partition_to_system_disk): Compare the
1086 uncanonicalised path to /dev/mapper/ rather than the canonicalised
1087 path, since device nodes under /dev/mapper/ are often symlinks.
1088
0f7ee3c9
YB
10892010-09-17 Yves Blusseau <blusseau@zetam.org>
1090
1091 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
1092
10854d0d
YB
10932010-09-16 Yves Blusseau <blusseau@zetam.org>
1094
1095 * configure.ac: Avoid some annoying error messages if freetype-config
1096 program is not found.
1097
108538d8
CW
10982010-09-16 Colin Watson <cjwatson@ubuntu.com>
1099
1100 Support RAID on virtio devices, and others.
1101
1102 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
1103 Rename to ...
1104 [__MINGW32__] (grub_find_device): ... this.
1105 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
1106 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
1107 reasonable default if dir is NULL.
1108 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
1109 ...
1110 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
1111 (grub_guess_root_device): Update callers.
1112 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
1113
1114 * util/raid.c (grub_util_getdiskname): Remove.
1115 (grub_util_raid_getmembers): Use grub_find_device rather than
1116 grub_util_getdiskname.
1117
e5bfc130
CW
11182010-09-16 Colin Watson <cjwatson@ubuntu.com>
1119
1120 * docs/grub.texi (serial): Remove obsolete comment about GRUB
1121 needing to be compiled with serial support.
1122 (ls): Indicate that multiple files are accepted.
1123 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
1124 indicate that multiple files are accepted.
1125
be458ae2
CW
11262010-09-16 Colin Watson <cjwatson@ubuntu.com>
1127
1128 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
1129 libgrub_a_init.c, and util/bash-completion.d/grub.
1130
cb731b5e
VS
11312010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * util/grub-setup.c (setup): Fix incorrect container semantics.
1134
35139e8a
VS
11352010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
1138 misusage.
1139 Reported by: J. Nick Terry
1140
e50fca4a
VS
11412010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 Move embedding routines to partmap sources files.
1144
1145 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
1146 [GRUB_UTIL]: New variable.
1147 (gpt_partition_map_iterate): Set part.parent.
1148 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
1149 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
1150 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
1151 New function.
1152 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
1153 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
1154 (grub_partition_map) [GRUB_UTIL]: New field embed.
1155 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
1156 (setup): Use ->embed.
1157
f00478b7
VS
11582010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
1161 function.
1162 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
1163 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
1164
2b94e3ff
YB
11652010-09-15 Yves Blusseau <blusseau@zetam.org>
1166
1167 Add function to get completions from usage.
1168
1169 * util/bash-completion.d/grub-completion.bash.in: Add function to get
1170 completions from usage. Use LC_ALL=C to get options properly.
1171
2e04a006
VS
11722010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/gnulib/basename-lgpl.c: Imported.
1175 * grub-core/gnulib/basename.c: Likewise.
1176 * grub-core/gnulib/dirname-lgpl.c: Likewise.
1177 * grub-core/gnulib/dirname.c: Likewise.
1178 * grub-core/gnulib/dirname.h: Likewise.
1179 * grub-core/gnulib/stripslash.c: Likewise.
1180
5dcdf93a
VS
11812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * grub-core/gnulib/error.c: Resynced.
1184 * grub-core/gnulib/getopt.c: Likewise.
1185 * grub-core/gnulib/getopt_int.h: Likewise.
1186 * grub-core/gnulib/regex.h: Likewise.
1187 * grub-core/gnulib/regex_internal.c: Likewise.
1188 * grub-core/gnulib/regex_internal.h: Likewise.
1189
014f47b7
SJ
11902010-09-15 Szymon Janc <szymon@janc.net.pl>
1191
1192 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
1193 CRC calculations and validity checks.
1194 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
1195 calculations.
1196
dd521a4a
SJ
11972010-09-15 Szymon Janc <szymon@janc.net.pl>
1198
1199 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
1200
79c4eeb9
VS
12012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 Fix incorrect echo options handling.
1204 Reported by: Yves Blusseau.
1205
1206 * include/grub/command.h (grub_command_flags_t): New flags
1207 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
1208 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
1209 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
1210
ed80f7d5
VS
12112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
1214 users updated.
1215 (GRUB_COMMAND_FLAG_MENU): Likewise.
1216 (GRUB_COMMAND_FLAG_BOTH): Likewise.
1217 (GRUB_COMMAND_FLAG_TITLE): Removed.
1218 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
1219 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
1220 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
1221 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
1222 (grub_command_flags_t): New enum. All users updated.
1223
5fe7620a
SG
12242010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
1225
1226 Fix solaris compilation.
1227
1228 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
1229 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
1230 (grub-emu-list): Likewise.
1231
545b752f
VS
12322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 Remove deprecated root command.
1235
1236 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
1237 updated.
1238
6c1a338c
VS
12392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * util/i386/pc/grub-setup.c: Merge this ...
1242 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
1243 * util/grub-setup.c: ... into this.
1244 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
1245 New struct.
1246
12472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
1250 possible.
1251
d2ea4551
VS
12522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
1255 allocate p.
1256
3c3b5040
VS
12572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1260 explicit root argument to set to prevent UUID to be interpreted as
1261 argument to set.
1262
b71c3fae
VS
12632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
1266
275433e6
VS
12672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 Don't export grub_gate_a20.
1270
1271 * grub-core/kern/i386/pc/init.c: Remove leftovers.
1272 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
1273 to ...
1274 (grub_gate_a20): ... this. All users updated.
1275 * include/grub/i386/pc/init.h: Removed. All users updated.
1276
a5dbb1f1
VS
12772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 Create euro.pf2 which supports most European languages.
1280
1281 * Makefile.am (grubdata_DATA): Add euro.pf2.
1282 (euro.pf2): New target.
1283 (CLEANFILES): Add euro.pf2.
1284
62a747cb
VS
12852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * configure.ac: Disable emu-usb by default to prevent inadvertent
1288 device takeover.
1289
608e43b1
VS
12902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 Disable usbserial on grub-emu since our libusb code isn't good enough
1293 yet.
1294
1295 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
1296 (usbserial_pl2303): Likewise.
1297 (usbserial_ftdi): Likewise.
1298
94564f81
VS
12992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * include/grub/disk.h (grub_disk): Remove has_partitions.
1302 All users updated.
1303 * disk/loopback.c (grub_loopback): Remove has_partitions.
1304 All users updated.
1305 (options): Remove partitions. All users updated.
1306 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
1307 * util/i386/pc/grub-setup.c (setup): copy partition table only when
1308 actual partition table is found.
1309
3352800b
VS
13102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 Remove readability checks (too many false negatives).
1313
1314 * util/grub-install.in: Remove readability checks.
1315 * util/grub-mkconfig.in: Likewise.
1316 * util/grub.d/10_hurd.in: Likewise.
1317 * util/grub.d/10_kfreebsd.in: Likewise.
1318 * util/grub.d/10_linux.in: Likewise.
1319 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
1320 way.
1321
2419f17a
VS
13222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 Enable acpi shutdown on all ACPI platforms.
1325
1326 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
1327 on coreboo, multiboot and EFI.
1328 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
1329 (grub_acpi_halt): Likewise.
1330 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
1331 (grub_cmd_halt): Don't call grub_acpi_halt directly.
1332 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
1333 * grub-core/lib/i386/halt.c (grub_halt)
1334 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
1335
0575c7c3
VS
13362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
1339 context.
1340
54ac3cd1
VS
13412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/video/efi_gop.c: Fix over-80-chars line.
1344 * grub-core/video/efi_uga.c: Likewise.
1345
b2a30ac5
VS
13462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 Filter devaliases and never open same device twice.
1349
1350 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
1351 (last_ihandle): Likewise.
1352 (ofdisk_hash_ent): New member shortest.
1353 (ofdisk_hash_add): Add canonical path too.
1354 (scan): New function.
1355 (grub_ofdisk_iterate): Iterate over hashed entries.
1356 (compute_dev_path): Don't add :0.
1357 (grub_ofdisk_open): Don't really open the disk.
1358 (grub_ofdisk_close): Avoid closing unrelated disk.
1359 (grub_ofdisk_read): Implement reopen logic.
1360 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
1361 New function.
1362 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
1363 New proto.
1364
fb53b340
VS
13652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 Fix sparc64.
1368
1369 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
1370 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
1371 right address. Add sparc64_ieee1275_ldflags.
1372 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
1373 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
1374 to grub_host_to_target_addr
1375 (load_image): Likewise.
1376
f452b040
VS
13772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/normal/completion.c (complete_file): Handle device
1380 containing slash.
1381 Fix based on patch by Doug Nazar.
1382
9b5b2541
VS
13832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 grub-mknetdir script.
1386
1387 * Makefile.util.def (grub-mknetdir): New module.
1388 * tests/util/grub-shell.in: Support boot=net
1389 * util/grub-mknetdir.in: New file.
1390
9d2be652
VS
13912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 videoinfo on non-vbe.
1394
1395 * grub-core/Makefile.core.def (vbeinfo): Removed.
1396 (vbetest): Removed.
1397 (videoinfo): New module.
1398 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
1399 * grub-core/commands/i386/pc/vbetest.c: Removed.
1400 * grub-core/commands/videoinfo.c: New file.
1401 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
1402 specification.
1403 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
1404 as vbetest.
1405 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
1406 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
1407 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
1408 mode_number. New parameter mode. All users updated.
1409 (grub_video_gop_iterate): New function.
1410 (grub_video_efi_gop): New member iterate.
1411 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
1412 (grub_vbe_set_video_mode): Remove setting useless fields.
1413 (vbe2videoinfo): New function.
1414 (grub_video_vbe_iterate): Likewise.
1415 (grub_video_vbe_setup): Use vbe2videoinfo.
1416 (grub_video_vbe_print_adapter_specific_info): New function.
1417 (grub_video_vbe_adapter): New fields iterate and
1418 print_adapter_specific_info.
1419 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
1420 All users updated.
1421 (grub_video_mode_info): New field mode_number.
1422 (grub_video_adapter): New fields iterate and
1423 print_adapter_specific_info.
1424
179503f5
TG
14252010-09-13 Tristan Gingold <gingold@free.fr>
14262010-09-13 Robert Millan <rmh.grub@aybabtu.com>
14272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/commands/efi/lsefisystab.c: New file.
1430 * grub-core/commands/efi/lssal.c: Likewise.
1431 * grub-core/Makefile.core.def (lsacpi): New module.
1432 (lsefisystab): Likewise.
1433 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
1434 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
1435 (grub_efi_sal_system_table): New struct.
1436 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
1437 (grub_efi_sal_system_table_memory_descriptor): Likewise.
1438 (grub_efi_sal_system_table_platform_features): Likewise.
1439 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
1440 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
1441 (grub_efi_sal_system_table_ap_wakeup): Likewise.
1442 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
1443
cf9827de
VS
14442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 Support explicit user claim that a device is BIOS-visible.
1447
1448 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
1449 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
1450 * grub-core/kern/emu/hostdisk.c
1451 (convert_system_partition_to_system_disk): Support mdX.
1452 (find_system_device): New parameter add. All users updated.
1453 (grub_util_biosdisk_is_present): New function.
1454 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
1455 proto.
1456
53f0eb1f
VS
14572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 Search hints support.
1460
1461 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
1462 All users updated.
1463
b23ffd70
YB
14642010-09-13 Yves Blusseau <blusseau@zetam.org>
1465
1466 Bash completion script for util commands
1467
1468 * Makefile.am: Add util/bash-completion.d directory
1469 * configure.ac: Likewise.
1470 * util/bash-completion.d/Makefile.am: New file.
1471 * util/bash-completion.d/grub-completion.bash.in: Likewise.
1472
d547dc28
VS
14732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
1476 (print_backlog): set backlog_ucs4 and backlog_glyphs.
1477 Reported by: Yves Blusseau.
1478
2fc8ccb9
VS
14792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
1482 partition size and offset.
1483
d8a84076
VS
14842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
1487
84fb3b3d
VS
14882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
1491
768ec2e2
VS
14922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
1495 (grub_xvasprintf): Likewise.
1496
4870900f
VS
14972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
1500
faca6bec
VS
15012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
1504 args ending with NULL.
1505
15062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
1507
1508 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
1509 pointer.
1510
3c70f225
SJ
15112010-09-11 Szymon Janc <szymon@janc.net.pl>
1512
1513 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
1514
4df7996d
VS
15152010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 Shutdown using ACPI.
1518
1519 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
1520 * grub-core/commands/acpihalt.c: New file.
1521 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
1522 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
1523 (grub_acpi_halt): New proto.
1524 (GRUB_ACPI_SLP_EN): New const.
1525 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
1526 (GRUB_ACPI_OPCODE_*): New enum.
1527 (GRUB_ACPI_EXTOPCODE_*): Likewise.
1528
126b4c32
TG
15292010-09-11 Tristan Gingold <gingold@free.fr>
15302010-09-11 Robert Millan <rmh.grub@aybabtu.com>
15312010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * commands/lsacpi.c: New file.
1534 * grub-core/Makefile.core.def (lsacpi): New module.
1535 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
1536 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
1537 (grub_acpi_madt_entry_header): New struct.
1538 (grub_acpi_madt): Likewise.
1539 (grub_acpi_madt_entry_interrupt_override): Likewise.
1540 (grub_acpi_madt_entry_sapic): Likewise.
1541 (grub_acpi_madt_entry_lsapic): Likewise.
1542 (grub_acpi_madt_entry_platform_int_source): Likewise.
1543 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
1544 (PRIuGRUB_UINT32_T): Likewise.
1545 (PRIxGRUB_UINT64_T): Likewise.
1546
1aa4fe88
VS
15472010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 Implement loading palette on ieee1275_fb.
1550
1551 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
1552 (have_setcolors): Likewise.
1553 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
1554 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
1555 (grub_video_ieee1275_set_palette): Implement.
1556
25761e13
VS
15572010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15582010-09-11 Colin Watson <cjwatson@ubuntu.com>
1559
1560 * util/grub-install.in (grub_partition): New variable.
1561 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
1562 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
1563 Fixes a bug reported by Yves Blusseau.
1564
050abaea
VS
15652010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 Fix emu on mipsel.
1568
1569 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
1570 =grub_cpu_flush_cache on all mips and not only yeeloong.
1571 * configure.ac (COND_mips): New conditional.
1572 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
1573 platforms.
1574 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
1575 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
1576 [GRUB_LINKER_HAVE_INIT]: New function.
1577 (grub_emu_post_init): Likewise.
1578 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
1579 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
1580 * include/grub/cache.h (_mips): Include mips/cache.h.
1581 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
1582 LVM and RAID prototypes.
1583 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
1584 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
1585 function.
1586
5ed7d816
CW
15872010-09-10 Colin Watson <cjwatson@ubuntu.com>
1588
1589 * util/grub-install.in: Don't try to verify core.img until after
1590 running grub-mkimage to create it.
1591
90367e04
RM
15922010-09-10 Robert Millan <rmh@gnu.org>
1593
1594 * util/grub.d/10_hurd.in: Add misc readability checks.
1595 * util/grub.d/10_kfreebsd.in: Likewise.
1596 * util/grub.d/10_linux.in: Likewise.
1597
c452fa66
CW
15982010-09-10 Colin Watson <cjwatson@ubuntu.com>
1599
1600 * util/grub-install.in: ${imgext} won't be defined here until the
1601 install branch is merged. For the meantime, only verify core.img on
1602 i386-pc and sparc64-ieee1275 platforms.
1603
c38fe9f4
RM
16042010-09-10 Robert Millan <rmh@gnu.org>
1605
1606 Solaris support in grub_find_zpool_from_dir(). Thanks
1607 Seth Goldberg for referring to getextmntent() facility.
1608
1609 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
1610 `sys/mkdev.h'.
1611 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
1612 `<sys/mnttab.h>'.
1613 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
1614 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
1615 method for finding zpool name.
1616
905f7773
CW
16172010-09-10 Colin Watson <cjwatson@ubuntu.com>
1618
1619 grub-fstest needs the host and hostfs modules while other utilities
1620 actively require those modules to be absent, so grub-fstest needs
1621 its own initialisation and finalisation code.
1622
1623 * Makefile.am (grub_fstest.pp): New target.
1624 (grub_fstest_init.lst): Likewise.
1625 (grub_fstest_init.c): Likewise.
1626 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
1627
fb90b546
RM
16282010-09-10 Robert Millan <rmh@gnu.org>
1629
1630 * configure.ac: Check for `struct statfs.f_fstypename' and
1631 `struct statfs.f_mntfromname'.
1632
1633 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
1634 kFreeBSD-specific code.
1635
66d4bea5
RM
16362010-09-10 Robert Millan <rmh@gnu.org>
1637
1638 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
1639 on ZFS. Now non-main filesystems are supported as / too.
1640
b6a690ee
CW
16412010-09-09 Colin Watson <cjwatson@ubuntu.com>
1642
1643 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
1644 and grub-core/disk/host.c to ...
1645 (grub-fstest): ... here. Having the host disk implementation
1646 present confuses grub-probe and other utility programs.
1647
1648 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
1649 when writing to a file, not when writing to stdout.
1650
8901b00c 16512010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
1652
1653 * tests/partmap_test.in: New test for partitions.
1654 * Makefile.util.def: Rules for new test.
1655
7bf45fdd
RM
16562010-09-09 Robert Millan <rmh@gnu.org>
1657
1658 * util/grub-probe.c (probe): Fix a pair of unhandled error
1659 conditions.
1660
4dfbc574
RM
16612010-09-09 Robert Millan <rmh@gnu.org>
1662
1663 Basic Btrfs support (detection and UUID).
1664
1665 * grub-core/fs/btrfs.c: New file.
1666 * Makefile.util.def (library): Register btrfs.c.
1667 * grub-core/Makefile.core.def: Likewise.
1668
6b8e78ae
RM
16692010-09-08 Robert Millan <rmh@gnu.org>
1670
1671 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
1672 with (optional) parameters to specify device and relative path.
1673 * util/grub-install.in: Use is_path_readable_by_grub() to
1674 verify readability of a few critical files.
1675 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
1676 verify readability of grub.cfg.new.
1677
27f21a8b
VS
16782010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 Split minix.mod into minix.mod and minix2.mod.
1681
1682 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
1683 * grub-core/Makefile.core.def (minix2): New module.
1684 * grub-core/fs/minix.c: Use definitions instead of runtime version
1685 checking.
1686 * grub-core/fs/minix2.c: New file.
1687
c0e53ea5
YB
16882010-09-08 Yves Blusseau <blusseau@zetam.org>
1689
1690 Add new --boot-directory option to replace --root-directory
1691
1692 * util/grub-install.in: Add new --boot-directory option
1693 * util/grub-reboot.in: Likewise.
1694 * util/grub-set-default.in: Likewise.
1695
b9fe6ea2
YB
16962010-09-08 Yves Blusseau <blusseau@zetam.org>
1697
1698 * util/grub-mkconfig.in: Use new variable.
1699
d87aedff
YB
17002010-09-08 Yves Blusseau <blusseau@zetam.org>
1701
1702 * configure.ac: Define some useful variables.
1703
e55e8495
VS
17042010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1707 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
1708 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
1709 Use terminfo and don't use cursor-on/cursor-off unless it's known
1710 to work.
1711 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
1712 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
1713
6fa6d675
CW
17142010-09-08 Colin Watson <cjwatson@ubuntu.com>
1715
1716 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
1717 starts with "(,", fill the drive containing the loaded image in
1718 between those two characters, but expect that a full partition
1719 specification including partition map names will follow.
1720
92f2aef0
RM
17212010-09-08 Robert Millan <rmh@gnu.org>
1722
1723 * configure.ac: Remove `--enable-grub-fstest' option.
1724 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
1725
1726 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
1727 `grub-fstest' instead of `grub-probe' for readability verification.
1728 * util/grub-probe.c (probe): Remove readability verification kludge.
1729
99fd620d
RM
17302010-09-08 Robert Millan <rmh@gnu.org>
1731
1732 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
1733 initializing `GRUB_FS'.
1734
058e30ac 17352010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
1736
1737 Not command (!) support to GRUB script.
1738
1739 * tests/grub_script_not.in: New test.
1740 * Makefile.util.def: Rules for new test.
1741
1742 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1743 ! command as a special case.
1744 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
1745
b61d05ed 17462010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1747
058e30ac 1748 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
1749 grub_free.
b61d05ed 1750
4d69c786 17512010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1752
1753 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
1754
aa3119c4 17552010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1756
1757 * docs/grub.texi (Shell-like scripting): Documentation for break,
1758 continue, shift and return commands.
1759
db0f7e3d
VS
17602010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Rename CD-ROM to cd on BIOS.
1763
1764 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
1765 "cd".
1766 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
1767
88b87c93
VS
17682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
1771 * util/grub-probe.c (main): Likewise.
1772 * util/i386/pc/grub-setup.c (main): Likewise.
1773 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1774 Reported and debugged by: alexxy
1775
294f324d
VS
17762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
1779 diagnostic info.
1780
d7ee3441
JS
17812010-09-05 Jo Shields <directhex@apebox.org>
1782
1783 * util/grub.d/30_os-prober.in: Add missing classes.
1784
d7e06c1f
VS
17852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * docs/grub.texi (Theme file format): Document new position format.
1788
fc157e53
VS
17892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
1792 a table. Use @code instead of @verbatim.
1793
506e9a1c
CB
17942010-09-05 Colin D Bennett <colin@gibibit.com>
1795
1796 Gfxmenu documentation.
1797
1798 * docs/grub.texi (Theme file format): New chapter.
1799
f0aff67c
SJ
18002010-09-05 Szymon Janc <szymon@janc.net.pl>
1801
1802 * grub-core/Makefile.core.def (xzio): New module.
1803 * grub-core/io/xzio.c: New file.
1804 * grub-core/lib/xzembed/xz.h: New file (from xembed).
1805 * grub-core/lib/xzembed/xz_config.h: Likewise.
1806 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
1807 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
1808 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
1809 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
1810 * grub-core/lib/xzembed/xz_private.h: Likewise.
1811 * grub-core/lib/xzembed/xz_stream.h: Likewise.
1812 * include/grub/file.h (grub_file_filter_id): New compression filter
1813 GRUB_FILE_FILTER_XZIO.
1814
82a85062
VS
18152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
1818 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
1819 size.
1820
3579415d
VS
18212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
1824 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
1825
5124ae6d
VS
18262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 Uncompressed checksum support.
1829
1830 * grub-core/commands/hashsum.c (options): Add option --uncompress.
1831 (check_list): New parameter uncompress.
1832 (grub_cmd_hashsum): Handle --uncompress.
1833
9aadb3d1
VS
18342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 Reintroduce testload.
1837
1838 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
1839 from here ...
1840 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
1841 (GRUB_MOD_INIT): New function.
1842 (GRUB_MOD_FINI): Likewise.
1843 * grub-core/Makefile.core.def (testload): New module.
1844
a17792c3
SJ
18452010-09-05 Szymon Janc <szymon@janc.net.pl>
1846
1847 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
1848 (uint8_t): New type.
1849 (uint16_t): Likewise.
1850 (uint32_t): Likewise.
1851 (uint64_t): Likewise.
1852
b81e40a3
SJ
18532010-09-05 Szymon Janc <szymon@janc.net.pl>
1854
1855 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
1856
fc2ef117
VS
18572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
1860 Made static.
1861 (grub_gzfile_open): Removed. All users updated.
1862 (GRUB_MOD_INIT): New function.
1863 (GRUB_MOD_FINI): Likewise.
1864 * grub-core/kern/file.c (grub_file_filters_all): New variable.
1865 (grub_file_filters_enabled): Likewise.
1866 (grub_file_open): Handle filters.
1867 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
1868 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
1869 * include/grub/file.h (grub_file_filter_id_t): New type.
1870 (grub_file_filter_t): Likewise.
1871 (grub_file_filters_all): New extern variable.
1872 (grub_file_filters_enabled): Likewise.
1873 (grub_file_filter_register): New inline function.
1874 (grub_file_filter_unregister): Likewise.
1875 (grub_file_filter_disable): Likewise.
1876 (grub_file_filter_disable_compression): Likewise.
1877 * include/grub/gzio.h: Removed.
1878
35ee15e0
BC
18792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1880
1881 Filename expansion support for wildcards in GRUB script.
1882
1883 * tests/grub_script_expansion.in: New test.
1884 * Makefile.util.def: Rule for new test.
1885
1886 * grub-core/commands/wildcard.c: New file, implements filename
1887 expansion support for GRUB script.
1888 * grub-core/Makefile.core.def: Rule update for regexp.mod.
1889 * grub-core/script/argv.c: Cosmetic changes.
1890 * grub-core/script/execute.c (grub_script_arglist_to_argv):
1891 Refactored to perform wildcard expansion on arguments.
1892 * include/grub/script_sh.h (grub_script_wildcard_translator): New
1893 struct.
1894
1895 * tests/util/grub-shell.in: Fix quoting for read input.
1896
5f0c4aca
BC
18972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1898
1899 Support for updating environment variables with matched substrings
1900 of regexp.
1901
1902 * tests/grub_cmd_regexp.in: New test.
1903 * Makefile.util.def: Rule for new test.
1904
1905 * grub-core/commands/regexp.c: New option -s to update environment
1906 variables with regexp matches.
1907
3759a35f
SJ
19082010-09-04 Szymon Janc <szymon@janc.net.pl>
1909
1910 * include/grub/file.h (grub_file): New member not_easly_seekable.
1911 (grub_file_seekable): New inline function.
1912 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
1913 easily seekable.
1914 (grub_gzio_open): Set not_easly_seekable.
1915 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
1916 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
1917
ed8c6dec
BC
19182010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1919
1920 Support for options to appear multiple times on cmdline.
1921
1922 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
1923 * grub-core/commands/extcmd.c: Support for repeatable option.
1924 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
1925 repeatable option support.
1926
1927 Refactor menuentry into a regular command.
1928
1929 * grub-core/commands/menuentry.c: New file, menuentry command
1930 implementation.
1931 * grub-core/Makefile.core.def: Rule update for normal.mod.
1932 * grub-core/normal/main.c: Moved menuentry creation to
1933 grub-core/commands/menuentry.c.
1934 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
1935 (grub_menu_execute_entry_real): Removed.
1936 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
1937 function.
1938 (grub_script_execute_menuentry): Removed.
1939 * grub-core/script/parser.y (menuentry): Removed.
1940 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
1941 * grub-core/script/yylex.l (menuentry): Removed.
1942 * include/grub/menu.h (grub_menu_init): New prototype.
1943 (grub_menu_fini): New prototype.
1944 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
1945 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
1946 (grub_script_execute_sourcecode): New prototype.
1947
dacd0cf0
BC
19482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1949
1950 "return" command for GRUB script functions.
1951
1952 * tests/grub_script_return.in: New test.
1953 * Makefile.util.def: Rules for new test.
1954
1955 * grub-core/script/execute.c (grub_script_return): New function.
1956 * grub-core/script/main.c: Register/unregister return commaond.
1957 * include/grub/script_sh.h (grub_script_return): New prototype.
1958
52e72f9d
BC
19592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1960
1961 "setparams" command to update positional parameters.
1962
1963 * tests/grub_script_setparams.in: New test.
1964 * Makefile.util.def: Rules for new test.
1965
1966 * grub-core/script/argv.c (grub_script_argv_make): New function.
1967 * grub-core/script/execute.c (replace_scope): New function.
1968 (grub_script_setparams): New function.
1969 * grub-core/script/lexer.c: Remove unused variables.
1970 * grub-core/script/main.c: Register/unregister setparams command.
1971 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
1972 (grub_script_setparams): New prototype.
1973
25b60c91
BC
19742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1975
1976 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
1977 grub_free order.
1978
37e7bf68
BC
19792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1980
1981 Support for passing block of commands as an argument to extcmds.
1982
1983 * Makefile.util.def: Rules for new test.
1984 * tests/grub_script_blockarg.in: New test.
1985 * grub-core/tests/test_blockarg.c: New file, block argument
1986 command used in the test.
1987
1988 * include/grub/extcmd.h (grub_extcmd_context): New struct.
1989 (grub_register_extcmd_prio): New function prototype.
1990 (grub_extcmd_dispatcher): New function prototype.
1991 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
1992 type.
1993 * include/grub/script_sh.h (struct grub_script): New members
1994 `children', `next_siblings' and `refcnt' for block arguments and
1995 reference counting.
1996 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
1997 (grub_script_arg): New member `script' for block argument.
1998 (grub_script_argv): New member `script' for block argument.
1999 (grub_parser_param): New member `scripts' for block argument.
2000 (grub_script_mem_free): New extern function prototype.
2001 (grub_script_ref): New function prototype.
2002 (grub_script_unref): New function prototype.
2003
2004 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
2005 extcmd form to support block arguments.
2006 * grub-core/script/argv.c: Block arguments support.
2007 * grub-core/script/execute.c: Likewise.
2008 * grub-core/script/lexer.c: Likewise.
2009 * grub-core/script/main.c: Likewise.
2010 * grub-core/script/script.c: Likewise.
2011 * grub-core/script/parser.y: Likewise. New `block' and `block0'
2012 non-terminals.
2013
2014 * grub-core/commands/acpi.c: Update extcmd implementations with
2015 grub_extcmd_context_t.
2016 * grub-core/commands/cat.c: Likewise.
2017 * grub-core/commands/echo.c: Likewise.
2018 * grub-core/commands/extcmd.c: Likewise.
2019 * grub-core/commands/hashsum.c: Likewise.
2020 * grub-core/commands/hdparm.c: Likewise.
2021 * grub-core/commands/help.c: Likewise.
2022 * grub-core/commands/hexdump.c: Likewise.
2023 * grub-core/commands/i386/cpuid.c: Likewise.
2024 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2025 * grub-core/commands/i386/pc/halt.c: Likewise.
2026 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2027 * grub-core/commands/iorw.c: Likewise.
2028 * grub-core/commands/keystatus.c: Likewise.
2029 * grub-core/commands/loadenv.c: Likewise.
2030 * grub-core/commands/ls.c: Likewise.
2031 * grub-core/commands/lspci.c: Likewise.
2032 * grub-core/commands/memrw.c: Likewise.
2033 * grub-core/commands/probe.c: Likewise.
2034 * grub-core/commands/search_wrap.c: Likewise.
2035 * grub-core/commands/setpci.c: Likewise.
2036 * grub-core/commands/sleep.c: Likewise.
2037 * grub-core/disk/loopback.c: Likewise.
2038 * grub-core/hello/hello.c: Likewise.
2039 * grub-core/loader/i386/bsd.c: Likewise.
2040 * grub-core/loader/xnu.c: Likewise.
2041 * grub-core/term/gfxterm.c: Likewise.
2042 * grub-core/term/serial.c: Likewise.
2043 * grub-core/tests/lib/functional_test.c: Likewise.
2044
888d1500
BC
20452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2046
2047 Multi-line quoted strings support.
2048
2049 * grub-core/script/lexer.c (append_newline): Removed.
2050 (grub_script_lexer_yywrap): Refactored.
2051 (grub_script_lexer_init): Refactored.
2052 * grub-core/script/yylex.l (yywrap): New function.
2053 (grub_lexer_resplit): New function.
2054 (grub_lexer_unput): New function.
2055 * include/grub/script_sh.h (grub_lexer_param): New members, unput
2056 and resplit.
2057 * tests/grub_script_echo1.in: Added few more testcases.
2058
dda060dd
VS
20592010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/kern/misc.c: Don't add abort alias in utils.
2062 Reported by: echoline.
2063
6556eba9
BC
20642010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
2065
2066 Add missing files into "make dist" tarball for other platforms.
2067
2068 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
2069 * conf/Makefile.common (dist_noinst_DATA): New variable.
2070 * conf/Makefile.extra-dist: Added missing make dist files.
2071 * grub-core/Makefile.core.def: Likewise.
2072
c8e7bf5f
VS
20732010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 Compress grub_prefix.
2076
2077 * grub-core/boot/i386/pc/lnxboot.S: Use
2078 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
2079 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
2080 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
2081 GRUB_MACHINE_PREFIX_END. All users updated.
2082 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
2083 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
2084 + 0x40.
2085 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2086 * util/grub-mkimage.c (image_target_desc): Change data_end to
2087 prefix_end. All users updated.
2088
a7c00cdb
VS
20892010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
2092 value.
2093 (grub_openbsd_boot): Likewise.
2094 (grub_netbsd_boot): Likewise.
2095 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
2096 (grub_xnu_boot): Likewise.
2097
9f915872
VS
20982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * configure.ac: Clean LIBS variable after tests.
2101
efa1bee7
CW
21022010-09-02 Colin Watson <cjwatson@ubuntu.com>
2103
2104 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
2105
61d720e5
VS
21062010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
2109 echo if libdevmapper will be used.
2110
ef8e0ec8
IT
21112010-09-02 Ian Turner <Ian.Turner@deshaw.com>
2112
2113 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
2114 constant for the same file.
2115
03e261d8
VS
21162010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
2119
c2a4eba6
CW
21202010-09-02 Colin Watson <cjwatson@ubuntu.com>
2121
2122 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
2123 grub-core/*.pp.
2124
9056cbf3
CW
21252010-09-02 Colin Watson <cjwatson@ubuntu.com>
2126
2127 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
2128 required by the boot protocol.
2129
2130 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
2131 ebp and edi members.
2132 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
2133 state.ebp and state.edi.
2134 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
2135 %ebp and %edi according to grub_relocator32_ebp and
2136 grub_relocator32_edi respectively.
2137 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
2138 and state.edi.
2139
529cc99a
VS
21402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 Add i386-pc-pxe image target.
2143
2144 * util/grub-mkimage.c (image_target_desc): New enum value
2145 IMAGE_I386_PC_PXE.
2146 (image_targets): New target i386-pc-pxe.
2147 (generate_image): Handle i386-pc-pxe image.
2148
9a093920
VS
21492010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 Fix grub_pxe_scan.
2152
2153 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
2154 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
2155 All users updated.
2156 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
2157 (grub_pxe_pxenv): Correct type.
2158
f9cefc4e
CW
21592010-09-01 Colin Watson <cjwatson@ubuntu.com>
2160
2161 * NEWS: Document most of the important changes since 1.98.
2162
4066f57f
CW
21632010-09-01 Colin Watson <cjwatson@ubuntu.com>
2164
2165 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
2166 generated manual page) a little.
2167
da2891f9
CW
21682010-09-01 Colin Watson <cjwatson@ubuntu.com>
2169
2170 * docs/grub.texi: Add myself as an author.
2171
ad717fae
VS
21722010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * Makefile.util.def (libgrub.a): Add missing sunpc.
2175 Reported by: Seth Goldberg.
2176
eefe8abd
VS
21772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 Interrupt wrapping and code simplifications.
2180
9494ef9a
VS
2181 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
2182 x86_noieee1275 which are functionaly equivalent in this case.
2183 (grub-install): Make source on each platform explicit. Enable on
2184 all noemu.
2185 * gentpl.py (x86_efi_pc): Removed group.
2186 (x86_noefi): Likewise.
2187 (i386_noefi): Likewise.
2188 (x86_noieee1275): Likewise.
2189 (i386_noieee1275): Likewise.
2190 (i386_noefi_noieee1275): Likewise.
2191 (i386_pc_qemu_coreboot): Likewise.
2192 (i386_coreboot_multiboot): Likewise.
2193 (i386_pc_coreboot_multiboot_qemu): Likewise.
2194 (x86_noefi_mips): Likewise.
2195 (noieee1275): Likewise.
2196 (ieee1275_mips): Likewise.
2197 (noemu_noieee1275): Likewise.
2198 (cmos): New group.
2199 (usb): Likewise.
2200 (videoinkernel): Likewise.
2201 (videomodules): Likewise.
eefe8abd 2202 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
2203 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
2204 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
2205 include/grub/loader.h, include/grub/msdos_partition.h,
2206 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
2207 include/grub/machine/console.h, include/grub/machine/vga.h,
2208 include/grub/machine/vbe.h, include/grub/machine/init.h,
2209 include/grub/machine/kernel.h, include/grub/cpu/time.h,
2210 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 2211 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
2212 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
2213 * grub-core/Makefile.core.def (kernel): Explicit the source for
2214 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
2215 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
2216 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
2217 Use videoinkernel tag.
2218 (usb): Enable on all usb.
2219 (usbserial_common): Likewise.
2220 (usbserial_pl2303): Likewise.
2221 (usbserial_ftdi): Likewise.
2222 (uhci): Enable on all x86.
2223 (ohci): Enable on all pci.
2224 (cmostest): Enable on all CMOS.
2225 (acpi): Include commands/acpi.c on all platforms.
2226 (halt): Add relevant lib/*/halt.c.
2227 (hdparm): Enable on all pci.
2228 (lspci): Likewise.
2229 (usbtest): Enable on all usb.
2230 (ata): Enable on all pci.
2231 (ata_pthru): Likewise.
2232 (usbms): Enable on all usb.
2233 (usb_keyboard): Likewise.
2234 (font): Use tag videomodules.
2235 (bufio): Likewise.
2236 (datetime): Use tag cmos. Enable on all noemu.
2237 (mmap): Use tags common and x86.
2238 (gfxterm): Use tag videomodules.
2239 (bitmap): Likewise.
2240 (bitmap_scale): Likewise.
2241 (video_fb): Likewise.
2242 (video): Likewise.
2243 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
2244 adjust padding accordingly. All users updated.
2245 (grub_ohci_transaction): Fix bad format specification.
2246 (GRUB_MOD_INIT): Add asserts for struct size.
2247 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
2248 (grub_alloc_td): Likewise.
2249 (grub_free_queue): Likewise.
2250 (grub_uhci_transfer): Likewise.
2251 (grub_uhci_transaction): Fix bad format specification.
2252 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2253 (grub_usb_bulk_readwrite): Likewise.
2254 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
2255 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
2256 Made static.
2257 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
2258 Made static.
2259 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
2260 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
2261 Transformed into C.
2262 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
2263 Moved from here ...
2264 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
2265 ... here. Transformed into C. Made static.
2266 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
2267 Moved from here ...
2268 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
2269 ... here. Transformed into C. Made static.
2270 * grub-core/kern/i386/pc/startup.S
2271 (grub_biosdisk_check_int13_extensions): Moved from here ...
2272 * grub-core/disk/i386/pc/biosdisk.c
2273 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
2274 Made static.
2275 * grub-core/kern/i386/pc/startup.S
2276 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
2277 * grub-core/disk/i386/pc/biosdisk.c
2278 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
2279 Transformed into C. Made static.
2280 * grub-core/kern/i386/pc/startup.S
2281 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
2282 * grub-core/disk/i386/pc/biosdisk.c
2283 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
2284 Transformed into C. Made static.
2285 * grub-core/kern/i386/pc/startup.S
2286 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
2287 * grub-core/disk/i386/pc/biosdisk.c
2288 (grub_biosdisk_get_diskinfo_standard): ... here.
2289 Transformed into C. Made static.
2290 * grub-core/kern/i386/pc/startup.S
2291 (grub_biosdisk_get_num_floppies): Moved from here ...
2292 * grub-core/disk/i386/pc/biosdisk.c
2293 (grub_biosdisk_get_num_floppies): ... here.
2294 Transformed into C. Made static.
2295 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
2296 New function.
2297 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
2298 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
2299 Transformed into C. Made static.
2300 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
2301 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
2302 Transformed into C. Made static.
2303 * grub-core/kern/i386/ieee1275/init.c: Removed.
2304 * grub-core/kern/i386/misc.S: Likewise.
2305 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
2306 Splitted from here ...
2307 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
2308 Transformed into C. Made static. All users updated.
2309 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
2310 Transformed into C. Made static. All users updated.
2311 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
2312 Moved from here...
2313 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
2314 Transformed into C. Made static. All users updated.
2315 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
2316 Moved from here...
2317 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
2318 Transformed into C. Made static. All users updated.
2319 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
2320 Removed (replaced by C version).
2321 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
2322 Moved from here...
2323 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
2324 Transformed into C. Made static.
2325 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
2326 Moved from here...
2327 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
2328 ... here. Transformed into C.
2329 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
2330 Moved from here...
2331 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
2332 ... here. Transformed into C.
2333 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
2334 Moved from here...
2335 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
2336 ... here. Transformed into C. Made static.
2337 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
2338 Moved from here...
2339 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
2340 ... here. Transformed into C.
21ed554b
VS
2341 * grub-core/kern/i386/pc/startup.S
2342 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
2343 * grub-core/video/i386/pc/vbe.c
2344 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
2345 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
2346 Moved from here...
2347 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
2348 ... here. Transformed into C.
2349 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
2350 Moved from here...
2351 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
2352 ... here. Transformed into C.
2353 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
2354 Moved from here...
2355 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
2356 ... here. Transformed into C.
2357 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
2358 Moved from here...
2359 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
2360 ... here. Transformed into C.
2361 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
2362 Moved from here...
2363 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
2364 ... here. Transformed into C. Made static.
2365 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
2366 Moved from here...
2367 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
2368 ... here. Transformed into C. Made static.
2369 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
2370 Moved from here...
2371 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
2372 ... here. Transformed into C. Made static.
2373 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
2374 pxe_rm_entry as third argument.
2375 (grub_bios_interrupt): New function.
2376 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
2377 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
2378 of calling grub_stop.
2379 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
2380 * grub-core/lib/efi/halt.c (grub_halt): ...here.
2381 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
2382 * grub-core/lib/emu/halt.c (grub_halt): ... here.
2383 * grub-core/lib/i386/halt.c: Moved from here ...
2384 * grub-core/lib/i386/halt.c: ... here.
2385 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
2386 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
2387 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
2388 grub_stop_floppy.
2389 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
2390 * include/grub/i386/coreboot/init.h: Removed.
2391 * include/grub/i386/multiboot/init.h: Likewise.
2392 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
2393 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
2394 * include/grub/i386/pc/int.h: New file.
2395 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
2396 (grub_pxe_scan): Removed.
2397 (grub_pxe_call): Update prototype.
2398 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
2399 prototypes.
2400 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
2401 * include/grub/i386/qemu/init.h: Removed.
2402 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
2403 noreturn.
2404 (grub_halt): Likewise.
2405 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
2406 (grub_reboot): Likewise.
2407 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
2408 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
2409 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
2410
215dd471
RM
24112010-08-30 Robert Millan <rmh@gnu.org>
2412
2413 * NEWS: Document addition of ZFS support in `grub-install' and
2414 `grub-mkconfig'.
2415
ebd65b82
BC
24162010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
2417
2418 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
2419 dprintf output.
2420
11721d19
VS
24212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 Remove leftover embedding of font objects.
2424
2425 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2426 * util/grub-install.in (font): Removed.
2427 * util/grub-mkimage.c (generate_image): Remove font support. All users
2428 updated.
2429
37837d4e
VS
24302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 Remove leftover embedding of font objects.
2433
2434 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2435 * util/grub-install.in (font): Removed.
2436 * util/grub-mkimage.c (generate_image): Remove font support. All users
2437 updated.
2438
b4c1aae0
VS
24392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 2442 Reported by: Ian Turner
b4c1aae0 2443
8920a08d
VS
24442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
2447 timeout to avoid indefinite boot stalling.
2448
f21db033
VS
24492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
2452 (grub_env_write_color_highlight): Likewise.
2453
9a9de209
VS
24542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * grub-core/normal/term.c (print_more): Return to normal and not
2457 to standard state after printing "---MORE---".
2458
3dca01d7
VS
24592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
2462 Mask out the bit 0x80 since it has other meaning that specifiing color.
2463
0b986c40
VS
24642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 New relocator. Allows for more kernel support and more straightforward
2467 loader writing.
2468
2469 * Makefile.am (BOOTTARGET): New variable.
2470 (QEMU32): Likewise.
2471 (linux.init.x86_64): New target.
2472 (linux.init.i386): Likewise.
2473 (multiboot.elf): Likewise.
2474 (kfreebsd.elf): Likewise.
2475 (kfreebsd.aout): Likewise.
2476 (pc-chainloader.elf): Likewise.
2477 (pc-chainloader.bin): Likewise.
2478 (ntldr.elf): Likewise.
2479 (ntldr.bin): Likewise.
2480 (multiboot2.elf): Likewise.
2481 (kfreebsd.init.x86_64): Likewise.
2482 (kfreebsd.init.i386): Likewise.
2483 (knetbsd.init.i386): Likewise.
2484 (kopenbsd.init.i386): Likewise.
2485 (knetbsd.init.x86_64): Likewise.
2486 (kopenbsd.init.x86_64): Likewise.
2487 (linux-initramfs.i386): Likewise.
2488 (linux-initramfs.x86_64): Likewise.
2489 (kfreebsd-mfsroot.i386.img): Likewise.
2490 (knetbsd.image.i386): Likewise.
2491 (kopenbsd.image.i386): Likewise.
2492 (kopenbsd.image.x86_64): Likewise.
2493 (knetbsd.miniroot-image.i386.img): Likewise.
2494 (kfreebsd-mfsroot.x86_64.img): Likewise.
2495 (knetbsd.image.x86_64): Likewise.
2496 (knetbsd.miniroot-image.x86_64.img): Likewise.
2497 (kfreebsd-mfsroot.i386.gz): Likewise.
2498 (bootcheck-kfreebsd-i386): Likewise.
2499 (kfreebsd-mfsroot.x86_64.gz): Likewise.
2500 (bootcheck-kfreebsd-x86_64): Likewise.
2501 (knetbsd.miniroot-image.i386.gz): Likewise.
2502 (bootcheck-knetbsd-i386): Likewise.
2503 (bootcheck-kopenbsd-i386): Likewise.
2504 (bootcheck-kopenbsd-x86_64): Likewise.
2505 (knetbsd.miniroot-image.x86_64.gz): Likewise.
2506 (bootcheck-knetbsd-x86_64): Likewise.
2507 (bootcheck-linux-i386): Likewise.
2508 (bootcheck-linux-x86_64): Likewise.
2509 (bootcheck-linux16-i386): Likewise.
2510 (bootcheck-linux16-x86_64): Likewise.
2511 (bootcheck-multiboot): Likewise.
2512 (bootcheck-multiboot2): Likewise.
2513 (bootcheck-kfreebsd-aout): Likewise.
2514 (bootcheck-pc-chainloader): Likewise.
2515 (bootcheck-ntldr): Likewise.
2516 (CLEANFILES): Add new targets.
2517 (BOOTCHECKS): New variable.
2518 (.PHONY): Add bootchecks.
2519 (SUCCESSFUL_BOOT_STRING): New variable.
2520 (BOOTCHECK_TIMEOUT): Likewise.
2521 (bootcheck): New target
2522 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
2523 * configure.ac: Correct efiemu excuse.
2524 * docs/grub.texi (Supported kernels): New chapter.
2525 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
2526 include/grub/mm_private.h. Simplify inclusion of
2527 include/grub/boot.h, include/grub/loader.h
2528 and include/grub/msdos_partition.h
2529 (KERNEL_HEADER_FILES) [i386_coreboot]:
2530 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
2531 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
2532 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
2533 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
2534 include/grub/machine/loader.h.
2535 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
2536 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
2537 extra_dist.
2538 (pci.mod): Enable on i386-multiboot.
2539 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
2540 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
2541 i386-qemu.
2542 (relocator.mod): Rewritten.
2543 (aout.mod): Enable on all x86.
2544 (bsd.mod): Likewise.
2545 (ntldr.mod): New module.
2546 (linux.mod): Use loader/i386/linux.c on all x86.
2547 (xnu.mod): Enable on all x86.
2548 (vga_text.mod): disable on EFI and QEMU.
2549 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
2550 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
2551 * grub-core/efiemu/loadcore.c: Likewise.
2552 * grub-core/efiemu/main.c: Likewise.
2553 (grub_efiemu_exit_boot_services): Removed.
2554 (grub_efiemu_finish_boot_services): Likewise.
2555 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
2556 function.
2557 * grub-core/efiemu/i386/nocfgtables.c: New file.
2558 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
2559 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
2560 (grub_efi_finish_boot_services): Moved from here ...
2561 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
2562 Fille finish memory map and related data.
2563 (finish_mmap_buf): New variable.
2564 (grub_efi_uintn_t finish_mmap_size): Likewise.
2565 (grub_efi_uintn_t finish_key): Likewise.
2566 (grub_efi_uintn_t finish_desc_size): Likewise.
2567 (grub_efi_uint32_t finish_desc_version): Likewise.
2568 (grub_efi_is_finished): Likewise.
2569 (grub_efi_get_memory_map): Use saved memory map if EFI is already
2570 finished.
2571 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
2572 (grub_elf64_phdr_iterate): Likewise.
2573 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
2574 (grub_os_area_size): Likewise.
2575 (grub_machine_init): Don't reserve os area.
2576 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
2577 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2578 * grub-core/kern/i386/loader.S: Removed.
2579 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
2580 (grub_os_area_size): Likewise.
2581 (grub_machine_init): Don't reserve os area.
2582 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2583 Don't call grub_dl_unload_all.
2584 Don't include loader.S.
2585 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2586 Declare the memory after _end as available.
2587 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 2588 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 2589 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
2590 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
2591 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
2592 * include/grub/mm_private.h (grub_mm_header): ... here.
2593 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
2594 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
2595 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
2596 (grub_mm_region): ..here. Removed addr. Added pre_size.
2597 All users updated.
2598 * grub-core/kern/mm.c (base): Renamed to ...
2599 (grub_mm_base): ... this. Made global.
2600 (grub_real_malloc): Alloc from end of region.
2601 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
2602 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
2603 * grub-core/kern/powerpc/cache_flush.S: ... here.
2604 * grub-core/lib/efi/relocator.c: New file.
2605 * grub-core/lib/i386/relocator.c: Rewritten.
2606 * grub-core/lib/i386/relocator16.S: New file.
2607 * grub-core/lib/i386/relocator32.S: Likewise.
2608 * grub-core/lib/i386/relocator64.S: Likewise.
2609 * grub-core/lib/i386/relocator_asm.S: Rewritten.
2610 * grub-core/lib/i386/relocator_common.S: New file.
2611 * grub-core/lib/ieee1275/relocator.c: Likewise.
2612 * grub-core/lib/mips/relocator.c: Rewritten.
2613 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
2614 stylistic adjustments.
2615 * grub-core/lib/powerpc/relocator.c: New file.
2616 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
2617 * grub-core/lib/relocator.c: Rewritten.
2618 * grub-core/lib/x86_64/relocator_asm.S: New file.
2619 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
2620 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
2621 (bsd_tag): New struct.
2622 (tags): New variable.
2623 (tags_last): Likewise.
2624 (netbsd_module): New struct.
2625 (netbsd_mods): New variable.
2626 (netbsd_mods_last): Likewise.
2627 (openbsd_opts): New parameter "serial".
2628 (OPENBSD_SERIAL_ARG): New definition.
2629 (netbsd_opts): New parameter "serial".
2630 (NETBSD_SERIAL_ARG): New definition.
2631 (grub_freebsd_add_meta): Reorganised into ...
2632 (grub_bsd_add_meta): ...this. All users updated.
2633 (grub_freebsd_add_mmap): Reorganised into ...
2634 (generate_e820_mmap): ...this...
2635 (grub_bsd_add_mmap): ...and this. All users updated.
2636 (grub_freebsd_list_modules): Use tags.
2637 (grub_netbsd_add_meta_module): New function.
2638 (grub_netbsd_list_modules): Likewise.
2639 (grub_freebsd_boot): Use relocator and finish EFI.
2640 (grub_openbsd_boot): Likewise.
2641 (grub_netbsd_setup_video): New function.
2642 (grub_netbsd_add_modules): Likewise.
2643 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
2644 and finish EFI.
2645 (grub_bsd_unload): Unload tags.
2646 (grub_bsd_load_aout): Use relocator.
2647 (grub_bsd_elf32_size_hook): New function.
2648 (grub_bsd_elf32_hook): Use relocator.
2649 (grub_bsd_elf64_size_hook): New function.
2650 (grub_bsd_elf64_hook): Use relocator.
2651 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
2652 (grub_bsd_load): Zero-out openbsd_ramdisk.
2653 (grub_bsd_load): Use relocator.
2654 (grub_cmd_openbsd): Support serial.
2655 (grub_cmd_netbsd): Support modules.
2656 (grub_cmd_freebsd_module): Use relocator.
2657 (grub_netbsd_module_load): New function.
2658 (grub_cmd_netbsd_module): Likewise.
2659 (grub_cmd_openbsd_ramdisk): Likewise.
2660 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
2661 kopenbsd_ramdisk.
2662 (GRUB_MOD_FINI): Unregister new commands.
2663 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
2664 (grub_freebsd_load_elfmodule_obj): Use relocator.
2665 (grub_freebsd_load_elfmodule): Likewise.
2666 (grub_freebsd_load_elf_meta): Likewise.
2667 (grub_netbsd_load_elf_meta): New function.
2668 (grub_openbsd_find_ramdisk): Likewise.
2669 * grub-core/loader/i386/bsd_helper.S: Removed.
2670 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
2671 * grub-core/loader/i386/bsd_trampoline.S: Removed.
2672 * grub-core/loader/i386/efi/linux.c: Likewise.
2673 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
2674 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
2675 (DEFAULT_VIDEO_MODE): Likewise.
2676 (real_mode_target): New variable.
2677 (prot_mode_target): Likewise.
2678 (initrd_mem_target): Likewise.
2679 (relocator): Likewise.
2680 (efi_mmap_buf): Likewise.
2681 (efi_mmap_size): Likewise.
2682 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
2683 (free_pages): Use relocator.
2684 (allocate_pages): Account for efi_mmap and use relocator. Return error.
2685 (grub_linux_setup_video): Return error.
2686 (grub_linux_trampoline_start): Removed.
2687 (grub_linux_trampoline_end): Likewise.
2688 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
2689 andd video parameters depending on firmware.
2690 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
2691 [GRUB_MACHINE_EFI]: Pass EFI parameters.
2692 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
2693 (grub_cmd_initrd): Use relocator.
2694 * grub-core/loader/i386/linux_trampoline.S: Removed.
2695 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
2696 (elf_sec_entsize): Likewise.
2697 (elf_sec_shstrndx): Likewise.
2698 (elf_sections): Likewise.
2699 (grub_multiboot_load): Use relocator.
2700 (grub_multiboot_get_mbi_size): Account for sections.
2701 (grub_multiboot_make_mbi): Use relocator and support sections.
2702 (grub_multiboot_add_elfsyms): New function.
2703 (grub_multiboot_free_mbi): Free sections.
2704 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
2705 (grub_linux_real_target): Likewise.
2706 (grub_linux_real_chunk): Likewise.
2707 (grub_linux16_prot_size): Likewise.
2708 (grub_linux16_boot): Use relocator.
2709 (grub_linux_unload): Unload relocator.
2710 (grub_cmd_linux): Use relocator.
2711 (grub_cmd_initrd): Likewise.
2712 * grub-core/loader/i386/pc/ntldr.c: New file.
2713 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
2714 Don't try to guess CPU frequency.
2715 (grub_xnu_set_video): Stretch bitmap.
2716 (grub_xnu_boot): Use relocator.
2717 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
2718 (grub_linux_unload): Free relocator.
2719 (grub_linux_load32): Use relocator.
2720 (grub_linux_load64): Likewise.
2721 (grub_cmd_initrd): Likewise.
2722 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
2723 (grub_multiboot_unload): Unload relocator.
2724 (grub_cmd_multiboot): Use relocator.
2725 (grub_cmd_module): Likewise.
2726 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
2727 Use relocator and support sections.
2728 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
2729 (elf_sec_entsize): Likewise.
2730 (elf_sec_shstrndx): Likewise.
2731 (elf_sections): Likewise.
2732 (grub_multiboot_load): Use relocator.
2733 (grub_multiboot_get_mbi_size): Account for sections.
2734 (grub_multiboot_make_mbi): Use relocator and support sections.
2735 (grub_multiboot_add_elfsyms): New function.
2736 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
2737 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
2738 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
2739 Prototype changed. All users updated.
2740 (grub_xnu_align_heap): Simplified.
2741 (grub_xnu_writetree_toheap): Likewise.
2742 (grub_xnu_unload): Unload relocator.
2743 (grub_cmd_xnu_kernel): Use relocator.
2744 (grub_cmd_xnu_kernel64): Likewise.
2745 (grub_xnu_register_memory): Simplified.
2746 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
2747 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
2748 EFI is finished.
2749 (grub_console_checkkey): Likewise.
2750 (grub_console_getkey): Likewise.
2751 (grub_console_getwh): Likewise.
2752 (grub_console_getxy): Likewise.
2753 (grub_console_gotoxy): Likewise.
2754 (grub_console_cls): Likewise.
2755 (grub_console_setcolorstate): Likewise.
2756 (grub_console_setcursor): Likewise.
2757 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
2758 * grub-core/tests/boot/kbsd.init-i386.S: New file.
2759 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
2760 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
2761 * grub-core/tests/boot/kernel-8086.S: Likewise.
2762 * grub-core/tests/boot/kernel-i386.S: Likewise.
2763 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
2764 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
2765 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
2766 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
2767 * grub-core/tests/boot/knetbsd.cfg: Likewise.
2768 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
2769 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
2770 * grub-core/tests/boot/linux.cfg: Likewise.
2771 * grub-core/tests/boot/linux.init-i386.S: Likewise.
2772 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
2773 * grub-core/tests/boot/linux16.cfg: Likewise.
2774 * grub-core/tests/boot/multiboot.cfg: Likewise.
2775 * grub-core/tests/boot/multiboot2.cfg: Likewise.
2776 * grub-core/tests/boot/ntldr.cfg: Likewise.
2777 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
2778 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
2779 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
2780 New definition.
2781 * include/grub/dl.h (grub_dl_unload_all): Removed.
2782 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
2783 (grub_efi_finish_boot_services): Change prototype.
2784 (grub_efi_is_finished): New variable.
2785 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
2786 Changed prototype.
2787 (grub_efiemu_finish_boot_services): Removed.
2788 (grub_machine_efiemu_init_tables): New prototype.
2789 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
2790 (grub_elf64_phdr_iterate): Likewise.
2791 * include/grub/i386/bsd.h: Include relocator.h.
2792 (freebsd_tag_header): New struct.
2793 (grub_openbsd_bios_mmap): Removed.
2794 (grub_unix_real_boot): Removed.
2795 (grub_freebsd_load_elfmodule32): Changed prototype.
2796 (grub_freebsd_load_elfmodule_obj64): Likewise.
2797 (grub_freebsd_load_elf_meta32): Likewise.
2798 (grub_freebsd_load_elf_meta64): Likewise.
2799 (grub_freebsd_add_meta): Removed.
2800 (grub_netbsd_load_elf_meta32): New prototype.
2801 (grub_netbsd_load_elf_meta64): Likewise.
2802 (grub_bsd_add_meta): Likewise.
2803 (grub_openbsd_ramdisk_descriptor): New struct.
2804 (grub_openbsd_find_ramdisk32): New prototype.
2805 (grub_openbsd_find_ramdisk64): Likewise.
2806 * include/grub/i386/coreboot/loader.h: Removed.
2807 * include/grub/i386/efi/loader.h: Likewise.
2808 * include/grub/i386/ieee1275/loader.h: Likewise.
2809 * include/grub/i386/linux.h (linux_kernel_header): Change void *
2810 to grub_uint32_t.
2811 * include/grub/i386/loader.h: Removed.
2812 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
2813 value.
2814 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
2815 (grub_phys_addr_t): New type.
2816 (grub_vtop): New inline function.
2817 (grub_map_memory): Likewise.
2818 (grub_unmap_memory): Likewise.
2819 * include/grub/i386/multiboot/loader.h: Removed.
2820 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
2821 (NETBSD_BTINFO_CONSOLE): New definition.
2822 (NETBSD_BTINFO_SYMTAB): Likewise.
2823 (NETBSD_BTINFO_MODULES): Likewise.
2824 (NETBSD_BTINFO_FRAMEBUF): Likewise.
2825 (grub_netbsd_bootinfo): New struct.
2826 (grub_netbsd_btinfo_common): Use explicit bitsize.
2827 (grub_netbsd_btinfo_mmap_entry): Removed.
2828 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
2829 (grub_netbsd_btinfo_bootdisk): New struct.
2830 (grub_netbsd_btinfo_symtab): Likewise.
2831 (grub_netbsd_btinfo_serial): Likewise.
2832 (grub_netbsd_btinfo_modules): Likewise.
2833 (grub_netbsd_btinfo_framebuf): Likewise.
2834 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
2835 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
2836 Likewise.
2837 (grub_openbsd_bootargs): Use explicit bitsize.
2838 (grub_openbsd_bootarg_console): New struct.
2839 (GRUB_OPENBSD_COM_MAJOR): New definition.
2840 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
2841 * include/grub/i386/pc/efiemu.h: Removed.
2842 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
2843 * include/grub/i386/qemu/loader.h: Removed.
2844 * include/grub/i386/relocator.h: Rewritten.
2845 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
2846 * include/grub/mips/memory.h: New file.
2847 * include/grub/mips/multiboot.h: Rewritten.
2848 * include/grub/mips/relocator.h: Rewritten.
2849 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
2850 (grub_vtop): New function.
2851 (grub_map_memory): Likewise.
2852 (grub_unmap_memory): Likewise.
2853 * include/grub/misc.h (ALIGN_DOWN): New definition.
2854 * include/grub/mm.h (grub_mm_check_real): New proto.
2855 (GRUB_MM_CHECK): New definition.
2856 * include/grub/mm_private.h: New file.
2857 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
2858 (grub_multiboot_get_mbi_size): Removed.
2859 (grub_multiboot_make_mbi): Change prottype.
2860 (grub_multiboot_set_accepts_video): New proto.
2861 (grub_multiboot_add_elfsyms): Likewise.
2862 (grub_multiboot_payload_eip): New variable.
2863 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
2864 New prototype.
2865 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
2866 New definition.
2867 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
2868 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
2869 * include/grub/powerpc/ieee1275/loader.h: Removed.
2870 * include/grub/powerpc/memory.h: New file.
2871 * include/grub/powerpc/relocator.h: Likewise.
2872 * include/grub/relocator.h: Likewise.
2873 * include/grub/relocator_private.h: Likewise.
2874 * include/grub/sparc64/ieee1275/loader.h: Removed.
2875 * include/grub/x86_64/memory.h: New file.
2876 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
2877 (grub_xnu_heap_malloc): Likewise.
2878 (grub_xnu_heap_real_start): Removed.
2879 (grub_xnu_heap_start): Likewise.
2880 (grub_xnu_relocator): New variable.
2881 (grub_xnu_heap_target_start): Likewise.
2882 * tests/util/grub-shell.in: Support non-pc.
2883 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 2884
5303b85d
VS
28852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
2888 on malloc error.
2889 (grub_bidi_logical_to_visual): Check that malloc succeded.
2890 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
2891 puts.
2892 (grub_xputs_normal): Likewise.
2893
d768d159
VS
28942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
2897 extra_dist.
2898
28992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/efiemu/runtime/efiemu.sh: Removed.
2902
5bf84df4
VS
29032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
2906
3626810e
VS
29072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
2910 dprintf.
2911
a7363f53
BC
29122010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
2913
2914 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
2915
902f75f6
VS
29162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/normal/term.c (print_more): Fix a memory leak.
2919 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
2920 (grub_xputs_normal): Likewise.
2921
3c707967
VS
29222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
2925 the begining of the string
2926
2053cc07
VS
29272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/script/script.c (grub_script_parse): Free parsed on
2930 failure.
2931
46422ebf
VS
29322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
2935 on failure.
2936
9e0fa3f6
VS
29372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
2940 return.
2941
3393cf16
VS
29422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
2945 (scroll_up): Fix a memory leak.
2946
b17540cb
VS
29472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
2950 errors.
2951
67140446
VS
29522010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 Handle USB pendrives exposed as floppies.
2955
2956 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
2957 floppy.
2958 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
2959 Check for partitions on all devices.
2960
e35e46fc
VS
29612010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
2964 (readkey): Likewise.
2965
d24c6190
BC
29662010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
2967
2968 Multiple variable names support to "export" command.
2969
2970 * normal/context.c (grub_cmd_export): "export" command supports
2971 multiple variable names.
2972
04ddcc6a
ST
29732010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
2974
2975 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
2976 --target=drive output to Mach device name.
2977
0c8b61d8
BC
29782010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
2979
2980 New Automake based build system for GRUB.
2981
2982 * ABOUT-NLS: New file.
2983 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
2984 in Makefile.util.def file.
2985 * Makefile.util.def: New file. Autogen build definitions file for
2986 GRUB host utils.
2987 * conf/Makefile.common: New file. Common variables for GRUB host
2988 utils and target modules.
2989 * conf/Makefile.extra-dist: New file. Extra files for make dist.
2990 * docs/Makefile.am: New file. Automake file for docs.
2991 * gentpl.py: New file. Python script to generate Autogen
2992 template.
2993 * grub-core/Makefile.am: New file. GRUB target modules' rules
2994 that doesn't fit in Makefile.core.def file.
2995 * grub-core/Makefile.core.def: New file. Autogen build
2996 definitions file for GRUB target modules.
2997 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
2998 specific setjmp.S file.
2999 * po/Makefile.am: New file.
3000
3001 * .bzrignore: New ignores.
3002 * INSTALL: New requirements, without Ruby.
3003 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
3004 * autogen.sh: Updated to invoke autogen as necessary.
3005 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
3006 and defines for Automake conditionals.
3007 * geninit.sh: Refactoring.
3008
3009 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
3010 necessary.
3011 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
3012 New prototype.
3013
3014 * include/grub/test.h: Fix functional test modules' naming.
3015 * grub-core/tests/example_functional_test.c: Fix test module name.
3016
3017 * util/misc.c: Hosted versions' of grub functions for libgrub.a
3018 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
3019 * util/grub-editenv.c: Likewise.
3020 * util/grub-fstest.c: Likewise.
3021 * util/grub-mkdevicemap.c: Likewise.
3022 * util/grub-mkfont.c: Likewise.
3023 * util/grub-mkimage.c: Likewise.
3024 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3025 * util/grub-probe.c: Likewise.
3026 * util/grub-script-check.c: Likewise.
3027 * util/i386/pc/grub-setup.c: Likewise.
3028 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3029
3030 * tests/util/grub-shell.in: Fix override directory path.
3031 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
3032 * util/import_gcry.py: Create Makefile.gcry.def file instead.
3033
3034 * util/lvm.c: Update #includes.
3035 * util/raid.c: Likewise.
3036 * util/resolve.c: Likewise.
3037 * grub-core/bus/emu/pci.c: Likewise.
3038 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
3039 * grub-core/lib/posix_wrap/string.h: Likewise.
3040 * grub-core/kern/emu/main.c: Likewise.
3041
3042 * grub-core/gensymlist.sh: New file. Script for generating kernel
3043 symbols file.
3044 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
3045
3046 * grub-core/gentrigtables.c: Fix unused variable warnings.
3047
3048 * Makefile.in: Removed.
3049 * conf/any-emu.rmk: Removed.
3050 * conf/common.rmk: Removed.
3051 * conf/i386-coreboot.rmk: Removed.
3052 * conf/i386-efi.rmk: Removed.
3053 * conf/i386-ieee1275.rmk: Removed.
3054 * conf/i386-multiboot.rmk: Removed.
3055 * conf/i386-pc.rmk: Removed.
3056 * conf/i386-qemu.rmk: Removed.
3057 * conf/i386.rmk: Removed.
3058 * conf/mips-yeeloong.rmk: Removed.
3059 * conf/mips.rmk: Removed.
3060 * conf/powerpc-ieee1275.rmk: Removed.
3061 * conf/sparc64-ieee1275.rmk: Removed.
3062 * conf/tests.rmk: Removed.
3063 * conf/x86-efi.rmk: Removed.
3064 * conf/x86_64-efi.rmk: Removed.
3065 * gendistlist.sh: Removed.
3066 * geninitheader.sh: Removed.
3067 * genkernsyms.sh.in: Removed.
3068 * genmk.rb: Removed.
3069 * gensymlist.sh.in: Removed.
3070 * mkinstalldirs: Removed.
3071 * boot: Moved ...
3072 * grub-core/boot: ... to here.
3073 * bus: Moved ...
3074 * grub-core/bus: ... to here.
3075 * commands: Moved ...
3076 * grub-core/commands: ... to here.
3077 * disk: Moved ...
3078 * grub-core/disk: ... to here.
3079 * efiemu: Moved ...
3080 * grub-core/efiemu: ... to here.
3081 * font: Moved ...
3082 * grub-core/font: ... to here.
3083 * fs: Moved ...
3084 * grub-core/fs: ... to here.
3085 * gencmdlist.sh: Moved ...
3086 * grub-core/gencmdlist.sh: ... to here.
3087 * genemuinit.sh: Moved ...
3088 * grub-core/genemuinit.sh: ... to here.
3089 * genemuinitheader.sh: Moved ...
3090 * grub-core/genemuinitheader.sh: ... to here.
3091 * genfslist.sh: Moved ...
3092 * grub-core/genfslist.sh: ... to here.
3093 * genhandlerlist.sh: Moved ...
3094 * grub-core/genhandlerlist.sh: ... to here.
3095 * genmoddep.awk: Moved ...
3096 * grub-core/genmoddep.awk: ... to here.
3097 * genmodsrc.sh: Moved ...
3098 * grub-core/genmodsrc.sh: ... to here.
3099 * genpartmaplist.sh: Moved ...
3100 * grub-core/genpartmaplist.sh: ... to here.
3101 * genparttoollist.sh: Moved ...
3102 * grub-core/genparttoollist.sh: ... to here.
3103 * genterminallist.sh: Moved ...
3104 * grub-core/genterminallist.sh: ... to here.
3105 * gentrigtables.c: Moved ...
3106 * grub-core/gentrigtables.c: ... to here.
3107 * genvideolist.sh: Moved ...
3108 * grub-core/genvideolist.sh: ... to here.
3109 * gettext: Moved ...
3110 * grub-core/gettext: ... to here.
3111 * gfxmenu: Moved ...
3112 * grub-core/gfxmenu: ... to here.
3113 * gnulib: Moved ...
3114 * grub-core/gnulib: ... to here.
3115 * hello: Moved ...
3116 * grub-core/hello: ... to here.
3117 * hook: Moved ...
3118 * grub-core/hook: ... to here.
3119 * io: Moved ...
3120 * grub-core/io: ... to here.
3121 * kern: Moved ...
3122 * grub-core/kern: ... to here.
3123 * lib: Moved ...
3124 * grub-core/lib: ... to here.
3125 * loader: Moved ...
3126 * grub-core/loader: ... to here.
3127 * mmap: Moved ...
3128 * grub-core/mmap: ... to here.
3129 * normal: Moved ...
3130 * grub-core/normal: ... to here.
3131 * partmap: Moved ...
3132 * grub-core/partmap: ... to here.
3133 * parttool: Moved ...
3134 * grub-core/parttool: ... to here.
3135 * script: Moved ...
3136 * grub-core/script: ... to here.
3137 * term: Moved ...
3138 * grub-core/term: ... to here
3139 * tests/example_functional_test.c: Moved ...
3140 * grub-core/tests/example_functional_test.c: ... to here.
3141 * tests/lib/functional_test.c: Moved ...
3142 * grub-core/tests/lib/functional_test.c: ... to here.
3143 * tests/lib/test.c: Moved ...
3144 * grub-core/tests/lib/test.c: ... to here.
3145 * video: Moved ...
3146 * grub-core/video: ... to here.
3147
645586e6
BC
31482010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3149
3150 Replace --enable-grub-emu-modules with grub-emu-lite.
3151
3152 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
3153 cache.S.
3154
3155 * include/grub/emu/misc.h (grub_emu_init): New prototype.
3156 * kern/emu/full.c: New file. For grub-emu specific initialization.
3157 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
3158 * kern/emu/main.c: Call initialization function grub_emu_init.
3159
3160 * Makefile.in: Include grub-emu-lite in install.
3161 * commands/parttool.c: Use grub_no_autoload to differentiate
3162 between grub-emu and grub-emu-lite.
3163 * include/grub/misc.h: New variable grub_no_autoload.
3164
3165 * conf/any-emu.rmk: New rules for grub-emu-lite.
3166 * configure.ac: Remove --enable-grub-emu-modules.
3167 * genmk.rb: Cleanup unnecessary rules.
3168 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
3169
3170 * normal/main.c: Don't load list files on grub-emu-lite.
3171 * util/misc.c (grub_arch_sync_caches): Removed.
3172
f86a4030
CW
31732010-08-23 Colin Watson <cjwatson@ubuntu.com>
3174
3175 * kern/mips/startup.S (grub_prefix): Update comment to refer to
3176 grub-mkimage rather than grub-mkelfimage.
3177 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3178
06776944
VS
31792010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
3182 a key after CapsLock or NumLock. It's just a qemu bug.
3183
df262419
VS
31842010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
3187 needed by libusb wrapper.
3188
b40ea81b
ST
31892010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3190
3191 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
3192
dee50575
VS
31932010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
3196 --nounzip is passed.
3197
fb1d7b79
VS
31982010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 USB hotunplugging and USB serial support.
3201
3202 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
3203 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
3204 (grub_uhci_transfer): Respect timeout and set *actual.
3205 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
3206 non-standard length.
3207 (grub_usb_device_attach): Autoload modules.
3208 (GRUB_MOD_INIT): Set grub_term_poll_usb.
3209 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
3210 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
3211 users updated.
3212 (grub_usb_add_hub): Fill nports and children.
3213 (attach_root_port): Receive hub instead of controller.
3214 All users updated. Fill hub->devices.
3215 (grub_usb_root_hub): Allocate hub->devices.
3216 (detach_device): New function.
3217 (poll_nonroot_hub): Fill children and detach devices.
3218 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
3219 actual arguments. All users updated.
3220 (grub_usb_bulk_read_extended): New function.
3221 * bus/usb/serial/common.c: New file.
3222 * bus/usb/serial/ftdi.c: Likewise.
3223 * bus/usb/serial/pl2303.c: Likewise.
3224 * commands/terminal.c (handle_command): Support wildcard.
3225 * commands/usbtest.c: Output "Unknown" instead of empty string.
3226 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
3227 (usbserial_common_mod_SOURCES): New variable.
3228 (usbserial_common_mod_CFLAGS): Likewise.
3229 (usbserial_common_mod_LDFLAGS): Likewise.
3230 (pkglib_MODULES): Add usbserial_pl2303.mod.
3231 (usbserial_pl2303_mod_SOURCES): New variable.
3232 (usbserial_pl2303_mod_CFLAGS): Likewise.
3233 (usbserial_pl2303_mod_LDFLAGS): Likewise.
3234 (pkglib_MODULES): Add usbserial_ftdi.mod.
3235 (usbserial_ftdi_mod_SOURCES): New variable.
3236 (usbserial_ftdi_mod_CFLAGS): Likewise.
3237 (usbserial_ftdi_mod_LDFLAGS): Likewise.
3238 (pkglib_MODULES): Add serial.mod.
3239 (serial_mod_SOURCES): New variable.
3240 (serial_mod_CFLAGS): Likewise.
3241 (serial_mod_LDFLAGS): Likewise.
3242 * conf/i386-pc.rmk: Likewise.
3243 * conf/mips-yeeloong.rmk: Likewise.
3244 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
3245 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3246 * disk/usbms.c (first_available_slot): New variable.
3247 (grub_usbms_attach): Don't reuse free slots due to potential cache
3248 problems.
3249 * include/grub/serial.h: Moved to ..
3250 * include/grub/ns8250.h: ...this.
3251 * include/grub/serial.h: New file.
3252 * include/grub/term.h (grub_term_poll_usb): New variable.
3253 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
3254 readkey. All users updated.
3255 (grub_terminfo_output_state): Pass term to put.
3256 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
3257 (grub_usb_controller_dev): Add timeout and actual arguments to
3258 transfer. All users updated.
3259 (grub_usb_interface): New field detach_data.
3260 (grub_usb_device): New fields children and nports.
3261 (grub_usb_ep_type_t): New type.
3262 (grub_usb_get_ep_type): New function.
3263 (grub_usb_bulk_read_extended): Likewise.
3264 * include/grub/usbdesc.h (grub_usb_desc): New type.
3265 * include/grub/usbserial.h: New file.
3266 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
3267 * kern/term.c (grub_term_poll_usb): New variable.
3268 (grub_getkey): Call grub_term_poll_usb if set.
3269 (grub_checkkey): Likewise.
3270 (grub_getkeystatus): Likewise.
3271 * term/serial.c: Moved controller-specific parts to ...
3272 * term/ns8250.c: ... here.
3273 * term/serial.c: Mostly rewritten.
3274 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
3275 according to spec.
3276
21a313de
RM
32772010-08-20 Robert Millan <rmh@gnu.org>
3278
3279 Make kFreeBSD code more generic to support ext2fs as root, ufs as
3280 a separate module and maybe other interesting combinations.
3281
3282 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
3283 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
3284 (kfreebsd_entry): Add generic filesystem module load routine.
3285 Map GRUB `ext2' to kFreeBSD `ext2fs'.
3286
63c734a6
CW
32872010-08-20 Colin Watson <cjwatson@ubuntu.com>
3288
3289 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
3290 "numcenter" (I misunderstood the purpose of this entry).
3291 * docs/grub.texi (sendkey): Likewise.
3292
c4d16542
CW
32932010-08-20 Colin Watson <cjwatson@ubuntu.com>
3294
3295 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
3296 status flag options; simply omitting the option is equivalent and
3297 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
3298 (keysym_table): Rename "num5numlock" to "numlock".
3299 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
3300 can uniformly say that only the last of multiple `sendkey'
3301 invocations has any effect.
3302 * docs/grub.texi (sendkey): New section.
3303
93541d66
CW
33042010-08-19 Colin Watson <cjwatson@ubuntu.com>
3305
3306 * commands/i386/pc/sendkey.c (options): Fix three typos.
3307
b4ece5e1
VS
33082010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 Implement sendkey support.
3311
3312 * commands/i386/pc/sendkey.c: New file.
3313 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
3314 (sendkey_mod_SOURCES): New variable.
3315 (sendkey_mod_CFLAGS): Likewise.
3316 (sendkey_mod_LDFLAGS): Likewise.
3317
51f1f5af
CW
33182010-08-18 Colin Watson <cjwatson@ubuntu.com>
3319
3320 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
3321 fix warnings from Autoconf.
3322
9da94e05
CW
33232010-08-18 Colin Watson <cjwatson@ubuntu.com>
3324
3325 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
3326 to avoid false positives with some assemblers that output things
3327 like "someprefix_func" as part of their output.
3328
729a0f2e
RM
33292010-08-15 Robert Millan <rmh@gnu.org>
3330
3331 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
3332 errors.
3333 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
3334 grub_get_libzfs_handle() errors.
3335
f3710e08
RM
33362010-08-14 Robert Millan <rmh@gnu.org>
3337
3338 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
3339 filesystem is not ZFS.
3340
7a3c13de
BC
33412010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3342
3343 Fix for misspelled color names defaulting to black/black (bug
3344 reported by Doug Nazar)
3345
3346 * include/grub/normal.h (grub_parse_color_name_pair): Add return
3347 status to prototype.
3348 * normal/color.c (grub_parse_color_name_pair): Return failure
3349 status.
3350 (grub_env_write_color_normal): Ignore bad color names.
3351 (grub_env_write_color_highlight): Likewise.
3352 * normal/main.c (GRUB_MOD_INIT): Set default color names.
3353
ab8ba50d
BC
33542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3355
3356 "shift" command support to GRUB script.
3357
3358 * include/grub/script_sh.h (grub_script_shift): New prototype.
3359 * script/execute.c (grub_script_shift): New function.
3360 * script/main.c (grub_script_init): Register shift command.
3361 (grub_script_fini): Unregister shift command.
3362 * util/grub-script-check.c (grub_script_cmd_shift): New function.
3363
3364 * tests/grub_script_shift.in: New testcase.
3365 * conf/tests.rmk: Rules for new testcase.
3366
4d61999e
BC
33672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3368
3369 "continue" command support to GRUB script.
3370
3371 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
3372 (grub_script_break): Continue support.
3373 * script/main.c (grub_script_init): Register continue command.
3374 (grub_script_fini): Unregister continue command.
3375
3376 * tests/grub_script_continue.in: New testcase.
3377 * conf/tests.rmk: Rules for new testcase.
3378
4df51e00
BC
33792010-08-12 BVK Chaitanya <bvk@dbook>
3380
3381 "break" command support to GRUB script.
3382
3383 * conf/common.rmk: Rule updates to grub-script-check.
3384 * include/grub/misc.h (grub_min): New function.
3385 * include/grub/script_sh.h (grub_script_init): New prototype.
3386 (grub_script_fini): New prototype.
3387 (grub_script_break): New prototype.
3388 * script/main.c (grub_script_init): New function.
3389 (grub_script_fini): New function.
3390 * script/execute.c (grub_script_break): New function.
3391 * normal/main.c: Calls to grub_script_{init,fini}.
3392 * util/grub-script-check.c (grub_script_break): New function.
3393
3394 * tests/grub_script_break.in: New testcase.
3395 * conf/tests.rmk: Rules for new test case.
3396
f12c8420
BC
33972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3398
3399 Function parameters support to GRUB script.
3400
3401 * script/yylex.l (VARIABLE): Regular expression update.
3402 * script/function.c (grub_script_function_call): Moved ...
3403 * script/execute.c (grub_script_function_call): ... to here.
3404 (grub_script_execute_arglist_to_argv): Removed.
3405 (grub_script_arglist_to_argv): New function.
3406 * script/argv.c: New file.
3407 (grub_script_argv_free): New function.
3408 (grub_script_argv_next): Likewise.
3409 (grub_script_argv_append): Likewise.
3410 (grub_script_argv_split_append): Likewise.
3411 * include/grub/script_sh.h (grub_script_argv): New struct.
3412 (grub_script_argv_free): New function.
3413 (grub_script_argv_next): Likewise.
3414 (grub_script_argv_append): Likewise.
3415 (grub_script_argv_split_append): Likewise.
3416
3417 * conf/common.rmk (normal.mod): New source script/argv.c.
3418
3419 * tests/grub_script_echo1.in: More tests.
3420 * tests/grub_script_vars1.in: Likewise.
3421 * tests/grub_script_functions.in: New test case.
3422 * conf/tests.rmk: Rules for new testcase.
3423
8022b748
BC
34242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3425
3426 Remove grub_script_cmdblock struct.
3427
3428 * include/grub/script_sh.h: Remove grub_script_cmdblock.
3429 * script/parser.y: Likewise.
3430 * script/execute.c: Rename cmdblock suffix to cmdlist.
3431 * script/script.c: Likewise.
3432 * util/grub-script-check.c: Likewise.
3433
79a6ba61
YB
34342010-08-11 Yves Blusseau <blusseau@zetam.org>
3435
3436 * .bzrignore: add grub-macho2img
3437
d04b9414
VS
34382010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
3441
f947ab49
VS
34422010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 Remove the dump of sm712 initialisation sequence.
3445
3446 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
3447 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
3448 (GRUB_VGA_IO_MISC_WRITE): Likewise.
3449 (GRUB_VGA_CR_*): Added many registers.
3450 (GRUB_VGA_SR_*): Likewise.
3451 (GRUB_VGA_GR_*): Likewise.
3452 (grub_vga_write_arx): New function.
3453 (grub_video_hw_config): New struct.
3454 (grub_vga_set_geometry): New function.
3455 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
3456 GRUB_PCI_CLASS_SUBCLASS_VGA.
3457 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
3458 * video/sm712.c (grub_sm712_write_reg): New function
3459 (grub_sm712_read_reg): Likewise.
3460 (grub_sm712_sr_write): Likewise.
3461 (grub_sm712_gr_write): Likewise.
3462 (grub_sm712_cr_write): Likewise.
3463 (grub_sm712_write_arx): Likewise.
3464 (grub_sm712_cr_shadow_write): Likewise.
3465 (grub_sm712_write_dda_lookup): Likewise.
3466 (grub_video_sm712_setup): Initialise the video rather then
3467 blindly replay the dump.
3468 (main) [TEST]: Add a routine to be able to compile as standalone for
3469 tests.
3470 * video/sm712_init.c (sm712_init): Removed.
3471 (sm712_sr_seq1): New array.
3472 (sm712_sr_seq2): Likewise.
3473
f0206638
VS
34742010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * include/grub/vga.h: Add missing grub/pci.h include.
3477
2764da3b
YB
34782010-08-10 Yves Blusseau <blusseau@zetam.org>
3479
3480 * util/grub-macho2img.c (main): fix typo
3481
cf0c775e
VS
34822010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
3485 (grub_vga_gr_read): Likewise.
3486 (grub_vga_cr_write): Likewise.
3487 (grub_vga_cr_read): Likewise.
3488 (grub_vga_sr_write): Likewise.
3489 (grub_vga_sr_read): Likewise.
3490 (grub_vga_palette_read): Likewise.
3491 (grub_vga_palette_write): Likewise.
3492 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
3493 (grub_sm712_sr_read): New function.
3494 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
3495 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
3496
07f360e9
RM
34972010-08-09 Robert Millan <rmh@gnu.org>
3498
3499 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
3500 out unused variables on non-ZFS build.
3501
346c2072
RM
35022010-08-08 Robert Millan <rmh@gnu.org>
3503
3504 Fix path generation for sub-filesystems in ZFS.
3505
3506 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
3507 missing slash.
3508
71175420
RM
35092010-08-08 Robert Millan <rmh@gnu.org>
3510
3511 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
3512
0d8286f3
RM
35132010-08-08 Robert Millan <rmh@gnu.org>
3514
3515 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
3516 exist, issue a proper error message (rely on `ls' for translated
3517 strings).
3518
55dd2924
RM
35192010-08-08 Robert Millan <rmh@gnu.org>
3520
3521 Fix grub-probe invocation.
3522
3523 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
3524
d3dd9e80
RM
35252010-08-04 Robert Millan <rmh@gnu.org>
3526
3527 * configure.ac: Remove checks for getfsstat() and getmntany().
3528 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
3529 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
3530 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
3531 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
3532 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
3533 function.
3534 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
3535 via find_mount_point_from_dir() and getfsstat() / getmntany().
3536
0de22aa9
RM
35372010-08-04 Robert Millan <rmh@gnu.org>
3538
3539 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3540 (grub_find_zpool_from_mount_point): Merge into ...
3541 (grub_find_zpool_from_dir): ... this.
3542 * kern/emu/misc.c: Likewise.
3543
3544 * kern/emu/misc.c
3545 (grub_make_system_path_relative_to_its_root): Replace
3546 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
3547 with grub_find_zpool_from_dir().
3548 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
3549
62858144
RM
35502010-08-04 Robert Millan <rmh@gnu.org>
3551
3552 Support OpenSolaris in ZFS device resolution.
3553
3554 * configure.ac: Check for getmntany().
3555 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
3556 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
3557 support.
3558
9dd6fd50
RM
35592010-08-03 Robert Millan <rmh@gnu.org>
3560
3561 Fix grub-emu build.
3562
3563 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
3564 * include/grub/emu/misc.h: ... here.
3565
3566 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
3567 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
3568
3569 * util/misc.c: Remove `<grub/util/libzfs.h>'.
3570 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
3571 (grub_get_libzfs_handle): Move to ...
3572 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
3573 (grub_get_libzfs_handle): ... here.
3574
c9f7ff97
BC
35752010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
3576
3577 * script/execute.c (grub_script_execute_cmdline): Check for NULL
3578 as command name case.
3579
a870a783
CW
35802010-08-02 Colin Watson <cjwatson@ubuntu.com>
3581
3582 * disk/raid.c (insert_array): Select unique numbers for named arrays
3583 as well, for use as keys in the disk cache.
3584
c7db243b
RM
35852010-08-01 Robert Millan <rmh@gnu.org>
3586
3587 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
3588 kFreeBSD device name, except on ZFS where the filesystem label is
3589 used.
3590 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
3591 `/boot/zfs/zpool.cache'.
3592 Set mountfrom kernel variable using ${kfreebsd_device}.
3593
f7abdefb
RM
35942010-08-01 Robert Millan <rmh@gnu.org>
3595
3596 Make it even harder to use uninitialized `libzfs_handle' (and
3597 make the interface a bit simpler).
3598
3599 * include/grub/util/misc.h (grub_util_init_libzfs)
3600 (libzfs_handle): Remove.
3601 (grub_get_libzfs_handle): New prototype.
3602
3603 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
3604 attribute.
3605 (grub_util_init_libzfs): Remove.
3606 (grub_get_libzfs_handle): New function.
3607
3608 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
3609 grub_get_libzfs_handle() to obtain a libzfs handle instead of
3610 accessing `libzfs_handle' directly.
3611
c882acc0
RM
36122010-08-01 Robert Millan <rmh@gnu.org>
3613
3614 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3615 (grub_find_zpool_from_mount_point): New function prototypes.
3616
3617 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3618 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3619
3620 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3621 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3622 `static' attribute.
3623
3624 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3625 finding zpool from mount point into ...
3626 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3627
3628 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3629 requested path is part of a ZFS pool, use
3630 grub_find_zpool_from_mount_point() to detect its filesystem name,
3631 and generate a path with `/fsname@path' syntax.
3632
8bfe31d8
CW
36332010-08-01 Colin Watson <cjwatson@ubuntu.com>
3634
3635 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
3636 (void) rather than () so that this is a proper prototype.
3637
553df63d
VS
36382010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
3641
8687cf07
VS
36422010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
3645 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
3646
ea9be8ea
CW
36472010-08-01 Colin Watson <cjwatson@ubuntu.com>
3648
3649 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
3650
6eea041a
CW
36512010-08-01 Colin Watson <cjwatson@ubuntu.com>
3652
3653 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
3654
2cfb45df
CW
36552010-08-01 Colin Watson <cjwatson@ubuntu.com>
3656
3657 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
3658 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
3659 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
3660 disable gfxpayload.
3661 (Shell-like scripting): Add real content.
3662 (Serial terminal): Suggest `terminal_input serial; terminal_output
3663 serial' rather than putting the two commands on separate lines,
3664 since console input will be inoperative after the first command.
3665 (menuentry): Document --class, --users, and --hotkey options.
3666 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
3667 Vladimir Serbinenko).
3668
7decd202
VS
36692010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36702010-08-01 Colin Watson <cjwatson@ubuntu.com>
3671
3672 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
3673
c882acc0
RM
36742010-08-01 Robert Millan <rmh@gnu.org>
3675
3676 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3677 (grub_find_zpool_from_mount_point): New function prototypes.
3678
3679 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3680 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3681
3682 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3683 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3684 `static' attribute.
3685
3686 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3687 finding zpool from mount point into ...
3688 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3689
3690 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3691 requested path is part of a ZFS pool, use
3692 grub_find_zpool_from_mount_point() to detect its filesystem name,
3693 and generate a path with `/fsname@path' syntax.
3694
deb0caa3
RM
36952010-08-01 Robert Millan <rmh@gnu.org>
3696
3697 Prevent accidental use of uninitialized libzfs_handle.
3698
3699 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
3700 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
3701 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
3702
ce04ef47
CW
37032010-08-01 Colin Watson <cjwatson@ubuntu.com>
3704
3705 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
3706 util/grub.d/10_linux.in). Fixes Debian bug #591093.
3707
ebf53056
RM
37082010-08-01 Robert Millan <rmh@gnu.org>
3709
3710 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 3711
3710bb6b
RM
37122010-07-31 Robert Millan <rmh@gnu.org>
3713
3714 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
3715
8072efeb
RM
37162010-07-31 Robert Millan <rmh@gnu.org>
3717
3718 * kern/emu/misc.c: Add missing license header.
3719
3169f4c7
RM
37202010-07-31 Robert Millan <rmh@gnu.org>
3721
3722 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
3723
3724 * include/grub/util/libnvpair.h: Include `<config.h>'.
3725 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
3726 declaring libnvpair prototypes ourselves.
3727 * include/grub/util/libzfs.h: Include `<config.h>'.
3728 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
3729 declaring libzfs prototypes ourselves.
3730
3731 (libzfs_handle): Moved to ...
3732 * include/grub/util/misc.h (libzfs_handle): ... here.
3733 Include `<grub/util/libzfs.h>'.
3734
c9a00aee
RM
37352010-07-30 Robert Millan <rmh@gnu.org>
3736
3737 * include/grub/emu/misc.h: Add missing license header.
3738
a184f9c8
RM
37392010-07-30 Robert Millan <rmh@gnu.org>
3740
3741 Enable `grub-probe -t device' resolution on ZFS.
3742
3743 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
3744 * include/grub/util/libnvpair.h: New file.
3745 * include/grub/util/libzfs.h: New file.
3746
3747 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
3748 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
3749 `<grub/util/libnvpair.h>'.
3750 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
3751
3752 (find_mount_point_from_dir): New static function.
3753 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
3754 function.
3755 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
3756 find_root_device_from_libzfs() before ressorting to find_root_device().
3757
3758 * include/grub/util/misc.h (grub_util_init_libzfs): New function
3759 prototype.
3760 * util/misc.c: Include `<grub/util/libzfs.h>'.
3761 (grub_util_init_libzfs): New function.
3762 [HAVE_LIBZFS] (libzfs_handle): New global variable.
3763 [HAVE_LIBZFS] (fini_libzfs): New static function.
3764 (grub_util_init_libzfs): New function.
3765 * util/grub-probe.c (main): Call grub_util_init_libzfs().
3766
f7790cdd
RM
37672010-07-30 Robert Millan <rmh@gnu.org>
3768
3769 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
3770 (xmalloc, xrealloc, xstrdup, xasprintf): Add
3771 `warn_unused_result' attribute.
3772 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
3773 (grub_xasprintf, grub_xvasprintf): Likewise.
3774 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
3775
0806b63c
RM
37762010-07-29 Robert Millan <rmh@gnu.org>
3777
3778 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
3779 (probe): Handle `PRINT_FS_LABEL'.
3780 (main): Handle `-t fs_label'.
3781
9f841f5c
RM
37822010-07-29 Robert Millan <rmh@gnu.org>
3783
3784 * configure.ac: Remove grub-mkisofs checks.
3785
46371121
VS
37862010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * util/ieee1275/grub-install.in: Don't use empty grub_device.
3789 Reported by: Lennart Sorensen.
3790
37912010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
3794 prior to terminal_input/terminal_output separation. It's been over 1.5
3795 years and those versions weren't widely deployed.
3796
a9600892
CW
37972010-07-22 Colin Watson <cjwatson@ubuntu.com>
3798
3799 * disk/raid.c (insert_array): Don't count named arrays when looking
3800 for unused array numbers.
697e053c 3801 Reported and tested by: Michael Guntsche.
a9600892 3802
c03507df
CW
38032010-07-20 Colin Watson <cjwatson@ubuntu.com>
3804
3805 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
3806 implementation of this so that grub-emu links again, with a note
3807 that this should support hotplugging in the future.
3808
b26f1c11
CW
38092010-07-20 Colin Watson <cjwatson@ubuntu.com>
3810
3811 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3812
efc9d7f1
CW
38132010-07-20 Colin Watson <cjwatson@ubuntu.com>
3814
3815 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
3816 handle on failure.
3817 (grub_loopback_close): Remove empty function.
3818 (grub_loopback_dev): Remove close method.
3819
dd8ff5c9
CW
38202010-07-20 Colin Watson <cjwatson@ubuntu.com>
3821
3822 Disable EFI cursor when the EFI console becomes inactive.
3823
3824 * term/efi/console.c (grub_efi_console_init): New function.
3825 (grub_efi_console_fini): New function.
3826 (grub_console_term_output): Register init and fini methods.
3827
5e3bec67
VS
38282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * tests/util/grub-shell-tester.in: Remove bashism and declare as
3831 sh script.
3832
afaec079
VS
38332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * disk/loopback.c (grub_loopback): Replace filename with file.
3836 (delete_loopback): Handle new semantics.
3837 (grub_cmd_loopback): Likewise.
3838 (grub_loopback_iterate): Likewise.
3839 (grub_loopback_close): Likewise.
3840
a6a11f3c
VS
38412010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
3844 with -p "".
3845 Reported by: Tito Keitel.
3846
64a638b0
VS
38472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * docs/grub.texi (Naming convention): Document new naming convention.
3850
ab8ba957
VS
38512010-07-20 Vadim Solomin <vadic052@gmail.com>
38522010-07-20 Colin Watson <cjwatson@ubuntu.com>
3853
3854 Generate device.map in something closer to the old ordering.
3855
3856 * util/deviceiter.c (struct device): New declaration.
3857 (compare_file_names): Rename to ...
3858 (compare_devices): ... this. Sort by kernel name in preference to
3859 the stable by-id name, but keep the latter as a fallback comparison.
3860 Update header comment.
3861 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
3862 of `struct device' rather than of plain file names.
3863
a29d6a4b
TF
38642010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
3865
3866 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
3867 on i386.
3868
39d824e8
VS
38692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * commands/acpi.c (setup_common_tables): Use sizeof instead of
3872 hardcoding size.
3873 (setv1table): Likewise.
3874
f058276b
FZ
38752010-07-20 Colin Watson <cjwatson@ubuntu.com>
3876
3877 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
3878 removing the homehost if present.
3879 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
3880 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
3881 removing the homehost if present.
3882 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
3883 if possible.
3884 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
3885
3886 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
3887 parameter. Set its pointer target to 0.
3888 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
3889 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
3890 `data_offset' value from the superblock for 1.x metadata.
3891 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
3892 data on the device.
3893 (insert_array): Record the start sector of data on the device.
3894 (grub_raid_register): Pass start_sector parameters to
3895 grub_raid_list->detect and insert_array.
3896 * include/grub/raid.h (struct grub_raid_array): Add start_sector
3897 member.
3898 (struct grub_raid): Add start_sector parameter to `detect'.
3899
3900 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
3901 __attribute__ ((packed)), leaving a comment.
3902 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
3903 (grub_mdraid_detect_09): ... here and ...
3904 (grub_mdraid_detect_1x): ... here.
3905
39062010-07-20 Peter Henn <peter.henn@web.de>
3907
3908 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
3909 chunk size and disk size, which are already given as sector counts
3910 as distinct from the 0.90 units. Fetch the correct device number
3911 from the role table instead of using the table index.
3912
39132010-07-20 Felix Zielcke <fzielcke@z-51.de>
3914
3915 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
3916 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
3917 (WriteMostly1): New macro.
3918 Set array->name to NULL for metadata format 0.90. Add support for
3919 metadata 1.x. Fix some comments.
3920 * disk/raid.c (): Add support for name based RAID arrays. Fix a
3921 few comments.
3922 * util/getroot.c (grub_util_get_grub_dev): Add support for
3923 /dev/md/name style devices.
3924
4b761da9
CW
39252010-07-20 Colin Watson <cjwatson@ubuntu.com>
3926
3927 * .bzrignore: Ignore 20_linux_xen.
3928
5771289a
CW
39292010-07-17 Colin Watson <cjwatson@ubuntu.com>
3930
3931 * util/import_unicode.py: Remove unnecessary imports.
3932
5dab68df
AN
39332010-07-17 Aleš Nesrsta <starous@volny.cz>
3934
3935 Hotplugging and USB hub support.
3936
3937 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
3938 (grub_ohci): Likewise.
3939 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
3940 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
3941 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
3942 (GRUB_OHCI_CTRL_EDS): Likewise.
3943 (GRUB_OHCI_BULK_EDS): Likewise.
3944 (GRUB_OHCI_TDS): Likewise.
3945 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
3946 (grub_ohci_ed_phys2virt): New function.
3947 (grub_ohci_virt_to_phys): Likewise.
3948 (grub_ohci_td_phys2virt): Likewise.
3949 (grub_ohci_td_virt2phys): Likewise.
3950 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
3951 attachment.
3952 (grub_ohci_find_ed): New function.
3953 (grub_ohci_alloc_td): Likewise.
3954 (grub_ohci_free_td): Likewise.
3955 (grub_ohci_free_tds): Likewise.
3956 (grub_ohci_transfer): Use previously allocated memory.
3957 (grub_ohci_portstatus): Reset status changed bit.
3958 (grub_ohci_detect_dev): Supply status changed.
3959 (grub_ohci_fini_hw): Free memory.
3960 (grub_ohci_restore_hw): Reallocate memory.
3961 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
3962 Reset status change.
3963 (grub_uhci_detect_dev): Supply status_change.
3964 * bus/usb/usb.c (attach_hooks): New var.
3965 (grub_usb_device_attach): New function.
3966 (grub_usb_register_attach_hook_class): Likewise.
3967 (grub_usb_unregister_attach_hook_class): Likewise.
3968 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
3969 (grub_usb_add_hub): Reset connection changed bit.
3970 (attach_root_port): New function.
3971 (grub_usb_root_hub): Likewise.
3972 (poll_nonroot_hub): Likewise.
3973 (grub_usb_poll_devices): Likewise.
3974 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
3975 * disk/usbms.c (grub_usbms_open): Use device hooks.
3976 (grub_usbms_iterate) :Poll devices.
3977 (grub_usbms_finddevs): Split into ...
3978 (grub_usbms_attach): ... this ...
3979 (grub_usbms_attach): ... and this.
3980 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
3981 in detect_dev.
3982 (grub_usb_interface): New fields attached and detach_hook.
3983 (grub_usb_attach_hook_class): New type.
3984 (grub_usb_attach_desc): New struct.
3985 (grub_usb_register_attach_hook_class): New function.
3986 (grub_usb_unregister_attach_hook_class): Likewise.
3987 (grub_usb_poll_devices): Likewise.
3988 (grub_usb_device_attach): Likewise.
3989 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
3990 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
3991
3222efaf
VS
39922010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
3995 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
3996 delta determination style. Works with most NetBSD partitions too.
3997
139b714a
VS
39982010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
4001 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
4002
986aad56
VS
40032010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
4006
99be513c
AB
40072010-07-14 Anton Blanchard <anton@samba.org>
4008
4009 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
4010 ET_DYN files.
4011
18075f62
GS
40122010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4013
4014 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
4015
8d9a5b15
GS
40162010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4017
4018 * kern/partition.c (grub_partition_check_containment): New function to
4019 check that a partition is physically contained in a parent. Since
4020 offsets are relative (and non-negative), this reduces to checking that
4021 the partition ends before its parent.
4022 (grub_partition_map_probe): Discard out-of-range sub-partitions.
4023 (grub_partition_iterate): Likewise.
4024 * include/grub/partition.h (grub_partition_map): Slightly more detailed
4025 comments.
4026 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
4027 partitions that start before their parent, and add debug printfs.
4028
19563c25
CW
40292010-07-13 Colin Watson <cjwatson@ubuntu.com>
4030
4031 * Makefile.in (.SUFFIX): Spell correctly, as ...
4032 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
4033 bare module name without `.mod', e.g. `test') tried to invoke a
4034 Modula-2 compiler.
4035
1a1f1e67
CW
40362010-07-13 Colin Watson <cjwatson@ubuntu.com>
4037
4038 * README: Point to the Info manual.
4039
811b0dca
JS
40402010-07-13 Jiro SEKIBA <jir@unicus.jp>
4041
4042 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
4043 2nd superblock position from partition size.
4044
e4f4eafc
CW
40452010-07-10 Colin Watson <cjwatson@ubuntu.com>
4046
4047 * Makefile.in (MAINTAINER_CLEANFILES): Remove
4048 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
4049 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
4050 outputs.
4051
4274c30f
VS
40522010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 Restructure SCSI .id handling.
4055 Reported and tested by: Aleš Nesrsta.
4056
4057 * disk/ata.c (grub_atapi_close): Removed. All users updated.
4058 (grub_atapi_dev): Changed .name to "ata". New field .id.
4059 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
4060 (grub_usbms_dev): New field .id.
4061 * disk/scsi.c (grub_scsi_iterate): Generate name.
4062 (grub_scsi_open): Parse name.
4063 * include/grub/scsi.h (grub_make_scsi_id): New function.
4064 (grub_scsi_dev): Change iterate and open to number instead of naming
4065 busses. All users updated.
4066 (grub_scsi): Remove name. Add .bus.
4067
5bc24388
VS
40682010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * commands/help.c (grub_cmd_help): Fix a typo.
4071
249975ba
VS
40722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
4075 Reported and tested by: Colin Watson.
4076
3eaac1a1
VS
40772010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
4080 in this context.
4081
becce1b1
VS
40822010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
4085
f7bf0918
CW
40862010-07-07 Colin Watson <cjwatson@ubuntu.com>
4087
4088 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
4089 indentation.
4090
0b0f9620
CW
40912010-07-06 Colin Watson <cjwatson@ubuntu.com>
4092
4093 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
4094 and disk/raid6_recover.c.
4095 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4096 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4097
1e545469
CW
40982010-07-06 Colin Watson <cjwatson@ubuntu.com>
4099
4100 * term/gfxterm.c (repaint_schedulded): Rename to ...
4101 (repaint_scheduled): ... this. Update all callers.
4102 (repaint_was_schedulded): Rename to ...
4103 (repaint_was_scheduled): ... this. Update all callers.
4104
5357687a
CW
41052010-07-06 Colin Watson <cjwatson@ubuntu.com>
4106
4107 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
4108 which we expect to be handled by upper layers.
4109
29d7e783
BC
41102010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
4111
4112 * bus/usb/usbhub.c: #include time.h header.
4113
37582066
CW
41142010-07-06 Colin Watson <cjwatson@ubuntu.com>
4115
4116 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
4117 entry_name also for entries without stat blocks (e.g. ".."); fixes
4118 corruption of the first entry in a directory.
4119
c8c06953
CW
41202010-07-06 Colin Watson <cjwatson@ubuntu.com>
4121
4122 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
4123 after setting gfxterm as the active terminal. GRUB_BACKGROUND
4124 doesn't work otherwise.
4125
e75056f1
CW
41262010-07-05 Colin Watson <cjwatson@ubuntu.com>
4127
4128 * docs/grub.texi (Features): Update list of supported file systems.
4129 (GNU/Linux): Update for GRUB 2.
4130 (Serial terminal): Remove mention of --disable-serial, which was a
4131 GRUB Legacy configure option. Update instructions to use
4132 `terminal_input' and `terminal_output' rather than `terminal'.
4133 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
4134 configuration' and `Installing GRUB using grub-install'.
4135 (Menu entry editor): Update for GRUB 2.
4136 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
4137 Document new -a, -u, and -v options.
4138 (initrd): New section.
4139 (initrd16): New section.
4140 (linux): New section.
4141 (linux16): New section.
4142 (search): The `var' argument to `--set' is optional.
4143 (GRUB only offers a rescue shell): Go into a little more detail on
4144 drive ordering.
4145
5cf69151
CW
41462010-07-05 Colin Watson <cjwatson@ubuntu.com>
4147
4148 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
4149
e3f90044
CW
41502010-07-05 Colin Watson <cjwatson@ubuntu.com>
4151
4152 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
4153 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
4154
38d8f4f3
CW
41552010-07-05 Colin Watson <cjwatson@ubuntu.com>
4156
4157 * util/i386/pc/grub-setup.c (setup): Rename prefix to
4158 install_prefix, in line with install_dos_part and install_bsd_part.
4159 Add new prefix variable, which is copied to install_prefix after
4160 comparing core.img in memory with the one read from disk in the
4161 no-embedding case, and use that rather than overwriting
4162 install_prefix immediately when installing to a partition.
4163 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
4164 Bicakci.
4165
57ebd41e
GS
41662010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4167
4168 * configure.ac: Avoid == in test command, it's not portable.
4169 * util/grub.d/30_os-prober.in: Likewise.
4170
cb7f64b2
CW
41712010-07-04 Colin Watson <cjwatson@ubuntu.com>
4172
4173 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
4174
6b654bb0
GS
41752010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4176
4177 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
4178 multiple (top-level) partmaps.
4179
72a2026d
VS
41802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 4183 Reported by: Tino Keitel.
72a2026d 4184
df3eb88f
VS
41852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 Bidi and diacritics support.
4188
4189 * Makefile.in (widthspec.bin): New target.
4190 (widthspec.h): Likewise.
4191 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
4192 * autogen.sh: Generate unidata.c.
4193 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
4194 * commands/ls.c (grub_ls_list_devices): Likewise.
4195 (grub_ls_list_files): Likewise.
4196 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
4197 (grub_mini_cmd_lsmod): Likewise.
4198 * commands/read.c: Likewise.
4199 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
4200 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
4201 * lib/arg.c (grub_arg_show_help): Likewise.
4202 * lib/crypto.c (grub_password_get): Likewise.
4203 * normal/auth.c (grub_username_get): Likewise.
4204 * normal/misc.c (grub_normal_print_device_info): Likewise.
4205 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
4206 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
4207 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
4208 (normal/charset.c_DEPENDENCIES): New variable.
4209 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
4210 (pkglib_MODULES): Remove charset.mod.
4211 (charset_mod_SOURCES): Removed.
4212 (charset_mod_CFLAGS): Likewise.
4213 (charset_mod_LDFLAGS): Likewise.
4214 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
4215 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
4216 and term/tparm.c.
4217 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4218 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4219 (kernel_img_HEADERS): Add terminfo.h.
4220 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
4221 Fill ->font. Reverse ascii bitmaps.
4222 (grub_font_get_xheight): New function.
4223 * font/font.c (grub_font_get_string_width): Moved from here ...
4224 * gfxmenu/font.c (grub_font_get_string_width): ... here.
4225 * font/font.c (grub_font_draw_string): Moved from here ...
4226 * gfxmenu/font.c (grub_font_draw_string): ... here.
4227 * font/font.c (grub_font_dup_glyph): New function.
4228 (grub_font_blit_glyph): Likewise.
4229 (grub_font_blit_glyph_mirror): Likewise.
4230 (blit_comb): Likewise.
4231 (grub_font_construct_dry_run): Likewise.
4232 (grub_font_get_constructed_device_width): Likewise.
4233 (grub_font_construct_glyph): Likewise.
4234 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
4235 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
4236 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
4237 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
4238 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
4239 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
4240 (grub_font_get_xheight): New proto.
4241 (grub_font_get_constructed_device_width): Likewise.
4242 (grub_font_construct_glyph): Likewise.
4243 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
4244 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
4245 * include/grub/font.h (grub_font_draw_string): Moved from here ...
4246 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
4247 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
4248 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
4249 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
4250 (grub_console_getcharwidth): Likewise.
4251 * include/grub/misc.h (grub_xputs): New proto.
4252 (grub_puts): Inlined.
4253 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
4254 (grub_normal_get_line_counter): Removed.
4255 (grub_install_newline_hook): Likewise.
4256 (grub_normal_get_char_counter): New proto.
4257 (grub_normal_reset_more): Likewise.
4258 (grub_xputs_normal): Likewise.
4259 * include/grub/powerpc/ieee1275/console.h: Removed.
4260 * include/grub/sparc64/ieee1275/console.h: Likewise.
4261 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
4262 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
4263 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
4264 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
4265 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
4266 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
4267 (grub_term_input): Pass reference to self. All users updated.
4268 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
4269 Pass reference to self. New fields normal_color, highlight_color and
4270 data. All users updated.
4271 (grub_putchar): Removed.
4272 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
4273 (grub_unicode_estimate_width): New function.
4274 (grub_term_getcharwidth): Add defaults.
4275 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
4276 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
4277 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
4278 (grub_cls): Remove EXPORT_FUNC.
4279 (grub_setcolorstate): Inline.
4280 (grub_newline_hook): Removed.
4281 * include/grub/terminfo.h: Rewritten. All users updated.
4282 * include/grub/unicode.h: New file.
4283 * include/grub/video.h (grub_video_signed_rect): New type.
4284 * kern/emu/console.c (grub_console_highlight_color): Removed.
4285 (grub_console_normal_color): Likewise.
4286 (grub_console_standard_color): Made static.
4287 (grub_ncurses_putchar): Remove mapping.
4288 (grub_ncurses_getcharwidth): Removed.
4289 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4290 (grub_ncurses_setcolor): Removed.
4291 (grub_ncurses_getcolor): Likewise.
4292 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
4293 (grub_console_putchar): ... this.
4294 (grub_console_putchar): Handle argument difference.
4295 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
4296 console_init_early and console_init_lately.
4297 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
4298 * kern/misc.c (grub_puts): Removed.
4299 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
4300 (grub_vsnprintf_real): Remove str = NULL support.
4301 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
4302 * normal/charset.c (grub_utf8_to_ucs4): ... here.
4303 * kern/term.c (grub_putcode): Renamed to ...
4304 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
4305 (grub_putchar): Removed.
4306 (grub_xputs_dumb): New function.
4307 (grub_xputs): New variable.
4308 * lib/charset.c: Move from here ...
4309 * normal/charset.c: ... to here.
4310 (grub_ucs4_to_utf8): New function.
4311 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
4312 (join_types): New variable.
4313 (unpack_join): New function.
4314 (bidi_types): New variable.
4315 (unpack_bidi): New function.
4316 (get_bidi_type): Likewise.
4317 (get_join_type): Likewise.
4318 (is_mirrored): Likewise.
4319 (grub_unicode_get_comb_type): Likewise.
4320 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
4321 (is_type_after): Likewise.
4322 (grub_unicode_aglomerate_comb): Likewise.
4323 (bidi_line_wrap): Likewise.
4324 (grub_bidi_line_logical_to_visual): Likewise.
4325 (grub_bidi_logical_to_visual): Likewise.
4326 (grub_unicode_mirror_code): Likewise.
4327 (grub_unicode_shape_code): Likewise.
4328 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
4329 Don't use grub_putchar.
4330 * normal/main.c (grub_normal_init_page): Use grub_putcode.
4331 (grub_normal_reader_init): Likewise.
4332 (grub_xputs_saved): New variable.
4333 (GRUB_MOD_INIT): Set grub_xputs.
4334 (GRUB_MOD_FINI): Restore grub_xputs.
4335 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
4336 (menu_init): Avoid printing gfxmenu error.
4337 (show_menu): Use grub_normal_get_char_counter.
4338 * normal/menu_entry.c (update_screen): Fix out-of-array.
4339 (complete): Avoid NULL dereferencing.
4340 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
4341 * normal/menu_text.c (print_spaces): Removed.
4342 (grub_print_ucs4): Likewise.
4343 (grub_print_message_indented): Use grub_print_ucs4.
4344 (print_message): Use grub_putcode.
4345 (print_entry): Hanlde diacritics.
4346 * normal/term.c (term_state): New type.
4347 (grub_more_lines): Removed.
4348 (term_states): New variable.
4349 (grub_normal_line_counter): Renamed to ..
4350 (grub_normal_char_counter): ...this. All users updated.
4351 (grub_normal_get_line_counter): Renamed to ...
4352 (grub_normal_get_char_counter): ... this.
4353 (grub_normal_reset_more): New function.
4354 (process_newline): Removed.
4355 (print_more): New function.
4356 (grub_install_newline_hook): Removed.
4357 (map_code): New function.
4358 (grub_puts_terminal): Use grub_print_ucs4.
4359 (putglyph): New function.
4360 (putcode_real): Likewise.
4361 (grub_putcode): Use putcode_real.
4362 (get_maxwidth): New function.
4363 (get_startwidth): Likewise.
4364 (print_ucs4_terminal): Likewise.
4365 (find_term_state): Likewise.
4366 (put_glyphs_terminal): Likewise.
4367 (print_backlog): Likewise.
4368 (print_ucs4_real): Likewise.
4369 (grub_print_ucs4): Likewise.
4370 (grub_xputs_normal): Likewise.
4371 * term/efi/console.c (grub_console_putchar): Output diacritics.
4372 (grub_console_getcharwidth): Removed.
4373 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4374 * term/gfxterm.c (clear_char): Free chars.
4375 (scroll_up): Avoid leaking memory.
4376 (grub_gfxterm_putchar): Support diacritics.
4377 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4378 * term/i386/pc/console.c (grub_console_term_output): Declare as
4379 GRUB_TERM_CODE_TYPE_VGA.
4380 * term/i386/pc/vga.c (grub_vga_term): Declare as
4381 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
4382 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
4383 GRUB_TERM_CODE_TYPE_VGA.
4384 * term/i386/vga_common.c (map_char): Removed.
4385 (grub_console_putchar): Likewise.
4386 (grub_console_getcharwidth): Likewise.
4387 * term/ieee1275/ofconsole.c: Simplify using terminfo.
4388 (colors): Reordered to match terminfo.
4389 (grub_ofconsole_normal_color): Removed.
4390 (grub_ofconsole_writeesc): Likewise.
4391 (grub_ofconsole_highlight_color): Likewise.
4392 (grub_ofconsole_getcharwidth): Likewise.
4393 (grub_ofconsole_setcolorstate): Likewise.
4394 (grub_ofconsole_setcolor): Likewise.
4395 (grub_ofconsole_getcolor): Likewise.
4396 (grub_ofconsole_readkey): Renamed to ...
4397 (readkey): ... this. Remove escape sequence handling. Return -1 on no
4398 key.
4399 (grub_ofconsole_checkkey): Removed.
4400 (grub_ofconsole_getkey): Likewise.
4401 (grub_ofconsole_getxy): Likewise.
4402 (grub_ofconsole_gotoxy): Likewise.
4403 (grub_ofconsole_cls): Likewise.
4404 (grub_ofconsole_refresh): Likewise.
4405 (grub_ofconsole_terminfo_input): New struct.
4406 (grub_ofconsole_terminfo_output): Likewise.
4407 (grub_ofconsole_term_input): Use terminfo.
4408 (grub_ofconsole_term_output): Likewise.
4409 (grub_console_init): Split into ...
4410 (grub_console_init_early): ...this and ...
4411 (grub_console_init_lately): ...this. Use terminfo.
4412 (grub_ofconsole_putchar): Renamed to ...
4413 (put): ... this. Remove mapping.
4414 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4415 * term/serial.c: Simplify using terminfo.
4416 (xpos): Removed.
4417 (ypos): Likewise.
4418 (keep_track): Likewise.
4419 (registered): Likewise.
4420 (input_buf): Likewise.
4421 (npending): Likewise.
4422 (serial_translate_key_sequence): Likewise.
4423 (fill_input_buf): Likewise.
4424 (grub_serial_checkkey): Likewise.
4425 (grub_serial_getkey): Likewise.
4426 (grub_serial_getxy): Likewise.
4427 (grub_serial_gotoxy): Likewise.
4428 (grub_serial_putchar): Likewise.
4429 (grub_serial_cls): Likewise.
4430 (grub_serial_setcolorstate): Likewise.
4431 (grub_serial_setcursor): Likewise.
4432 (serial_hw_init): Use serial_hw_fetch.
4433 (grub_serial_terminfo_input): New variable.
4434 (grub_serial_terminfo_output): Likewise.
4435 (grub_serial_term_input): Use terminfo.
4436 (grub_serial_term_output): Likewise.
4437 * term/terminfo.c (putstr): Use put.
4438 (grub_terminfo_all_free): New function
4439 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
4440 (grub_terminfo_output_register): New function.
4441 (grub_terminfo_output_unregister): Likewise.
4442 (grub_terminfo_getxy): Likewise.
4443 (grub_terminfo_readkey): Likewise.
4444 (grub_terminfo_checkkey): Likewise.
4445 (grub_terminfo_getkey): Likewise.
4446 (grub_terminfo_input_init): Likewise.
4447 (print_terminfo): Likewise.
4448 (grub_cmd_terminfo): Handle encoding.
4449 (grub_terminfo_gotoxy): Track position.
4450 (grub_terminfo_cls): Likewise.
4451 (grub_terminfo_putchar): Likewise.
4452 (grub_terminfo_setcolorstate): Handle colors
4453 (grub_terminfo_cursor_on): This ...
4454 (grub_terminfo_cursor_off): ... and this merged into ...
4455 (grub_terminfo_setcursor): ... this.
4456 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
4457 * unicode/ArabicShaping.txt: New file (imported from Unicode).
4458 * unicode/BidiMirroring.txt: Likewise.
4459 * unicode/UnicodeData.txt: Likewise.
4460 * unicode/COPYING: Likewise.
4461 * util/grub-editenv.c (grub_putchar): Removed.
4462 (grub_xputs_real): New function.
4463 (grub_xputs): New variable.
4464 * util/grub-fstest.c (grub_putchar): Removed.
4465 (grub_xputs_real): New function.
4466 (grub_xputs): New variable.
4467 * util/grub-mkdevicemap.c (grub_putchar): Removed.
4468 (grub_xputs_real): New function.
4469 (grub_xputs): New variable.
4470 * util/grub-probe.c (grub_putchar): Removed.
4471 (grub_xputs_real): New function.
4472 (grub_xputs): New variable.
4473 * util/grub-script-check.c (grub_putchar): Removed.
4474 (grub_xputs_real): New function.
4475 (grub_xputs): New variable.
4476 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
4477 (grub_xputs_real): New function.
4478 (grub_xputs): New variable.
4479 * util/import_unicode.py: New file.
4480 * util/grub-mkfont.c (ft_errmsgs): New array.
4481 (grub_glyph_info): Make bitmap a pointer.
4482 (file_formats): New type WIDTH_SPEC.
4483 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
4484 (options): Add width-spec.
4485 (help): Likewise.
4486 (add_char): Renamed to ...
4487 (add_glyph): ... this.
4488 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
4489 (glyph_replace): New type.
4490 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
4491 (add_char): New function.
4492 (add_subst): Likewise.
4493 (process_cursive): Likewise.
4494 (add_font): Handle GSUB.
4495 (write_font_width_spec): New function.
4496 (main): Sort glyphs.
4497 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
4498 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
4499 * kern/term.c (grub_cls): Moved from here...
4500 * normal/term.c (grub_cls): ... here.
4501
50f0bcda
CW
45022010-07-02 Colin Watson <cjwatson@ubuntu.com>
4503
4504 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
4505 suitable for using within the format argument of printf when
4506 converting grub_size_t.
4507 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
4508 "x" to convert grub_size_t arguments.
4509
40372103
VS
45102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
4513 too long captions.
4514 (list_get_minimal_size): Take selection box into account.
4515
942a10c7
VS
45162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
4519 NULL font.
4520
2bdb2892
CW
45212010-07-02 Colin Watson <cjwatson@ubuntu.com>
4522
4523 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
4524 devices when iterating over /dev/disk/by-id; they will be handled
4525 later if appropriate, which they aren't always (e.g. LVM).
4526
e03ed6c1
CW
45272010-07-02 Colin Watson <cjwatson@ubuntu.com>
4528
4529 * include/grub/misc.h (grub_reboot): Declare as noreturn.
4530 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
4531 fails.
4532 (grub_halt): Likewise.
4533 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
4534 reset-all fails.
4535 (grub_halt): Don't return, even if all of shut-down, power-off, and
4536 poweroff fail.
4537
47695765
CW
45382010-07-02 Colin Watson <cjwatson@ubuntu.com>
4539
4540 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
4541 arguments, not three.
4542
507736c8
CW
45432010-07-02 Colin Watson <cjwatson@ubuntu.com>
4544
4545 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
4546 * util/grub.d/10_linux.in: Use it to check for LVM, so that
4547 LVM-on-RAID is handled correctly.
4548
e3c8cd37
CW
45492010-07-02 Colin Watson <cjwatson@ubuntu.com>
4550
4551 * docs/grub.texi (Changes from GRUB Legacy): New section.
4552 (Future): Fix typo.
4553
8d4a2fec
CW
45542010-07-02 Colin Watson <cjwatson@ubuntu.com>
4555
4556 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
4557 grub.d/README accidentally ends up executable for one reason or
4558 another. Ignore it.
4559
1c4827be
VS
45602010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
4563 (gpt_partition_map_iterate): Support non-512B sectors.
4564
d9a0c941
VS
45652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * kern/efi/init.c (grub_efi_init): Disable watchdog.
4568 Tested by: Seth Goldberg.
4569
48f27e87
VS
45702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
4573 Properly align mbi.
4574 Reported by: Seth Goldberg.
4575
b0c4f956
VS
45762010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * util/grub-mkrescue.in: Avoid module duplication.
4579
105a2e8c
SF
45802010-07-01 Sean Finney <seanius@seanius.net>
4581
4582 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
4583
5944958c
SF
45842010-07-01 Sean Finney <seanius@seanius.net>
4585
4586 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
4587
45882010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * disk/lvm.c (grub_lvm_checkvalue): New function.
4591 (grub_lvm_check_flag): Likewise.
4592
b79889ba
RM
45932010-07-01 Robert Millan <rmh@gnu.org>
4594
4595 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
4596 Support 'p' as partition separator on kernel of FreeBSD (used
4597 with GPT labels).
4598 (grub_util_biosdisk_get_grub_dev): Likewise.
4599
ec1d04f1
VS
46002010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 Yeeloong firmware port.
4603
4604 * boot/mips/yeeloong/fwstart.S: New file.
4605 * bus/cs5536.c (gpiodump): New const.
4606 (set_io_space): New function.
4607 (set_iod): Likewise.
4608 (set_p2d): Likewise.
4609 (grub_cs5536_init_geode): Likewise.
4610 * commands/mips/yeeloong/lsspd.c: New file.
4611 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
4612 (serial_mod_SOURCES): New variable.
4613 (serial_mod_CFLAGS): Likewise.
4614 (serial_mod_LDFLAGS): Likewise.
4615 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
4616 term/terminfo.c and term/tparm.c.
4617 (pkglib_IMAGES): Add fwstart.img.
4618 (fwstart_img_SOURCES): New variable.
4619 (fwstart_img_CFLAGS): Likewise.
4620 (fwstart_img_ASFLAGS): Likewise.
4621 (fwstart_img_LDFLAGS): Likewise.
4622 (fwstart_img_FORMAT): Likewise.
4623 (pkglib_MODULES): Add lsspd.mod.
4624 (lsspd_mod_SOURCES): New variable.
4625 (lsspd_mod_CFLAGS): Likewise.
4626 (lsspd_mod_LDFLAGS): Likewise.
4627 (pkglib_MODULES): Add halt.mod.
4628 (halt_mod_SOURCES): New variable.
4629 (halt_mod_CFLAGS): Likewise.
4630 (halt_mod_LDFLAGS): Likewise.
4631 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
4632 (serial_mod_SOURCES): Removed.
4633 (serial_mod_CFLAGS): Likewise.
4634 (serial_mod_LDFLAGS): Likewise.
4635 * disk/ata.c (check_device): New function.
4636 (grub_ata_device_initialize): Use check_device.
4637 (grub_ata_iterate): Recheck devices.
4638 (grub_ata_open): Likewise.
4639 (grub_atapi_iterate): Likewise.
4640 (grub_atapi_open): Likewise.
4641 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
4642 (GRUB_ATA_CH1_PORT1): Likewise.
4643 (GRUB_ATA_CH0_PORT2): Likewise.
4644 (GRUB_ATA_CH1_PORT2): Likewise.
4645 * include/grub/mips/loongson.h: New file.
4646 * include/grub/mips/yeeloong/ec.h: Likewise.
4647 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
4648 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
4649 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
4650 * include/grub/misc.h (grub_halt): Declare as noreturn.
4651 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
4652 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
4653 (UART_ENABLE_FIFO_TRIGGER1): New definition.
4654 (UART_ENABLE_DTRRTS): Likewise.
4655 (UART_ENABLE_MODEM): Removed.
4656 (UART_ENABLE_OUT2): New const.
4657 * include/grub/term.h (grub_term_register_input_active): New function.
4658 (grub_term_register_output_active): Likewise.
4659 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
4660 argument.
4661 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
4662 (init_pci): New function.
4663 (grub_machine_init): Execute platform init when firmware. Init serial.
4664 (grub_halt): Implement.
4665 (grub_exit): Likewise.
4666 (grub_reboot): Likewise.
4667 * term/serial.c (serial_hw_init): Update macros.
4668 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
4669 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
4670 (image_targets): New target mipsel-yeeloong-flash.
4671 (generate_image): Support IMAGE_YEELOONG_FLASH.
4672 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
4673 (grub_video_sm712_setup): Init card.
4674 (grub_video_sm712_set_palette): Removed.
4675 * video/sm712_init.c: New file.
4676
ff4a70d2
CW
46772010-06-30 Colin Watson <cjwatson@ubuntu.com>
4678
4679 * Makefile.in (install-local): Temporarily prepend $(builddir) to
4680 PATH when running help2man and then run it on the unadorned
4681 executable names, rather than passing $(builddir)/* paths to
4682 help2man. This avoids the build directory ending up in generated
4683 manual pages.
4684
1246efeb
CW
46852010-06-29 Colin Watson <cjwatson@ubuntu.com>
4686
4687 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
4688 to avoid accidents when debugging with 'sh -x'.
4689 * util/grub-mkrescue.in: Likewise.
4690 * util/grub.d/00_header.in: Likewise.
4691 * util/grub.d/10_hurd.in: Likewise.
4692 * util/grub.d/10_kfreebsd.in: Likewise.
4693 * util/grub.d/10_linux.in: Likewise.
4694 * util/grub.d/10_netbsd.in: Likewise.
4695 * util/grub.d/10_windows.in: Likewise.
4696 * util/grub.d/20_linux_xen.in: Likewise.
4697 * util/grub.d/30_os-prober.in: Likewise.
4698 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4699
1ba9b889
CW
47002010-06-29 Colin Watson <cjwatson@ubuntu.com>
4701
4702 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
4703 last character in the buffer.
4704 Reported by: Vladimir Serbinenko.
4705
dccaf99d
RM
47062010-06-29 Robert Millan <rmh@gnu.org>
4707
4708 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
4709 (Command-line and menu entry commands): Document `badram' command.
4710
d500ed12
RM
47112010-06-28 Robert Millan <rmh@gnu.org>
4712
4713 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
4714 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
4715 command using ${GRUB_BADRAM} as parameter.
4716
20bc84a6
CW
47172010-06-28 Colin Watson <cjwatson@ubuntu.com>
4718
4719 * docs/grub.texi (Device map): New section.
4720 (Themes): New section (stub).
4721 * Makefile.in (docs/grub.info): The info documentation now builds
4722 without errors. Make sure it stays that way.
4723
4045dee1
VS
47242010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 Use normal parser for menu entries.
4727 Reported by: Thomas Frauendorfer
4728
4729 * include/grub/parser.h (grub_parser_execute): Don't export.
4730 * normal/menu.c (grub_menu_execute_entry_real): New function.
4731 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
4732
bca58c7b
CW
47332010-06-28 Colin Watson <cjwatson@ubuntu.com>
4734
4735 * docs/grub.texi (Embedded configuration): New section (replacing
4736 old "Preset Menu" stub).
4737 (Images): New section.
4738 (configfile): Note that any menu entries defined in `file' are shown
4739 immediately.
4740
dec53e63
JT
47412010-06-28 Josh Triplett <josh@joshtriplett.org>
4742
4743 * mmap/i386/pc/mmap_helper.S: Set CF on return.
4744
c06e40f7
CW
47452010-06-28 Colin Watson <cjwatson@ubuntu.com>
4746
4747 * util/grub-install.in: Add --debug-image= option.
4748
cb88052b
CW
47492010-06-28 Colin Watson <cjwatson@ubuntu.com>
4750
4751 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
4752 possible on Linux.
4753
4754 * util/deviceiter.c (check_device): Rename to ...
4755 (check_device_readable_unique): ... this. Update all callers.
4756 Maintain and check a list of which devices (by canonicalized name)
4757 have already been seen.
4758 (clear_seen_devices): New function.
4759 (compare_file_names) [__linux__]: New function.
4760 (grub_util_iterate_devices): Clear the list of seen devices on exit
4761 and (just in case) on entry.
4762 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
4763 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
4764 seen-devices list, superseded by general code in check_device.
4765
bbe34652
CW
47662010-06-28 Colin Watson <cjwatson@ubuntu.com>
4767
4768 * commands/cat.c (options): New variable.
4769 (grub_cmd_cat): Parse options. If the --dos option is given, print
4770 DOS-style "\r\n" line endings as simple newlines (Debian bug
4771 #586358).
4772 (GRUB_MOD_INIT): Use extcmd.
4773 (GRUB_MOD_FINI): Likewise.
4774 * docs/grub.texi (cat): Document --dos.
4775
412e09f3
VS
47762010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 XEN with Linux grub-mkconfig support.
4779
4780 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
4781 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
4782 GRUB_CMDLINE_XEN_DEFAULT.
4783 * util/grub.d/20_linux_xen.in: New file.
4784
53f3ef38 47852010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
4786
4787 Initialise VGA video on qemu ourselves.
4788
4789 * boot/i386/qemu/boot.S: Don't call 0xc000.
4790 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
4791 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
4792 (kernel_img_HEADERS): Add pci.h.
4793 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
4794 * configure.ac: Force unifont on qemu and yeeloong.
4795 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
4796 (grub_vga_palette_write): Use correct register.
4797 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
4798 Call grub_qemu_init_cirrus.
4799 * kern/i386/qemu/init.c: New file.
4800 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
4801
4802 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
4803
c75be4fb
PR
48042010-06-26 Pavel Roskin <proski@gnu.org>
4805
4806 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
4807 13.
4808
d8034603
CW
48092010-06-26 Colin Watson <cjwatson@ubuntu.com>
4810
4811 * docs/grub.texi (Simple configuration): Explain that
4812 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
4813 set to `true' to disable their respective recovery entries, not
4814 merely set.
4815
3fa06487
CW
48162010-06-26 Colin Watson <cjwatson@ubuntu.com>
4817
4818 Make the `source' command slightly faster.
4819
4820 * normal/main.c (grub_normal_execute): Don't re-read list files when
4821 nested.
4822
e9b29642
CW
48232010-06-23 Colin Watson <cjwatson@ubuntu.com>
4824
4825 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
4826 field position and mask size to red fields from mode_info, not
4827 green.
4828 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
4829 Remove redundant tag->common.framebuffer_type assignment.
4830 Reported by: Seth Goldberg.
4831
e726542f
CW
48322010-06-23 Colin Watson <cjwatson@ubuntu.com>
4833
4834 Sync up other versions of the Linux loader with Robert Millan's
4835 change of 2010-01-09, "Make loader output a bit more user-friendly".
4836
4837 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
4838 grub_dprintf().
4839 (grub_cmd_linux): Likewise.
4840 (grub_cmd_initrd): Likewise.
4841 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
4842 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4843
d6e98a17
CW
48442010-06-21 Colin Watson <cjwatson@ubuntu.com>
4845
4846 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
4847 larger than MEMORY_MAP_SIZE.
4848
14d3f08e
BC
48492010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
4850
4851 Fix parallel build.
4852
4853 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
4854 dependency.
4855 * script/parser.y: #include grub_script.tab.h header.
4856
4f9613a3
VS
48572010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 Support >3GiB and <16MiB RAM in i386-qemu.
4860
4861 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
4862 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
4863 (grub_lower_mem): Removed.
4864 (grub_upper_mem): Likewise.
4865 (mem_size): Made static.
4866 (above_4g): New variable.
4867 (grub_machine_mmap_init): Detect small mem_size and above_4g.
4868 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
4869 support.
4870
05e51879
VS
48712010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 Cirrus 5446 and Bochs video cards support.
4874
4875 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
4876 video_bochs.mod
4877 (video_cirrus_mod_SOURCES): New variable.
4878 (video_cirrus_mod_CFLAGS): Likewise.
4879 (video_cirrus_mod_LDFLAGS): Likewise.
4880 (video_bochs_mod_SOURCES): Likewise.
4881 (video_bochs_mod_CFLAGS): Likewise.
4882 (video_bochs_mod_LDFLAGS): Likewise.
4883 * include/grub/vga.h: New file.
4884 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
4885 (grub_video_fb_set_page_t): New type.
4886 (grub_video_fb_setup): New prototype.
4887 (grub_video_fb_swap_buffers): Likewise.
4888 (grub_video_fb_get_info_and_fini): Likewise.
4889 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
4890 (CRTC_DATA_PORT): Likewise.
4891 (CRTC_CURSOR): Likewise.
4892 (CRTC_CURSOR_ADDR_HIGH): Likewise.
4893 (CRTC_CURSOR_ADDR_LOW): Likewise.
4894 (CRTC_CURSOR_DISABLE): Likewise.
4895 (update_cursor): Use grub_vga_cr_write.
4896 (grub_vga_text_setcursor): Likewise.
4897 * video/bochs.c: New file.
4898 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
4899 (palette): Likewise.
4900 (palette_size): Likewise.
4901 (framebuffer): New variable.
4902 (grub_video_fb_init): Use 'framebuffer'.
4903 (grub_video_fb_fini): Likewise.
4904 (grub_video_fb_get_info): Likewise.
4905 (grub_video_fb_get_palette): Likewise.
4906 (grub_video_fb_set_palette): Likewise.
4907 (grub_video_fb_set_viewport): Likewise.
4908 (grub_video_fb_get_viewport): Likewise.
4909 (grub_video_fb_map_color): Likewise.
4910 (grub_video_fb_map_rgb): Likewise.
4911 (grub_video_fb_map_rgba): Likewise.
4912 (grub_video_fb_unmap_color): Likewise.
4913 (grub_video_fb_unmap_color_int): Likewise.
4914 (grub_video_fb_fill_rect): Likewise.
4915 (grub_video_fb_blit_bitmap): Likewise.
4916 (grub_video_fb_blit_render_target): Likewise.
4917 (grub_video_fb_scroll): Likewise.
4918 (grub_video_fb_create_render_target): Likewise.
4919 (grub_video_fb_doublebuf_blit_init): Likewise.
4920 (grub_video_fb_set_active_render_target): Handle doublebuffering.
4921 (doublebuf_pageflipping_update_screen): New function.
4922 (doublebuf_pageflipping_init): Likewise.
4923 (grub_video_fb_setup): Likewise.
4924 (grub_video_fb_swap_buffers): Likewise.
4925 (grub_video_fb_get_info_and_fini): Likewise.
4926 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
4927 All users updated.
4928 (doublebuf_pageflipping_commit): Restructured into ...
4929 (doublebuf_pageflipping_set_page): ... this.
4930 (doublebuf_pageflipping_update_screen): Removed.
4931 (doublebuf_pageflipping_init): Likewise.
4932 (double_buffering_init): Likewise.
4933 (grub_video_vbe_setup): Use grub_video_fb_setup.
4934 (grub_video_vbe_swap_buffers): Removed.
4935 (grub_video_vbe_set_active_render_target): Likewise.
4936 (grub_video_vbe_get_active_render_target): Likewise.
4937 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
4938 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
4939 grub_video_fb_set_active_render_target and
4940 grub_video_fb_get_active_render_target.
4941 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
4942 (SEQUENCER_DATA_PORT): Likewise.
4943 (MAP_MASK_REGISTER): Likewise.
4944 (CRTC_ADDR_PORT): Likewise.
4945 (CRTC_DATA_PORT): Likewise.
4946 (START_ADDR_HIGH_REGISTER): Likewise.
4947 (START_ADDR_LOW_REGISTER): Likewise.
4948 (GRAPHICS_ADDR_PORT): Likewise.
4949 (GRAPHICS_DATA_PORT): Likewise.
4950 (READ_MAP_REGISTER): Likewise.
4951 (INPUT_STATUS1_REGISTER): Likewise.
4952 (INPUT_STATUS1_VERTR_BIT): Likewise.
4953 (get_map_mask): Use grub_vga_sr_read.
4954 (set_map_mask): Use grub_vga_sr_write.
4955 (set_read_map): Use grub_vga_gr_write.
4956 (set_start_address): Use grub_vga_cr_write.
4957 * video/sm712.c (framebuffer): Remove leftover fields.
4958
4321c64a
CW
49592010-06-20 Colin Watson <cjwatson@ubuntu.com>
4960
4961 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
4962 setting GRUB_VIDEO_BACKEND. Make it available as a user override
4963 instead. Replace the gfxterm backend check with a check that
4964 ${GRUB_PREFIX}/video.lst is non-empty.
4965 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
4966 again.
4967 (load_video): New generated function. Call it before loading
4968 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
4969 * util/grub.d/10_linux.in (linux_entry): Call load_video.
4970 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
4971 * docs/grub.texi (Simple configuration): Document
4972 GRUB_VIDEO_BACKEND.
4973
49742010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 Use video functions in linux and xnu loaders.
4977
4978 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
4979 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
4980 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
4981 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
4982 loader/i386/pc/linux.c.
4983 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
4984 (find_line_len): Removed.
4985 (find_framebuf): Likewise.
4986 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
4987 * loader/i386/efi/xnu.c: Removed.
4988 * loader/i386/pc/xnu.c: Moved from here...
4989 * loader/i386/xnu.c: ...here.
4990
4991 Enable priorities in video drivers.
4992
4993 * include/grub/video.h (grub_video_adapter_prio_t): New type.
4994 (grub_video_adapter): New field prio.
4995 (grub_video_register): Respect prio when inserting.
4996 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
4997 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
4998 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
4999 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
5000 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
5001 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
5002 * video/sm712.c (grub_video_sm712_adapter): Likewise.
5003
5004 Fix SDL driver ID.
5005
5006 * include/grub/video.h (grub_video_driver_id_t): New value
5007 GRUB_VIDEO_DRIVER_SDL.
5008 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
5009
7d24e434
CW
50102010-06-17 Colin Watson <cjwatson@ubuntu.com>
5011
5012 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
5013 argument to printf.
5014 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5015
c88a83f6
CW
50162010-06-17 Colin Watson <cjwatson@ubuntu.com>
5017
5018 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
5019 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5020
094dfb69
CW
50212010-06-17 Colin Watson <cjwatson@ubuntu.com>
5022
5023 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
5024 directly, and recommend grub-install instead.
5025 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5026
2164da6b
CW
50272010-06-17 Colin Watson <cjwatson@ubuntu.com>
5028
5029 Fix i386-pc prefix handling with nested partitions (Debian bug
5030 #585068). Note that the case where the core image is booted using
5031 multiboot and relocated from its original location still requires
5032 more work.
5033
5034 * kern/i386/pc/init.c (make_install_device): If the prefix starts
5035 with "(,", fill the boot drive in between those two characters, but
5036 expect that a full partition specification including partition map
5037 names will follow.
5038 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
5039 specified, write a prefix without the drive name but including a
5040 full partition specification.
5041
044e2e60
CW
50422010-06-16 Colin Watson <cjwatson@ubuntu.com>
5043
5044 * util/grub-mkconfig.in: Ignore non-option arguments, for
5045 compatibility with older versions (before 2010-06-12) which did the
5046 same. In particular, this makes it easier to ship an update-grub
5047 wrapper which is compatible with that used with GRUB Legacy (Debian
5048 bug #586056).
5049
5591324f
GS
50502010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5051
5052 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
5053 for manual page generation.
5054
662e24d5
GS
50552010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5056
5057 * po/POTFILES: Remove leftover commands/handler.c.
5058
8d70754e
CW
50592010-06-14 Colin Watson <cjwatson@ubuntu.com>
5060
5061 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
5062 left this script non-functional.
5063
41160e2e
CW
50642010-06-14 Colin Watson <cjwatson@ubuntu.com>
5065
5066 * docs/man/grub-emu.h2m: New file.
5067
b5309cc1
CW
50682010-06-13 Colin Watson <cjwatson@ubuntu.com>
5069
5070 * docs/grub.texi (Commands): Document reduced command set in rescue
5071 mode.
5072 (cpuid): New section.
5073
fcb2d090
GS
50742010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
5075
5076 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
5077 new partition naming style.
5078 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
5079
96e5c556
BC
50802010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
5081
5082 Add "-o grub.iso" like cmdline options support.
5083
5084 * util/grub-install.in: Improve cmdline option parsing.
5085 * util/grub-mkconfig.in: Likewise.
5086 * util/grub-mkrescue.in: Likewise.
5087 * util/grub-reboot.in: Likewise.
5088 * util/grub-set-default.in: Likewise.
5089 * util/i386/efi/grub-install.in: Likewise.
5090 * util/ieee1275/grub-install.in: Likewise.
5091 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5092
c16be99b
CW
50932010-06-12 Colin Watson <cjwatson@ubuntu.com>
5094
5095 * .bzrignore: Ignore 41_custom.
5096
ce08a9fb
TS
50972010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5098
5099 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
5100
7beac90c
CW
51012010-06-12 Colin Watson <cjwatson@ubuntu.com>
5102
5103 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
5104 prototype declarations.
5105
5106 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
5107 generating fs, partmap, and video lists.
5108 * include/grub/fs.h (grub_fs_register): Omit prototype if
5109 GRUB_LST_GENERATOR is defined.
5110 * include/grub/partition.h (grub_partition_map_register): Likewise.
5111 * include/grub/video.h (grub_video_register): Likewise.
5112
1c8f0f8d
JM
51132010-06-12 Javier Martín <lordhabbit@gmail.com>
5114
5115 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
5116
a6085973
TS
51172010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5118
5119 * util/grub-mkrescue.in: Support --xorriso argument.
5120
25c56d29
VS
51212010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
5124 Suggested by: Thomas Schmitt.
5125
e03e4b24
VS
51262010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
5129 Suggested by: Thomas Schmitt.
5130
57711df6
VS
51312010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 custom.cfg support.
5134
5135 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
5136 * util/grub.d/41_custom.in: New file.
5137
ee62c427
CW
51382010-06-12 Colin Watson <cjwatson@ubuntu.com>
5139
5140 * util/grub-mkrescue.in (make_image): Remove sh module, which has
5141 been merged back into normal.
5142
283af07a
CW
51432010-06-11 Colin Watson <cjwatson@ubuntu.com>
5144
5145 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
5146 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
5147
56a0d956
CW
51482010-06-11 Colin Watson <cjwatson@ubuntu.com>
5149
5150 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
5151 when generating manual pages.
5152 * docs/man/grub-bin2h.h2m: New file.
5153 * docs/man/grub-editenv.h2m: New file.
5154 * docs/man/grub-fstest.h2m: New file.
5155 * docs/man/grub-install.h2m: New file.
5156 * docs/man/grub-macho2img.h2m: New file.
5157 * docs/man/grub-mkconfig.h2m: New file.
5158 * docs/man/grub-mkdevicemap.h2m: New file.
5159 * docs/man/grub-mkfont.h2m: New file.
5160 * docs/man/grub-mkimage.h2m: New file.
5161 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
5162 * docs/man/grub-mkrelpath.h2m: New file.
5163 * docs/man/grub-mkrescue.h2m: New file.
5164 * docs/man/grub-ofpathname.h2m: New file.
5165 * docs/man/grub-pe2elf.h2m: New file.
5166 * docs/man/grub-probe.h2m: New file.
5167 * docs/man/grub-reboot.h2m: New file.
5168 * docs/man/grub-script-check.h2m: New file.
5169 * docs/man/grub-set-default.h2m: New file.
5170 * docs/man/grub-setup.h2m: New file.
5171
3a37e322
VS
51722010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 Use FOR_* macros instead of *_iterate whenever possible.
5175
5176 * commands/handler.c: Removed.
5177 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
5178 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
5179 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5180 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
5181 (grub_probe_SOURCES): Remove kern/parser.c.
5182 (util/grub-script-check.c_DEPENDENCIES): Removed.
5183 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
5184 and grub_script_check_init.c.
5185 (grub_script_check_init.lst): Removed.
5186 (grub_script_check_init.h): Likewise.
5187 (grub_script_check_init.c): Likewise.
5188 (pkglib_MODULES): Remove handler.mod and sh.mod.
5189 (handler_mod_SOURCES): Removed.
5190 (handler_mod_CFLAGS): Likewise.
5191 (handler_mod_LDFLAGS): Likewise.
5192 (normal_mod_SOURCES): Remove normal/handler.c.
5193 Add script/main.c, script/script.c, script/execute.c,
5194 script/function.c, script/lexer.c, grub_script.tab.c
5195 and grub_script.yy.c.
5196 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5197 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5198 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
5199 (grub_setup_SOURCES): Remove kern/parser.c.
5200 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5201 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
5202 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5203 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5204 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5205 (grub_setup_SOURCES): Remove kern/parser.c.
5206 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5207 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
5208 * include/grub/command.h (grub_command_iterate): Removed.
5209 (FOR_COMMANDS): New macro.
5210 * include/grub/dl.h (grub_dl): New member next.
5211 (grub_dl_iterate): Removed.
5212 (grub_dl_head): New variable declaration.
5213 (FOR_DL_MODULES): New macro.
5214 * include/grub/fs.h: Include list.h.
5215 (grub_fs): Make next first element.
5216 (grub_fs_list): New variable declaration.
5217 (grub_fs_register): Make inline.
5218 (grub_fs_unregister): Likewise.
5219 (grub_fs_iterate): Removed.
5220 (FOR_FILESYSTEMS): New macro.
5221 * include/grub/handler.h: Removed.
5222 * include/grub/list.h (grub_list_hook_t): Removed.
5223 (grub_list_test_t): Likewise.
5224 (grub_list_pop): Likewise.
5225 (grub_list_iterate): Likewise.
5226 (grub_list_insert): Likewise.
5227 (FOR_LIST_ELEMENTS): New macro.
5228 * include/grub/parser.h (grub_parser_class): Removed.
5229 (grub_parser_register): Likewise.
5230 (grub_parser_unregister): Likewise.
5231 (grub_parser_get_current): Likewise.
5232 (grub_parser_set_current): Likewise.
5233 (grub_register_rescue_parser): Likewise.
5234 (grub_rescue_parse_line): New function.
5235 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
5236 * include/grub/script_sh.h (grub_script_function_list): New variable
5237 declaration.
5238 (FOR_SCRIPT_FUNCTIONS): New macro.
5239 (grub_script_function_iterate): Removed.
5240 (grub_normal_parse_line): New prototype.
5241 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
5242 (FOR_DISABLED_TERM_INPUTS): Likewise.
5243 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5244 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5245 * include/grub/video.h (grub_video_adapter): Move 'next' to first
5246 element.
5247 (grub_video_register): Inline.
5248 (grub_video_unregister): Likewise.
5249 (grub_video_adapter_list): New variable declaration.
5250 (grub_video_iterate): Removed.
5251 (FOR_VIDEO_ADAPTERS): New macro.
5252 * kern/dl.c (grub_dl_list): Removed. All users updated.
5253 (grub_dl_iterate): Removed.
5254 * kern/fs.c (grub_fs_list): Make global.
5255 (grub_fs_register): Removed.
5256 (grub_fs_unregister): Likewise.
5257 (grub_fs_iterate): Likewise.
5258 * kern/handler.c: Removed.
5259 * kern/list.c (grub_list_pop): Removed.
5260 (grub_list_iterate): Likewise.
5261 (grub_list_insert): Likewise.
5262 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
5263 (grub_prio_list_insert): Don't use grub_list_insert.
5264 * kern/main.c (grub_register_rescue_parser): Don't call
5265 grub_register_rescue_parser.
5266 * kern/parser.c (grub_parser_class): Removed.
5267 (grub_parser_execute): Use grub_rescue_parse_line.
5268 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
5269 (grub_rescue_parser): Removed.
5270 (grub_register_rescue_parser): Likewise.
5271 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
5272 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
5273 (grub_auth_check_authentication): Likewise.
5274 * normal/completion.c (iterate_command): Removed.
5275 (grub_normal_do_completion): Use FOR_COMMANDS.
5276 * normal/handler.c: Removed.
5277 * normal/main.c (read_config_file): Remove parser changing.
5278 (grub_normal_execute): Don't call read_handler_list.
5279 (grub_normal_read_line_real): Statically allocate prompt.
5280 (grub_cmdline_run): Use grub_normal_parse_line.
5281 (GRUB_MOD_FINI): Don't call free_handler_list.
5282 * normal/menu_entry.c (run): Likewise.
5283 * script/function.c (grub_script_function_list): Make global.
5284 (grub_script_function_iterate): Removed.
5285 * script/main.c (grub_normal_parse_line): Make global.
5286 (grub_sh_parser): Removed.
5287 (GRUB_MOD_INIT): Likewise.
5288 (GRUB_MOD_FINI): Likewise.
5289 * tests/lib/functional_test.c (grub_functional_test): Use
5290 FOR_LIST_ELEMENTS.
5291 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
5292 (grub_test_run): Use FOR_LIST_ELEMENTS.
5293 * tests/lib/unit_test.c (main): Likewise.
5294 * util/deviceiter.c (grub_util_iterate_devices): Don't use
5295 grub_list_pop.
5296 * util/grub-fstest.c (grub_term_input_class): Removed.
5297 (grub_term_output_class): Likewise.
5298 * util/grub-probe.c: Likewise.
5299 * util/i386/pc/grub-setup.c: Likewise.
5300 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5301 * util/grub-script-check.c (main): Don't call grub_init_all and
5302 grub_fini_all.
5303 * video/video.c (grub_video_adapter_list): Make global.
5304 (grub_video_register): Removed.
5305 (grub_video_unregister): Likewise.
5306 (grub_video_iterate): Likewise.
5307
6289c3a7
VS
53082010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
5311 reported by Henrique Ferreiro.
5312
91460247
RM
53132010-06-09 Robert Millan <rmh@gnu.org>
5314
5315 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
5316 ones, when both are available.
5317
0ea7c4f9
GS
53182010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5319
5320 Make --version uniform and avoid hard-coded program name.
5321
5322 * util/grub-mkimage.c (main): Use `program_name' instead of
5323 hard-coded string.
5324 * util/i386/pc/grub-setup.c (main): Likewise.
5325 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
5326 * util/grub-install.in: Save the basename of $0 in $self, and use the
5327 latter in informational messages. Use the same format for --version
5328 as the binary programs.
5329 * util/grub-mkconfig.in: Likewise.
5330 * util/grub-mkrescue.in: Likewise.
5331 * util/grub-reboot.in: Likewise.
5332 * util/grub-set-default.in: Likewise.
5333 * util/i386/efi/grub-install.in: Likewise.
5334 * util/ieee1275/grub-install.in: Likewise.
5335 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5336
e8a6f3b6
GS
53372010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5338
5339 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
5340 embedding area. Use <= instead of == when checking for non-emptiness.
5341
f4d095d7
GS
53422010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5343
5344 * configure.ac: Add `.' to the directories searched for unifont.
5345
50e532ca
CW
53462010-06-08 Colin Watson <cjwatson@ubuntu.com>
5347
5348 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
5349 grub_script.yy.h.
5350
d39f3dec
CW
53512010-06-08 Colin Watson <cjwatson@ubuntu.com>
5352
5353 * docs/grub.texi (History): Expand to cover GRUB 2.
5354 (Serial terminal): Refer to `terminal_input' and `terminal_output'
5355 commands, not `terminal'.
5356 (serial): Likewise.
5357 (terminal_input): New section.
5358 (terminal_output): New section.
5359 (uppermem): New section (stub).
5360 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
5361
6ef0ddb4
CW
53622010-06-08 Colin Watson <cjwatson@ubuntu.com>
5363
5364 * docs/grub.texi (Security): Menu entries are unrestricted by
5365 default, not restricted to superusers as I had previously thought.
5366 Reword to account for this.
5367
e0f4c438
CW
53682010-06-07 Colin Watson <cjwatson@ubuntu.com>
5369
5370 * kern/emu/misc.c (device_mapper_null_log): New function.
5371 (grub_device_mapper_supported): New function.
5372 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
5373 prototype.
5374 * kern/emu/hostdisk.c (find_partition_start): Check whether
5375 device-mapper is supported before trying to use it.
5376 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
5377
da908200
CW
53782010-06-07 Colin Watson <cjwatson@ubuntu.com>
5379
5380 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
5381 (File name syntax): Likewise.
5382 (help): --all is no longer supported in GRUB 2. Be more precise
5383 about pattern matching.
5384
fb55c3ac
CW
53852010-06-07 Colin Watson <cjwatson@ubuntu.com>
5386
5387 * normal/completion.c (grub_normal_do_completion): When completing
5388 arguments to "set" and the current word contains an equals sign,
5389 skip to after the equals sign before starting completion.
5390
258c2573
CW
53912010-06-07 Colin Watson <cjwatson@ubuntu.com>
5392
5393 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
5394
ee75515e
CW
53952010-06-07 Colin Watson <cjwatson@ubuntu.com>
5396
5397 * docs/grub.texi (Network): New section.
5398 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
5399 `(nd)' as in GRUB Legacy.
5400 (pxe_unload): New section.
5401
a6a700aa
CW
54022010-06-07 Colin Watson <cjwatson@ubuntu.com>
5403
5404 * docs/grub.texi (Troubleshooting): `echo' is not usually available
5405 in the rescue shell, so recommend using `set' instead. Thanks,
5406 Jordan Uggla.
5407
4003dd38
CW
54082010-06-07 Colin Watson <cjwatson@ubuntu.com>
5409
5410 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
5411 (password): New section.
5412 (password_pbkdf2): New section.
5413 (search): New section.
5414 (Security): New section.
5415 (Troubleshooting): New section, currently very incomplete.
5416 (Invoking grub-mkpasswd-pbkdf2): New section.
5417 (Internals): New section, currently very incomplete.
5418
e1cbcc40
CW
54192010-06-07 Colin Watson <cjwatson@ubuntu.com>
5420
5421 * util/grub.d/00_header.in: Add some more quoting (of
5422 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
5423 work again.
5424 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
5425
db8fa1ad
CW
54262010-06-07 Colin Watson <cjwatson@ubuntu.com>
5427
5428 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
5429 to `count', fixing variable shadowing that broke the -c option.
5430
54312010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
5432
5433 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
5434 in case they contain spaces.
5435
f28a9212
CW
54362010-06-04 Colin Watson <cjwatson@ubuntu.com>
5437
5438 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
5439 "part_" to partmap module names, in line with grub-install.
5440 Reported by: Jindřich Makovička (Debian bug #584426).
5441
9cdfe32f
CW
54422010-06-04 Colin Watson <cjwatson@ubuntu.com>
5443
5444 * util/grub-mkimage.c: Make target-related error messages slightly
5445 more helpful; -O talks about "format". Explicitly point to the use
5446 of -O if no target is specified.
5447 Reported by: Didier Raboud (Debian bug #584415).
5448
795b593a
CW
54492010-06-03 Colin Watson <cjwatson@ubuntu.com>
5450
5451 * INSTALL: Document several build requirements for optional features
5452 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
5453
9d9b5833
GS
54542010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5455
5456 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
5457 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
5458 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
5459
0819fec8
CW
54602010-06-02 Colin Watson <cjwatson@ubuntu.com>
5461
5462 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
5463 Thanks to Jordan Uggla for spotting this.
5464
49396b4f
VS
54652010-06-02 Aleš Nesrsta <starous@volny.cz>
5466
5467 Finally make USB usable.
5468
5469 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
5470 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
5471 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
5472 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
5473 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
5474 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
5475 (GRUB_OHCI_FSMPS): Likewise.
5476 (GRUB_OHCI_PERIODIC_START): Likewise.
5477 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
5478 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
5479 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
5480 (GRUB_OHCI_SET_PORT_RESET): Likewise.
5481 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
5482 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
5483 (grub_ohci_transaction): Likewise.
5484 (grub_ohci_transfer): Improve condition detection algorithms.
5485 Handle toggle property. Program the transactions correctly.
5486 Improve error handling. Various important fixups.
5487 (grub_ohci_portstatus): Put register writes in right order.
5488 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
5489 (grub_uhci_transfer): Don't show "failed" message on success.
5490 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
5491 array.
5492 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
5493 determine its size.
5494 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
5495 before initialization is completed. Use IN direction for empty
5496 transfers. Use last_trans and compute toggle.
5497 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
5498 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
5499 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
5500 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
5501 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
5502 (grub_usb_device): Increase toggle to 256.
5503 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
5504 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
5505 GRUB_USBMS_SUBCLASS_SFF8070.
5506 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
5507 (grub_scsi_inquiry): New member page and alloc_length.
5508 (grub_scsi_request_sense): New structure.
5509 (grub_scsi_request_sense_data): Likewise.
5510 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
5511 control.
5512 * disk/scsi.c (grub_scsi_request_sense): New function.
5513 (grub_scsi_test_unit_ready): Likewise.
5514 (grub_scsi_inquiry): Fill new fields.
5515 (grub_scsi_read_capacity): Likewise.
5516 (grub_scsi_read10): Add request sense at the end.
5517 (grub_scsi_read12): Likewise.
5518 (grub_scsi_write10): Likewise.
5519 (grub_scsi_write12): Likewise.
5520 (grub_scsi_open): Add Test Unit Ready.
5521 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
5522 Support additional subclasses. Con't clear halt yet. Activate the
5523 proper config. Calculate LUNs correctly.
5524 (grub_usbms_transfer): Various important fixups.
5525
55262010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
5529 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
5530 (grub_ohci_fini_hw): New function.
5531 (grub_ohci_restore_hw): Likewise.
5532 (GRUB_MOD_INIT(ohci)): Register preboot hook.
5533 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
5534 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
5535
55362010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 Dedicated DMA allocations.
5539
5540 * bus/pci.c (grub_memalign_dma32): New function
5541 (grub_dma_free): Likewise.
5542 (grub_dma_get_virt): Likewise.
5543 (grub_dma_get_phys): Likewise.
5544 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
5545 (grub_ohci_pci_iter): Use dma32_alloc.
5546 (grub_ohci_transfer): Likewise.
5547 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5548 (grub_usb_bulk_readwrite): Likewise.
5549 * include/grub/pci.h: Add declarations.
5550
55512010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 CS5536 support.
5554
5555 * bus/cs5536.c: New file.
5556 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
5557 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
5558 (cs5536_mod_SOURCES): New variable.
5559 (cs5536_mod_CFLAGS): Likewise.
5560 (cs5536_mod_LDFLAGS): Likewise.
5561 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
5562 machine/pci.h.
5563 (kernel_img_SOURCES): Add bus/cs5536.c.
5564 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
5565 usb_keyboard.mod.
5566 (usb_mod_SOURCES): New variable.
5567 (usb_mod_CFLAGS): New variable.
5568 (usb_mod_LDFLAGS): New variable.
5569 (usbtest_mod_SOURCES): New variable.
5570 (usbtest_mod_CFLAGS): New variable.
5571 (usbtest_mod_LDFLAGS): New variable.
5572 (ohci_mod_SOURCES): New variable.
5573 (ohci_mod_CFLAGS): New variable.
5574 (ohci_mod_LDFLAGS): New variable.
5575 (usbms_mod_SOURCES): New variable.
5576 (usbms_mod_CFLAGS): New variable.
5577 (usbms_mod_LDFLAGS): New variable.
5578 (usb_keyboard_mod_SOURCES): New variable.
5579 (usb_keyboard_mod_CFLAGS): New variable.
5580 (usb_keyboard_mod_LDFLAGS): New variable.
5581 * include/grub/smbus.h: New file.
5582 * include/grub/cs5536.h: New file.
5583
0b35b2a9
CW
55842010-06-02 Colin Watson <cjwatson@ubuntu.com>
5585
5586 * util/grub.d/00_header.in: Add safety check to make sure that
5587 ${locale_dir} exists before trying to probe it.
5588
ca0afd5b
CW
55892010-06-02 Colin Watson <cjwatson@ubuntu.com>
5590
5591 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
5592 per the GNU Coding Standards; this is now too obscure to be worth
5593 documenting.
5594 (QNX): Likewise.
5595 (chainloader): Remove cross-reference to `SCO UnixWare'.
5596
1c41aa78
CW
55972010-06-02 Colin Watson <cjwatson@ubuntu.com>
5598
5599 * docs/grub.texi (Chain-loading): New section.
5600 (DOS/Windows): New section, borrowed from GRUB Legacy with details
5601 adjusted for GRUB 2.
5602 (SCO UnixWare): Likewise.
5603 (QNX): Likewise.
5604 (chainloader): Add reference to `Block list syntax'.
5605 (drivemap): New section.
5606 (parttool): New section.
5607
bb8ea0f5
CW
56082010-06-02 Colin Watson <cjwatson@ubuntu.com>
5609
5610 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
5611 the grub shell'.
5612 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
5613 (Installing GRUB using grub-install): Remove reference to the grub
5614 shell; mention `grub-mkimage' and `grub-setup' instead.
5615 (Invoking grub-install): Likewise.
5616 (Interface): Add reference to `Menu entry editor'.
5617 (serial): Remove `--device' option.
5618
288dd6ed
CW
56192010-06-02 Colin Watson <cjwatson@ubuntu.com>
5620
5621 * docs/grub.texi (Configuration): New section, documenting
5622 configuration file generation using grub-mkconfig. I've left a slot
5623 for documenting the full shell scripting format but have not yet
5624 started on writing that up.
5625 (Invoking grub-mkconfig): New section.
5626
34c9f0e9
CW
56272010-06-02 Colin Watson <cjwatson@ubuntu.com>
5628
5629 * docs/grub.texi (direntry): Remove grub-terminfo reference.
5630 (GNU GRUB manual): Likewise.
5631 (General commands): Update description of `terminfo' for GRUB 2.
5632
9121567e
CW
56332010-06-02 Colin Watson <cjwatson@ubuntu.com>
5634
5635 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
5636 (GRUB_MOD_INIT): Fix capitalisation.
5637 * docs/grub.texi (Command-line and menu entry commands): Document
5638 gettext and gptsync commands.
5639
ab631611
CW
56402010-06-02 Colin Watson <cjwatson@ubuntu.com>
5641
5642 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
5643 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
5644
bde4a9ac
CW
56452010-06-01 Colin Watson <cjwatson@ubuntu.com>
5646
5647 Add btrfs probing support, currently only in the single-device case.
5648
5649 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
5650 function.
5651 (grub_guess_root_device): Call find_root_device_from_mountinfo
5652 before looking in /dev.
5653
b1d17e10
VS
56542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
5657 GRUB_DISK_SIZE_UNKNOWN.
5658 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
5659
dfbfe004
JS
56602010-05-31 Jiro SEKIBA <jir@unicus.jp>
5661
5662 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
5663 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
5664 corrupted or not synced properly.
5665
c2ffc8e9
VS
56662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
5669 Reported by: Seth Goldberg.
5670
56293166
VS
56712010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
5674 addition of dest.
5675 Reported by: Seth Goldberg.
5676
7620e7de
VS
56772010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
5680 Reported by: Seth Goldberg.
5681
c837af3f
VS
56822010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
5685 64-bit address as signed on MIPS.
5686
c7c75cf4
CW
56872010-05-28 Colin Watson <cjwatson@ubuntu.com>
5688
5689 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
5690 to the empty string.
5691
fa4b8490
BC
56922010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
5693
5694 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
5695
5696 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
5697 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
5698 * kern/misc.c (__enable_execute_stack): Disable on
5699 GRUB_MACHINE_EMU.
5700
a33075b9
CW
57012010-05-28 Colin Watson <cjwatson@ubuntu.com>
5702
5703 Make grub-probe work with symbolic links under /dev/mapper as well
5704 as with real block devices. The Linux world seems to be (at best)
5705 in transition here, and GRUB shouldn't get caught in the middle.
5706
5707 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
5708 /dev/mapper.
5709
d8708134
CW
57102010-05-27 Colin Watson <cjwatson@ubuntu.com>
5711
5712 * util/grub-script-check.c (main): Ensure defined behaviour on empty
5713 input files (in which case exit zero).
5714
db2102a0
CW
57152010-05-27 Colin Watson <cjwatson@ubuntu.com>
5716
5717 * kern/emu/misc.c (canonicalize_file_name): realpath can still
5718 return NULL for various reasons even if it has a maximum-length
5719 buffer: for example, there might be a symlink loop, or the path
5720 might exceed PATH_MAX. If this happens, return NULL.
5721
5fdba519
RM
57222010-05-27 Robert Millan <rmh@gnu.org>
5723
5724 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
5725 partmap module to handle cross-partmap setups.
5726 Reported by Orestes Mas. Gràcies!
5727
d1d368e4
CW
57282010-05-27 Colin Watson <cjwatson@ubuntu.com>
5729
5730 * util/grub-mkrescue.in: Initialise override_dir rather than
5731 assuming that it's unset or empty in the environment.
5732
95ac3c73
GS
57332010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
5734
5735 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
5736 variable index into p_index to suppress a warning with -Wshadow.
5737
7d8c0213
BC
57382010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
5739
5740 * INSTALL: Added flex >= 2.5.35 requirement.
5741
db4d5813
VS
57422010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
5745
f24f4300
VS
57462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 cmostest support.
5749
5750 * commands/i386/cmostest.c: New file.
5751 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
5752 (cmostest_mod_SOURCES): New variable.
5753 (cmostest_mod_CFLAGS): Likewise.
5754 (cmostest_mod_LDFLAGS): Likewise.
5755 * conf/i386-pc.rmk: Likewise.
5756 * docs/grub.texi (Vendor power-on keys): New section.
5757 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
5758 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
5759 and GRUB_BUTTON_CMOS_ADDRESS.
5760 * util/grub.d/00_header.in: Handle powering-on by separate button.
5761
ad603f61
VS
57622010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
5765 Removed drawing_scrollbar argument. All users updated
5766 Fixes #29792.
5767 Reported by Jo Shields
5768
3ecb080a
VS
57692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
5772 buffer since gfxterm handles double repaint.
5773
5f2316c1
VS
57742010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
5777 * term/gfxterm.c (real_scroll): Likewise.
5778
9a25f885
VS
57792010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
5782 before calling BIOS.
5783
39fbb79a
VS
57842010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * include/grub/i18n.h: Always enable grub_gettext.
5787
228cfa97
VS
57882010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
5791 partition naming style.
5792
21717c8f
CW
57932010-05-21 Colin Watson <cjwatson@ubuntu.com>
5794
5795 * util/grub-mkconfig.in: Fix handling of -o so that it works when
5796 not the first option.
5797
c0f48e65
CW
57982010-05-20 Colin Watson <cjwatson@ubuntu.com>
5799
5800 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
5801
96779aec
CW
58022010-05-20 Colin Watson <cjwatson@ubuntu.com>
5803
5804 * util/misc.c: Move inclusion of <limits.h> to ...
5805 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
5806
fa9d256e
GS
58072010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5808
5809 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
5810 Fix merge error in NetBSD code.
5811 (find_partition_start) [__NetBSD__]: Likewise.
5812
123b7a85
BC
58132010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
5814
5815 Fix grub-mkrescue usage unit testing.
5816
5817 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
5818
74276c0d
CF
58192010-05-18 Christian Franke <franke@computer.org>
5820
5821 * util/grub.d/10_windows.in: Use path names instead of
5822 drive letters to prevent warning from Cygwin 1.7.
5823 Add drivemap command to menuentry if needed.
5824
c4f7b523
ST
58252010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
5826
5827 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
5828 gnumach and gnumach.gz.
5829
95b97950
VS
58302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * include/grub/i18n.h (gettext): Inline instead of using #define.
5833 (grub_gettext): Likewise.
5834 (_): Likewise.
5835
01b8d2d7
VS
58362010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
5839 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
5840 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
5841 (main): Add a slash after pkglibdirroot.
5842
654e1d1e
VS
58432010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * util/grub-install.in: Add missing "in" keyword.
5846
26966aeb
VS
58472010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
5850 Reported by: Seth Goldberg.
5851
75006747
VS
58522010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
5855
74cbf5bd
CW
58562010-05-18 Colin Watson <cjwatson@ubuntu.com>
5857
5858 * configure.ac: Check for Linux device-mapper support.
5859
5860 * util/hostdisk.c (device_is_mapped): New function.
5861 (find_partition_start): New function, partly broken out from
5862 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
5863 device-mapper support added.
5864 (linux_find_partition): Use find_partition_start.
5865 (convert_system_partition_to_system_disk): Add `st' argument.
5866 Support Linux /dev/mapper/* devices if device-mapper support is
5867 available; only DM-RAID devices are understood at present.
5868 (find_system_device): Add `st' argument. Pass it to
5869 convert_system_partition_to_system_disk.
5870 (grub_util_biosdisk_get_grub_dev): Pass stat result to
5871 find_system_device and convert_system_partition_to_system_disk. Use
5872 find_partition_start.
5873
5874 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
5875 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
5876 * util/deviceiter.c [__linux__]: Define MINOR.
5877 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
5878 * util/mkdevicemap.c (grub_putchar): New function.
5879 (grub_getkey): New function.
5880 (grub_refresh): New function.
5881 (main): Set debug=all if -v -v is used.
5882
355b51e9
CW
58832010-05-18 Colin Watson <cjwatson@ubuntu.com>
5884
5885 Fix build with non-GNU libcs.
5886
5887 * util/misc.c (canonicalize_file_name): Move to ...
5888 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
5889 grub_make_system_path_relative_to_its_root.
5890
7fb5c25f
CW
58912010-05-18 Colin Watson <cjwatson@ubuntu.com>
5892
5893 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
5894 we handle finding grub-mkimage. Default to finding grub-mkimage in
5895 ${bindir} with program_transform_name applied, and provide a
5896 --grub-mkimage option to override this.
5897
1d3293d6
VS
58982010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 Remove grub-mkisofs.
5901
5902 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
5903 (grub_mkisofs_SOURCES): Removed.
5904 (grub_mkisofs_CFLAGS): Removed.
5905 * util/mkisofs/defaults.h: Removed.
5906 * util/mkisofs/eltorito.c: Likewise.
5907 * util/mkisofs/exclude.h: Likewise.
5908 * util/mkisofs/hash.c: Likewise.
5909 * util/mkisofs/include/: Likewise.
5910 * util/mkisofs/include/fctldefs.h: Likewise.
5911 * util/mkisofs/include/mconfig.h: Likewise.
5912 * util/mkisofs/include/prototyp.h: Likewise.
5913 * util/mkisofs/include/statdefs.h: Likewise.
5914 * util/mkisofs/iso9660.h: Likewise.
5915 * util/mkisofs/joliet.c: Likewise.
5916 * util/mkisofs/match.c: Likewise.
5917 * util/mkisofs/match.h: Likewise.
5918 * util/mkisofs/mkisofs.c: Likewise.
5919 * util/mkisofs/mkisofs.h: Likewise.
5920 * util/mkisofs/msdos_partition.h: Likewise.
5921 * util/mkisofs/multi.c: Likewise.
5922 * util/mkisofs/name.c: Likewise.
5923 * util/mkisofs/rock.c: Likewise.
5924 * util/mkisofs/tree.c: Likewise.
5925 * util/mkisofs/write.c: Likewise.
5926
5dde9afe
VS
59272010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 Unify grub-mkimage accross platforms.
5930
5931 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
5932 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
5933 (grub_mkelfimage_SOURCES): Removed.
5934 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
5935 (util/grub-mkimage.c_DEPENDENCIES): .. this.
5936 (bin_UTILITIES): Add grub-mkimage.
5937 (grub_mkimage_SOURCES): New variable.
5938 (kernel_img_HEADERS): Remove machine/kernel.h.
5939 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
5940 (pkglib_PROGRAMS): Add kernel.img.
5941 (kernel_img_HEADERS): Add machine/kernel.h.
5942 (kernel_img_FORMAT): Removed.
5943 (bin_UTILITIES): Remove grub-mkimage.
5944 (grub_mkimage_SOURCES): Removed.
5945 (grub_mkimage_CFLAGS): Likewise.
5946 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5947 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
5948 (pkglib_PROGRAMS): Add kernel.img.
5949 (bin_UTILITIES): Remove grub-mkimage.
5950 (grub_mkimage_SOURCES): Removed.
5951 (grub_mkimage_CFLAGS): Likewise.
5952 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5953 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
5954 (pkglib_PROGRAMS): Add kernel.img.
5955 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
5956 (pkglib_PROGRAMS): Add kernel.img.
5957 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
5958 (grub_mkimage_SOURCES): Removed.
5959 (grub_mkimage_CFLAGS): Likewise.
5960 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5961 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
5962 (pkglib_PROGRAMS): Add kernel.img.
5963 (bin_UTILITIES): Remove grub-mkimage.
5964 (grub_mkimage_SOURCES): Removed.
5965 (grub_mkimage_CFLAGS): Likewise.
5966 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5967 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
5968 (grub_mkimage_SOURCES): Removed.
5969 (grub_mkimage_CFLAGS): Likewise.
5970 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5971 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
5972 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
5973 (grub_pe32_optional_header): ... this.
5974 (grub_pe64_optional_header): ... and this. All users updated.
5975 (GRUB_PE32_PE32_MAGIC): Split into ..
5976 (GRUB_PE32_PE32_MAGIC): .. this.
5977 (GRUB_PE32_PE64_MAGIC): .. and this.
5978 (GRUB_PE32_SIGNATURE_SIZE): New definition.
5979 * include/grub/elf.h (PT_GNU_STACK): New definition.
5980 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
5981 * include/grub/i386/efi/kernel.h: Likewise.
5982 * include/grub/i386/kernel.h: Likewise.
5983 * include/grub/i386/pc/kernel.h: Likewise.
5984 * include/grub/i386/qemu/boot.h: Likewise.
5985 * include/grub/mips/kernel.h: Likewise.
5986 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5987 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
5988 * include/grub/powerpc/kernel.h: Likewise.
5989 * include/grub/sparc64/ieee1275/boot.h: Likewise.
5990 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
5991 * include/grub/sparc64/kernel.h: Likewise.
5992 * include/grub/x86_64/efi/kernel.h: Likewise.
5993 * include/grub/x86_64/kernel.h: Likewise.
5994 * include/grub/offsets.h: New file.
5995 * include/grub/kernel.h (grub_module_info): Split into ...
5996 (grub_module_info32): ... this.
5997 (grub_module_info64): ... and this.
5998 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
5999 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
6000 (grub_boot_blocklist): Moved from here ...
6001 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
6002 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
6003 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
6004 * include/grub/types.h (grub_target_to_host16): Removed.
6005 (grub_target_to_host32): Likewise.
6006 (grub_target_to_host64): Likewise.
6007 (grub_host_to_target16): Likewise.
6008 (grub_host_to_target32): Likewise.
6009 (grub_host_to_target64): Likewise.
6010 (grub_host_to_target_addr): Likewise.
6011
6012 Support grub-mkrescue for efi, coreboot and qemu.
6013
6014 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
6015 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
6016 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
6017 * util/grub-mkrawimage.c: Moved from here ...
6018 * util/grub-mkimage.c: ... here. All users updated.
6019 (ALIGN_ADDR): Use image_target.
6020 (TARGET_NO_FIELD): New const.
6021 (image_target_desc): New type.
6022 (image_targets): New array.
6023 (grub_target_to_host64): Use image_target.
6024 (grub_target_to_host32): Likewise.
6025 (grub_target_to_host16): Likewise.
6026 (grub_host_to_target64): Likewise.
6027 (grub_host_to_target32): Likewise.
6028 (grub_host_to_target16): Likewise.
6029 (grub_host_to_target_addr): Likewise.
6030 (generate_image): Handle multiimage.
6031 (main): Require -O parameter. All users updated.
6032 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
6033 util/efi/grub-mkimage.c
6034 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
6035 New option --rom-directory.
6036 Use xorriso.
6037 * util/i386/efi/grub-mkimage.c: Removed.
6038 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
6039 (grub_target_to_host32): Likewise.
6040 (grub_target_to_host64): Likewise.
6041 (grub_host_to_target16): Likewise.
6042 (grub_host_to_target32): Likewise.
6043 (grub_host_to_target64): Likewise.
6044 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
6045 (grub_target_to_host32): Likewise.
6046 (grub_target_to_host64): Likewise.
6047 (grub_host_to_target16): Likewise.
6048 (grub_host_to_target32): Likewise.
6049 (grub_host_to_target64): Likewise.
6050
f4fc97d0
BC
60512010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
6052
6053 Source tree is reorganized for emu build.
6054
6055 * include/grub/util/console.h: Move from here...
6056 * include/grub/emu/console.h: ...to here.
6057 * include/grub/util/getroot.h: Move from here...
6058 * include/grub/emu/getroot.h: ...to here.
6059 * include/grub/util/hostdisk.h: Move from here...
6060 * include/grub/emu/hostdisk.h: ...to here.
6061 * util/console.c: Move from here...
6062 * kern/emu/console.c: ...to here.
6063 * util/getroot.c: Move from here...
6064 * kern/emu/getroot.c: ...to here.
6065 * util/grub-emu.c: Move from here...
6066 * kern/emu/main.c: ...to here.
6067 * util/hostdisk.c: Move from here...
6068 * kern/emu/hostdisk.c: ...to here.
6069 * util/hostfs.c: Move from here...
6070 * kern/emu/hostfs.c: ...to here.
6071 * util/mm.c: Move from here...
6072 * kern/emu/mm.c: ...to here.
6073 * util/pci.c: Move from here...
6074 * bus/emu/pci.c: ...to here.
6075 * util/sdl.c: Move from here...
6076 * video/emu/sdl.c: ...to here.
6077 * util/time.c: Move from here...
6078 * kern/emu/time.c: ...to here.
6079 * util/usb.c: Move from here...
6080 * bus/usb/emu/usb.c: ...to here.
6081
6082 * include/grub/emu/misc.h: New header for grub-emu functions.
6083 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
6084
6085 * conf/any-emu.rmk: Rule updates for above renames.
6086 * conf/common.rmk: Likewise.
6087 * conf/i386-pc.rmk: Likewise.
6088 * conf/i386-qemu.rmk: Likewise.
6089 * conf/mips.rmk: Likewise.
6090 * conf/sparc64-ieee1275.rmk: Likewise.
6091 * conf/x86-efi.rmk: Likewise.
6092
6093 * disk/lvm.h: #include updates for above renames.
6094 * util/grub-mkrelpath.c: Likewise.
6095 * util/grub-probe.c: Likewise.
6096 * util/i386/pc/grub-setup.c: Likewise.
6097 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6098 * kern/emu/console.c: Likewise.
6099 * kern/emu/getroot.c: Likewise.
6100 * kern/emu/hostdisk.c: Likewise.
6101 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
6102
6103 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
6104 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
6105 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
6106 * util/misc.c: Remove grub-emu functions.
6107
cced9145
VS
61082010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 Fix gfxmenu crash.
6111 Reported by: Thorsten Grützmacher.
6112
6113 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
6114 timeout hook.
6115 (circprog_set_property): Register and unregister timeout hook.
6116 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
6117 (label_destroy): Free template. and unregister hook.
6118 (label_set_state): New function.
6119 (label_set_property): Handle templates and hooks.
6120 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
6121 timeout hook.
6122 (progress_bar_set_property): Register and unregister timeout hook.
6123 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
6124 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
6125 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
6126 (update_timeout_visit): Removed.
6127 (update_timeouts): New function.
6128 (redraw_timeouts): Likewise.
6129 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
6130 (grub_gfxmenu_clear_timeout): Likewise.
6131 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
6132 (grub_gfxmenu_timeout_notify): Likewise.
6133 (grub_gfxmenu_timeout_notifications): New external variable.
6134 (grub_gfxmenu_timeout_register): New function.
6135 (grub_gfxmenu_timeout_unregister): Likewise.
6136
c6e5caab
VS
61372010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 Transform (broken) vga terminal into (working) vga video driver.
6140
6141 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
6142 video/i386/pc/vga.c.
6143 * include/grub/video.h (grub_video_driver_id):
6144 Add GRUB_VIDEO_DRIVER_VGA.
6145 * term/i386/pc/vga.c: Renamed to ...
6146 * video/i386/pc/vga.c: ...this
6147 (DEBUG_VGA): Removed.
6148 (CHAR_WIDTH): Likewise.
6149 (CHAR_HEIGHT): Likewise.
6150 (TEXT_WIDTH): Likewise.
6151 (TEXT_HEIGHT): Likewise.
6152 (DEFAULT_FG_COLOR): Likewise.
6153 (DEFAULT_BG_COLOR): Likewise.
6154 (colored_char): Likewise.
6155 (xpos): Likewise.
6156 (ypos): Likewise.
6157 (cursor_state): Likewise.
6158 (fg_color): Likewise.
6159 (bg_color): Likewise.
6160 (text_buf): Likewise.
6161 (page): Likewise.
6162 (font): Likewise.
6163 (framebuffer): New variable.
6164 (set_read_map): Disabled.
6165 (setup): New variable.
6166 (is_target): Likewise.
6167 (grub_vga_mod_init): Likewise.
6168 (grub_vga_mod_fini): Likewise.
6169 (check_vga_mem): Likewise.
6170 (write_char): Likewise.
6171 (write_cursor): Likewise.
6172 (scroll_up): Likewise.
6173 (grub_vga_putchar): Likewise.
6174 (grub_vga_getcharwidth): Likewise.
6175 (grub_vga_getwh): Likewise.
6176 (grub_vga_getxy): Likewise.
6177 (grub_vga_gotoxy): Likewise.
6178 (grub_vga_cls): Likewise.
6179 (grub_vga_setcolorstate): Likewise.
6180 (grub_vga_setcursor): Likewise.
6181 (grub_video_vga_init): New function.
6182 (grub_video_vga_setup): Likewise.
6183 (grub_video_vga_fini): Likewise.
6184 (update_target): Likewise.
6185 (grub_video_vga_blit_bitmap): Likewise.
6186 (grub_video_vga_blit_render_target): Likewise.
6187 (grub_video_vga_set_active_render_target): Likewise.
6188 (grub_video_vga_get_active_render_target): Likewise.
6189 (grub_video_vga_swap_buffers): Likewise.
6190 (grub_video_vga_set_palette): Likewise.
6191 (grub_video_vga_get_info_and_fini): Likewise.
6192 (grub_vga_term): Removed.
6193 (grub_video_vga_adapter): New variable.
6194 (GRUB_MOD_INIT): Register a video driver instead of terminal.
6195 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
6196
2bf61a98
VS
61972010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * video/readers/jpeg.c: Indented.
6200
09ddcd11
VS
62012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 Various jpeg cleanups.
6204
6205 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
6206 (grub_jpeg_decode_quan_table): Use sizeof.
6207 (grub_jpeg_decode_du): Use ARRAY_SIZE.
6208
e5507505
PH
62092010-05-05 Peter Hurley <No e-mail available> (tiny change)
6210
6211 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
6212 tables. Ignore non-last ac bit.
6213 (grub_jpeg_decode_quan_table): Likewise.
6214
7e720a9b
VS
62152010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6218 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
6219 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6220 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
6221 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
6222 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
6223
a7fc080b
VS
62242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
6227 error.
6228
2bf6012d
VS
62292010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
6232
265d68cd
VS
62332010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
6236 condition.
6237
62382010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
6239
6240 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
6241 part.
6242
265d68cd 62432010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
6244
6245 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
6246 pointers.
6247
265d68cd 62482010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
6249
6250 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
6251
d1b61374
CF
62522010-05-01 Christian Franke <franke@computer.org>
6253
6254 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
6255 Remove broken Cygwin path conversion.
6256 * util/misc.c: [__CYGWIN__] Add include and define.
6257 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
6258 for Cygwin 1.7.
6259 (make_system_path_relative_to_its_root): Simplify loop, replace early
6260 return by break.
6261 [__CYGWIN__] Add conversion to win32 path.
6262 Include "/" case in trailing slash removal.
6263
3558c6e9
VS
62642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * kern/main.c (grub_load_config): Fix copy-pasted comment.
6267 Reported by: Seth Goldberg
6268
f5f3ff93
VS
62692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * commands/help.c (grub_cmd_help): Fix a typo.
6272 Reported by: Seth Goldberg
6273
d8b5cd40
VS
62742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
6277 name and add N_.
6278 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
6279 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
6280 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
6281 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
6282 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
6283 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
6284 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6285 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6286 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6287 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6288 * normal/context.c (GRUB_MOD_INIT): Likewise.
6289 * normal/main.c (GRUB_MOD_INIT): Likewise.
6290 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6291 * term/serial.c (GRUB_MOD_INIT): Likewise.
6292 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6293
88c14915
VS
62942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
6297 extra == 0.
6298
165134bc
VS
62992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * commands/iorw.c: New file.
6302 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
6303 (iorw_mod_SOURCES): New variable.
6304 (iorw_mod_CFLAGS): Likewise.
6305 (iorw_mod_LDFLAGS): Likewise.
6306
c5ac9b32
VS
63072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 Hotkey support
6310
6311 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
6312 * normal/main.c (hotkey_aliases): New variable.
6313 (grub_normal_add_menu_entry): Parse "--hotkey".
6314 * normal/menu_text.c (run_menu): Handle hotkeys.
6315
ce60689c
VS
63162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * kern/i386/coreboot/init.c (grub_machine_init): Call
6319 grub_machine_mmap_init on qemu.
6320
0359d006
VS
63212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * boot/i386/qemu/boot.S: Add a missing .code16.
6324
7819a456
VS
63252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 Use LBIO on coreboot.
6328
6329 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
6330 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
6331 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
6332 New declaration.
6333 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
6334 grub_machine_mmap_init on coreboot.
6335 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
6336 GRUB_LINUXBIOS_MEMBER_LINK.
6337 (grub_machine_mmap_iterate): Fix declaration.
6338 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
6339
7210dca9
VS
63402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 Split coreboot and multiboot ports.
6343
6344 * conf/i386-multiboot.rmk: New file.
6345 * configure.ac: Add multiboot port.
6346 * include/grub/i386/multiboot/boot.h: New file.
6347 * include/grub/i386/multiboot/console.h: Likewise.
6348 * include/grub/i386/multiboot/init.h: Likewise.
6349 * include/grub/i386/multiboot/kernel.h: Likewise.
6350 * include/grub/i386/multiboot/loader.h: Likewise.
6351 * include/grub/i386/multiboot/memory.h: Likewise.
6352 * include/grub/i386/multiboot/serial.h: Likewise.
6353 * include/grub/i386/multiboot/time.h: Likewise.
6354 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
6355 * loader/multiboot.c: Likewise.
6356 * loader/multiboot_mbi2.c: Likewise.
6357 * util/grub-mkrescue.in: Generate multiboot rescue.
6358
6f8aaf68
VS
63592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6360
3080f7a7
VS
6361 * kern/parser.c (grub_parser_execute): Cope with read-only config.
6362
63632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
6366
6367 * commands/terminal.c (abstract_terminal): New struct.
6368 (handle_command): New function. Based on grub_cmd_terminal_input.
6369 (grub_cmd_terminal_input): Use handle_command.
6370 (grub_cmd_terminal_output): Use handle_command.
6371
a8ebb841
BC
63722010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
6373
6374 Fix comment handling.
6375
6376 * tests/grub_script_comments.in: New testcase.
6377 * conf/tests.rmk: Rules for new testcase.
6378 * script/yylex.l: Updated flex rules.
6379
bb06ba08
ST
63802010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
6381
6382 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
6383 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
6384 if argc is 1.
bb06ba08 6385
cc9d2425
VS
63862010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
6389 autogen issues.
6390
460d8402
CF
63912010-04-26 Christian Franke <franke@computer.org>
6392
6393 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
6394 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
6395 (grub_get_prefix): Remove function.
6396 * util/grub-emu.c (main): Replace grub_get_prefix () call by
6397 make_system_path_relative_to_its_root ().
6398 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6399
553c01f9
CF
64002010-04-24 Christian Franke <franke@computer.org>
6401
6402 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
6403 (kernel_img_LDFLAGS): Remove -static-libgcc.
6404
2aec1692
CF
64052010-04-24 Christian Franke <franke@computer.org>
6406
6407 * configure.ac: Do not CHECK_BSS_START_SYMBOL
6408 and CHECK_END_SYMBOL if grub-emu is built.
6409 Unset TARGET_OBJ2ELF if grub-emu is built
6410 without module support.
6411
f67dc308
JS
64122010-04-24 Jiro SEKIBA <jir@unicus.jp>
6413
6414 Nilfs2 support.
6415
6416 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
6417 (grub_fstest_SOURCES): Likewise.
6418 (pkglib_MODULES): Add nilfs2.mod.
6419 (nilfs2_mod_SOURCES): New variable.
6420 (nilfs2_mod_CFLAGS): Likewise.
6421 (nilfs2_mod_LDFLAGS): Likewise.
6422 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6423 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6424 * fs/nilfs2.c: New file.
6425
4ba8d354
VS
64262010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
6429 is not supported.
6430
0d2c20c6
GS
64312010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
6432
6433 Add grub-mkconfig support for NetBSD.
6434
6435 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
6436 * util/grub-mkconfig.in: export new NetBSD specific variables.
6437 * po/POTFILES-shell: added 10_netbsd.in.
6438 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
6439
bc4a2d83
BC
64402010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
6441
6442 Fix emu build with grub-emu-pci and grub-emu-modules.
6443
6444 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
6445 functions.
6446 * include/grub/libpciaccess.h: New file.
6447 * conf/any-emu.rmk: Update kernel headers for emu build.
6448
f48c87aa
VS
64492010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
6452
18959385
VS
64532010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
6456
0037de3f
VS
64572010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
6460 Retrieve chosen/bootpath if bootpath isn't hardcoded.
6461 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
6462 util/ieee1275/ofpath.c.
6463 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
6464 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
6465 * include/grub/sparc64/ieee1275/boot.h
6466 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
6467 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
6468 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
6469 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
6470 const char *.
6471 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
6472 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
6473 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
6474 install.
6475
38e55e90
GS
64762010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6477
6478 * util/grub-mkconfig.in: Corrected two == equality tests.
6479 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
6480 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
6481 expect a number appended to it.
6482 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
6483 expects a number appended to it.
6484
a9e6ff28
VS
64852010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
6488
0b830b8f
VS
64892010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * util/hostdisk.c (make_device_name): Change to new partition naming.
6492
0973daeb
VS
64932010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
6496
460d8402 64972010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
6498
6499 * Makefile.in: Add missing localedir setting.
6500
0b456309
CW
65012010-04-14 Colin Watson <cjwatson@ubuntu.com>
6502
6503 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
6504 mistake in r2156. Noticed by Anthony Fok.
6505
6506 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
6507 @localedir@.
6508 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6509
08f46d62
BC
65102010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
6511
6512 Fix a spurious, uninitialized variable warning.
6513
6514 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
6515 Initialize variable, shdr.
6516 (grub_freebsd_load_elfmodule): Likewise.
6517 (grub_freebsd_load_elf_meta): Likewise.
6518
8c4a72d4
BC
65192010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
6520
6521 Fix for escaped dollar in double quoted strings.
6522
6523 * script/yylex.l: Updated flex rules.
6524 * conf/tests.rmk: Rule for new testcase.
6525 * tests/grub_script_dollar.in: New testcase.
6526
ce44826e
CPE
65272010-04-13 Carles Pina i Estany <carles@pina.cat>
65282010-04-13 Colin Watson <cjwatson@ubuntu.com>
6529
6530 Enclose all translated strings in grub.cfg in single quotes, and
6531 escape them appropriately (Ubuntu bug #552921).
6532
6533 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
6534 * util/grub.d/10_hurd.in: Use it.
6535 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6536 * util/grub.d/10_linux.in (linux_entry): Likewise.
6537
4b0cd8f8
VS
65382010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 Fix cygwin compilation.
6541
6542 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
6543 * include/grub/misc.h (__register_frame_info)
6544 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
6545 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6546 * kern/misc.c (__register_frame_info)
6547 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
6548 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6549
01fcf061
VS
65502010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
6553
5d04b11e
VS
65542010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 Unify libgcc processing.
6557
6558 * Makefile.in (kernel_img_LDFLAGS): New variable.
6559 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
6560 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
6561 overwriting.
6562 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
6563 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
6564 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
6565 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
6566 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
6567 overwriting. Remove -lgcc and -static-libgcc
6568 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
6569 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6570 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6571 (kernel_img_LDFLAGS): Append instead of overwriting.
6572 Remove -lgcc and -static-libgcc
6573 * conf/sparc64-ieee1275.rmk: Likewise.
6574 * include/grub/powerpc/libgcc.h: Move to ...
6575 * include/grub/libgcc.h: .. this.
6576 * include/grub/libgcc.h: Don't export most of the function on x86.
6577 (__bswapsi2): New export.
6578 (__bswapdi2): Likewise.
6579 * include/grub/mips/libgcc.h: Removed.
6580 * include/grub/sparc64/libgcc.h: Likewise.
6581
b7f3ac29
VS
65822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
6585 disk_info_msg (conflicts with gettexting into languages with cases).
6586
2c7031b1
GS
65872010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6588
6589 Add grub-probe support for NetBSD.
6590
6591 * util/getroot.c (find_root_device): Convert block device to
6592 character device on NetBSD.
6593 * util/probe.c (probe): Require character device on NetBSD.
6594 * util/hostdisk.c: NetBSD specific headers.
6595 (configure_device_driver): new function to tune device driver
6596 parameters (currently only for NetBSD floppy driver).
6597 (grub_util_biosdisk_open): NetBSD specific code (get disk size
6598 via disklabel ioctl).
6599 (open_device): call configure_device_driver on NetBSD.
6600 (convert_system_partition_to_system_disk): NetBSD specific code.
6601 (device_is_wholedisk): Likewise.
6602 (grub_util_biosdisk_get_grub_dev): Likewise.
6603 (make_device_name): Fixed a typo in bsd_part_str.
6604 * configure.ac: check for opendisk() and getrawpartition() on
6605 NetBSD and set LIBUTIL.
6606 * Makefile.in: add LIBUTIL to LIBS.
6607
f516290c
BC
66082010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6609
6610 Documentation fix.
6611
6612 * util/grub-script-check.c: Better help message.
6613
d8dcc0df
BC
66142010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6615
6616 Fix FreeBSD build.
6617
6618 * configure.ac: Flex version check.
6619 * conf/common.rmk: Add -Wno-error to sh.mod.
6620 * script/yylex.l: Remove all #pragma.
6621
6734334a
VS
66222010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * include/grub/util/misc.h (canonicalise_file_name): Add missing
6625 prototype.
6626 Reported by: Seth Goldberg.
6627
daea6abd
VS
66282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
6631 Rename "module" to "module2".
6632 Reported by: Seth Goldberg.
6633
f2fd9d2b
VS
66342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
6637 EXPORT_FUNC.
6638 Reported by: Seth Goldberg.
6639
be124579
VS
66402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * lib/posix_wrap/locale.h: Add missing file.
6643 Reported by: Seth Goldberg.
6644
ef5da797
VS
66452010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 grub-emu module load support.
6648
6649 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
6650 NO_DYNAMIC_MODULES switched to this.
6651 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
6652 (CFLAGS): Likewise.
6653 * conf/any-emu.rmk: Generate symlist.
6654 (kernel_img_HEADERS): Add util/datetime.h.
6655 (kernel_img_HEADERS) [sdl]: Add sdl.h.
6656 (kernel_img_HEADERS) [libusb]: Add libusb.h.
6657 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
6658 kern/$(target_cpu)/cache.S.
6659 * configure.ac (grub-emu-modules): New option.
6660 * genmk.rb: Handle multiple source lists.
6661 * include/grub/sdl.h: New file.
6662 * include/grub/libusb.h: Likewise.
6663 * util/grub-emu.c (main): Hanle (host) root.
6664 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
6665 GRUB_ERR_UNKNOWN_DEVICE.
6666 * util/misc.c: Move mm functions to ...
6667 * util/mm.c: ... here. All users updated.
6668
47822096
VS
66692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
6672 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
6673 missing files.
6674 (maintainer-clean): Remove libgcrypt-grub.
6675
5d7e7445
VS
66762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
6679
25f4e252
EC
66802010-04-09 EFI Coder <eficoder@hotmail.com>
6681
6682 * normal/menu_text.c (print_message): Clean up the message and show
6683 the Fn information when on EFI
6684 * term/efi/console.c (grub_console_checkkey): Add F4 support.
6685
027de555
VS
66862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
6689 All users updated.
6690 * normal/crypto.c (read_crypto_list): Likewise.
6691 * normal/dyncmd.c (read_command_list): Likewise.
6692 * normal/term.c (read_terminal_list): Likewise.
6693 * normal/main.c (read_lists): Use explicit prefix.
6694 (read_lists_hook): Use read_lists.
6695 (grub_normal_execute): Likewise.
6696
47779711
VS
66972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
6700 Reported by: Thomas Schmitt.
6701 Add -no-emul-boot to grub-mkisofs parameters.
6702
1118c32e
VS
67032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * font/font.c: Indented.
6706
7d652447
BC
67072010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6708
6709 Elif support to GRUB script (by Deepak Vankadaru).
6710
6711 * tests/grub_script_if.in: New testcase.
6712 * conf/tests.rmk: Rule for new testcase.
6713 * script/parser.y: Grammar rules for elif.
6714
34bb22df
BC
67152010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6716
6717 While and until loops support to GRUB script.
6718
6719 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
6720 (grub_script_create_cmdwhile): New function prototype.
6721 (grub_script_execute_cmdwhile): New function prototype.
6722 * script/execute.c (grub_script_execute_cmdwhile): New function.
6723 * script/parser.y (command): New commands.
6724 (whilecmd): New grammar rule.
6725 (untilcmd): New grammar rule.
6726 * script/script.c (grub_script_create_cmdwhile): New function.
6727 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
6728 function.
6729
6730 * tests/grub_script_while1.in: New testcase.
6731 * conf/tests.rmk: Rule for new testcase.
6732
e215d8e0
VS
67332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
6736 as *.jpg.
6737
d7c43ba1
MV
67382010-04-09 Mario Vazquez <mariovazq@gmail.com>
6739
6740 GRUB_BACKGROUND support.
6741
6742 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
6743 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
6744
d64795c0
VS
67452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 6748 Idea by: Mario Vazquez
d64795c0
VS
6749
6750 * util/grub.d/00_header.in: Load pf2 and image modules.
6751
f267f83a
VS
67522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 grub-mkconfig multiple terminal support.
6755
6756 * util/grub-mkconfig.in: Handle multiple terminals correctly.
6757 * util/grub.d/00_header.in: Likewise.
6758
b7841ceb
VS
67592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * Makefile.in: Specify files explicitly instead of using $< and $@ since
6762 we use cd $(srcdir).
6763
df60998c
CW
67642010-04-08 Colin Watson <cjwatson@ubuntu.com>
6765
6766 * util/grub.d/10_linux.in: Only use the first word of
6767 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
6768 spaces in GRUB_DISTRIBUTOR.
6769 * util/grub.d/10_kfreebsd.in: Likewise.
6770 * util/grub.d/10_hurd.in: Likewise.
6771
fa09c82e
BC
67722010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
6773
14e18ae3 6774 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
6775
6776 * tests/util/grub-shell.in: Remove -serial stdio option.
6777
daf892b3
BC
67782010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 POSIX header file wrappers.
6781
6782 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
6783 equivalents.
6784 * lib/posix_wrap/ctype.h: Likewise.
6785 * lib/posix_wrap/errno.h: Likewise.
6786 * lib/posix_wrap/langinfo.h: Likewise.
6787 * lib/posix_wrap/limits.h: Likewise.
6788 * lib/posix_wrap/localcharset.h: Likewise.
6789 * lib/posix_wrap/stdint.h: Likewise.
6790 * lib/posix_wrap/stdio.h: Likewise.
6791 * lib/posix_wrap/stdlib.h: Likewise.
6792 * lib/posix_wrap/string.h: Likewise.
6793 * lib/posix_wrap/sys/types.h: Likewise.
6794 * lib/posix_wrap/unistd.h: Likewise.
6795 * lib/posix_wrap/wchar.h: Likewise.
6796 * lib/posix_wrap/wctype.h: Likewise.
6797 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
6798 (grub_script.yy.h): Likewise.
6799 * script/yylex.l: Remove POSIX emulation #defines.
6800 * Makefile.in (POSIX_CFLAGS): New variable.
6801 (GNULIB_UTIL_CFLAGS): Likewise.
6802
6803 Regexp support.
6804
6805 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
6806 (regexp_mod_SOURCES): New variable.
6807 (regexp_mod_CFLAGS): Likewise.
6808 (regexp_mod_LDFLAGS): Likewise.
6809 * commands/regexp.c: New file.
6810 * gnulib/regcomp.c: New file. Imported from gnulib.
6811 * gnulib/regex.c: Likewise.
6812 * gnulib/regex_internal.c: Likewise.
6813 * gnulib/regex_internal.h: Likewise.
6814 * gnulib/regexec.c: Likewise.
6815 * gnulib/regex.h: Likewise.
6816
974ac4f7
VS
68172010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
6820 unsupported video mode types.
6821
2622c3ff
VS
68222010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
6825
064cb524
VS
68262010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
6829 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
6830
a8c3b552
VS
68312010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 Remove unused grub_vga_get_font.
6834
6835 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
6836 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
6837
187bbe3d
GS
68382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6839
6840 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
6841 * include/grub/misc.h: Likewise.
6842
b9396631
GS
68432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6844
6845 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
6846 for which failure is fatal.
6847
50479feb
GS
68482010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6849
6850 * util/grub-install.in: Use mkdir -p to create grub directory.
6851 * util/i386/efi/grub-install.in: Likewise.
6852 * util/ieee1275/grub-install.in: Likewise.
6853
b1654fdf
GS
68542010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6855
6856 * Makefile.in (LEX): new variable.
6857
bd5a6415
GS
68582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6859
6860 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
6861 `=' and added double quotes on operands of this equality test.
6862
3db3a82b
VS
68632010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * Makefile.in (uninstall): Remove a leftover debug echo.
6866 Reported by: Grégoire Sutre
6867
38023412
VS
68682010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 MIPS multiboot2 support.
6871
6872 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
6873 (multiboot2_mod_SOURCES): New variable.
6874 (multiboot2_mod_CFLAGS): Likewise.
6875 (multiboot2_mod_LDFLAGS): Likewise.
6876 (multiboot2_mod_ASFLAGS): Likewise.
6877 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
6878 definition.
6879 (MULTIBOOT_ENTRY_REGISTER): Likewise.
6880 (MULTIBOOT_MBI_REGISTER): Likewise.
6881 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
6882 (MULTIBOOT_ELF32_MACHINE): Likewise.
6883 (MULTIBOOT_ELF64_MACHINE): Likewise.
6884 * include/grub/mips/multiboot.h: New file.
6885 * include/grub/video.h (grub_video_driver_id): New type
6886 GRUB_VIDEO_DRIVER_SM712.
6887 (grub_video_get_info_and_fini): Export.
6888 (grub_video_get_palette): Likewise.
6889 (grub_video_get_driver_id): Likewise.
6890 * include/multiboot2.h: Resynced with spec.
6891 * loader/i386/multiboot.c: Moved from here ...
6892 * loader/multiboot.c: ... here. All users updated.
6893 (grub_multiboot_boot): Use platform-specific macros.
6894 * loader/i386/multiboot_elfxx.c: Moved from here ...
6895 * loader/multiboot_elfxx.c: ... here. All users updated.
6896 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
6897 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
6898 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
6899
47674667
VS
69002010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 Import gnulib argp module.
6903
6904 * gnulib/argp-ba.c: New file.
6905 * gnulib/argp-eexst.c: Likewise.
6906 * gnulib/argp-fmtstream.c: Likewise.
6907 * gnulib/argp-fmtstream.h: Likewise.
6908 * gnulib/argp-fs-xinl.c: Likewise.
6909 * gnulib/argp-help.c: Likewise.
6910 * gnulib/argp-namefrob.h: Likewise.
6911 * gnulib/argp-parse.c: Likewise.
6912 * gnulib/argp-pin.c: Likewise.
6913 * gnulib/argp-pv.c: Likewise.
6914 * gnulib/argp-pvh.c: Likewise.
6915 * gnulib/argp-version-etc.c: Likewise.
6916 * gnulib/argp-version-etc.h: Likewise.
6917 * gnulib/argp-xinl.c: Likewise.
6918 * gnulib/argp.h: Likewise.
6919
495442ed
VS
69202010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * kern/device.c (grub_device_iterate): Clear errors after failed
6923 opening device.
6924
f9fd65df
VS
69252010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
6928 returned by firmware.
6929
af09641e
VS
69302010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
6933 compilation on coreboot and qemu
6934
016883a5
VS
69352010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * include/multiboot2.h: Resync with spec.
6938
f97e1f7d
VS
69392010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 Multiboot2 tag support
6942
6943 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
6944 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
6945 Remove loader/multiboot_loader.c.
6946 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
6947 (grub_multiboot2_real_boot): Likewise.
6948 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
6949 (grub_get_multiboot_mmap_count): New proto.
6950 (grub_fill_multiboot_mmap): Likewise.
6951 (grub_multiboot_set_video_mode): Likewise.
6952 (grub_multiboot_set_console): Likewise.
6953 (grub_multiboot_load): Likewise.
6954 (grub_multiboot_load_elf): Likewise.
6955 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
6956 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
6957 * include/multiboot.h: Resynced with specification.
6958 * include/multiboot2.h: Resynced with specification.
6959 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
6960 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
6961 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
6962 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
6963 users updated.
6964 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
6965 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
6966 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
6967 Removed.
6968 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
6969 Moved from here...
6970 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
6971 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6972 Moved from here...
6973 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
6974 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
6975 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
6976 All users updated.
6977 * loader/i386/multiboot_mbi2.c: New file.
6978
3506b90b
VS
69792010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 Resync with gnulib.
6982
6983 * Makefile.in (GNULIB_CFLAGS): New variable.
6984 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
6985 (grub_script_check_CFLAGS): New variable.
6986 * gnulib/alloca.h: Resync with gnulib.
6987 * gnulib/error.c: Likewise.
6988 * gnulib/error.h: Likewise.
6989 * gnulib/fnmatch.c: Likewise.
6990 * gnulib/fnmatch_loop.c: Likewise.
6991 * gnulib/getdelim.c: Likewise.
6992 * gnulib/getline.c: Likewise.
6993 * gnulib/getopt.c: Likewise.
6994 * gnulib/getopt1.c: Likewise.
6995 * gnulib/getopt_int.h: Likewise.
6996 * gnulib/gettext.h: Likewise.
6997 * gnulib/progname.c: Likewise.
6998 * gnulib/progname.h: Likewise.
6999
394a3120
GS
70002010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
7001
7002 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
7003 which is the case with --disabled-nls.
7004
7005 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7006 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
7007 * util/misc.c: Likewise.
7008 * util/mkisofs/mkisofs.c: Likewise.
7009 * util/mkisofs/mkisofs.h: Likewise.
7010
969d1c78
VS
70112010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 Simplify Apple CC support.
7014
7015 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
7016 Add 0 byte at the end not to have a symbol with empty target.
7017 * mmap/i386/pc/mmap_helper.S: Likewise.
7018 * genmk.rb: Ignore errors 2030 and 2050.
7019 * kern/i386/pc/startup.S: Use LOCAL when possible.
7020
8d2977bb
BC
70212010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
7022
7023 Testcase and the fix for final semicolon on cmdline.
7024
7025 * tests/grub_script_final_semicolon.in: New testcase.
7026 * conf/tests.rmk: Rules for the new testcase.
7027 * script/parser.y: Grammar fix.
7028
a7bd6915
BC
70292010-03-26 BVK Chaitanya <bvk@localhost>
7030
7031 Blank lines testcase for GRUB script.
7032
7033 * tests/grub_script_blanklines.in: New testcase.
7034 * conf/tests.rmk: Rules for the new testcase.
7035
e4ff6628
VS
70362010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 Don't use __FILE__.
7039
7040 * genmk.rb: Add -DGRUB_FILE to all C targets.
7041 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
7042 * include/grub/list.h: Likewise.
7043 * include/grub/misc.h: Likewise.
7044 * include/grub/mm.h: Likewise.
7045 * include/grub/test.h: Likewise.
7046 * kern/mm.c: Likewise.
7047 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7048
6a5cf6b6
VS
70492010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 Sunpc partitions support.
7052
7053 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
7054 (grub_fstest_SOURCES): Likewise.
7055 (pkglib_MODULES): Add part_sunpc.mod.
7056 (part_sunpc_mod_SOURCES): New variable.
7057 (part_sunpc_mod_CFLAGS): Likewise.
7058 (part_sunpc_mod_LDFLAGS): Likewise.
7059 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
7060 * partmap/sunpc.c: New file.
7061
746d9045
BC
70622010-03-26 BVK Chaitanya <bvk@localhost>
7063
7064 For loop support to GRUB script.
7065
7066 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
7067 (grub_script_create_cmdfor): New function prototype.
7068 (grub_script_execute_cmdfor): New function prototype.
7069 * script/execute.c (grub_script_execute_cmdfor): New function.
7070 * script/parser.y (command): New for command.
7071 (forcmd): New grammar rule.
7072 * script/script.c (grub_script_create_cmdfor): New function.
7073 * util/grub-script-check.c (grub_script_execute_cmdfor): New
7074 function.
7075 * tests/grub_script_for1.in: New testcase.
7076 * conf/tests.rmk: Rules for new testcase.
7077
18486b18
VS
70782010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 Nested partitions
7081
7082 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
7083 'partition' is NULL, grub_partition_get_start already does that.
7084 * commands/loadenv.c (check_blocklists): Likewise.
7085 (write_blocklists): Likewise.
7086 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
7087 (grub_fstest_SOURCES): Likewise.
7088 (pkglib_MODULES): Add part_bsd.mod.
7089 (part_bsd_mod_SOURCES): New variable.
7090 (part_bsd_mod_CFLAGS): Likewise.
7091 (part_bsd_mod_LDFLAGS): Likewise.
7092 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
7093 (grub_emu_SOURCES): Likewise.
7094 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7095 * include/grub/bsdlabel.h: New file.
7096 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
7097 'get_name'.
7098 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
7099 (grub_partition_map_list): New variable.
7100 (grub_partition_map_register): Inline.
7101 (grub_partition_map_unregister): Likewise.
7102 (FOR_PARTITION_MAPS): New macro.
7103 (grub_partition_map_iterate): Removed.
7104 (grub_partition_get_start): Handle nested partitions.
7105 * include/grub/msdos_partition.h: Remove bsd-related entries.
7106 (grub_pc_partition): Remove.
7107 * kern/disk.c (grub_disk_close): Free partition data.
7108 (grub_disk_adjust_range): Handle nested partitions.
7109 * kern/partition.c (grub_partition_map_probe): New function.
7110 (grub_partition_probe): Parse name to number, handle subpartitions.
7111 (get_partmap): New function.
7112 (grub_partition_iterate): Handle subpartitions.
7113 (grub_partition_get_name): Likewise.
7114 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
7115 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
7116 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
7117 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
7118 Set 'number'.
7119 (acorn_partition_map_probe): Remove.
7120 (acorn_partition_map_get_name): Likewise.
7121 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
7122 Set 'number'.
7123 Set 'index' to 0 since there can be only one partition entry per sector.
7124 (amiga_partition_map_probe): Remove.
7125 (amiga_partition_map_get_name): Likewise.
7126 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
7127 Set 'number'.
7128 Set 'offset' and 'index' to real positions of partitions.
7129 (apple_partition_map_probe): Remove.
7130 (apple_partition_map_get_name): Likewise.
7131 * partmap/bsdlabel.c: New file.
7132 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
7133 Set 'number'.
7134 Allocate 'data' so it can be correctly freed.
7135 Set 'index' to offset inside sector.
7136 (gpt_partition_map_probe): Remove.
7137 (gpt_partition_map_get_name): Likewise.
7138 * partmap/msdos.c (grub_partition_parse): Remove.
7139 (pc_partition_map_iterate): Don't force raw access.
7140 Set 'number'.
7141 Make 'ext_offset' a local variable.
7142 (pc_partition_map_probe): Remove.
7143 (pc_partition_map_get_name): Remove.
7144 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
7145 Set 'number'.
7146 (sun_partition_map_probe): Remove.
7147 (sun_partition_map_get_name): Likewise.
7148 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
7149 (grub_pcpart_type): Likewise.
7150 * util/hostdisk.c (open_device): Handle new numbering scheme.
7151 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
7152 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
7153 * util/grub-probe.c (probe_partmap): Handle nested paritions.
7154 * util/grub-install.in: Insert all subpartition modules.
7155 * util/ieee1275/grub-install.in: Likewise.
7156
a3940f88
AG
71572010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
7158
7159 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
7160 grammar.
7161
21b99926 71622010-03-24 Colin Watson <cjwatson@ubuntu.com>
7163
7164 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
7165
bed1d352
CW
71662010-03-21 Colin Watson <cjwatson@ubuntu.com>
7167
7168 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
7169 match where 'make install' puts them.
7170 * util/i386/efi/grub-install.in: Likewise.
7171
c9f58427
CW
71722010-03-19 Colin Watson <cjwatson@ubuntu.com>
7173
7174 * .bzrignore: Add gentrigtables, grub-script-check,
7175 grub_script_check_init.c, grub_script_check_init.h, and
7176 trigtables.c.
7177
f84afb27
VS
71782010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * kern/parser.c: Indented.
7181
ed0e3d30
VS
71822010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
7185
0ea81d98
VS
71862010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
7189 alpha_mask_size == 0 case.
7190
0cdc2a09
BC
71912010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
7192
7193 GRUB shell lexer and parser improvements.
7194
7195 * conf/any-emu.rmk: Build rule updates.
7196 * conf/common.rmk: Likewise.
7197 * conf/i386-coreboot.rmk: Likewise.
7198 * conf/i386-efi.rmk: Likewise.
7199 * conf/i386-ieee1275.rmk: Likewise.
7200 * conf/i386-pc.rmk: Likewise.
7201 * conf/powerpc-ieee1275.rmk: Likewise.
7202 * conf/x86_64-efi.rmk: Likewise.
7203
7204 * configure.ac: Configure check for flex.
7205
7206 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
7207 types.
7208 (grub_lexer_param): Struct member updates.
7209 (grub_parser_param): Likewise.
7210 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
7211 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
7212 (grub_script_lexer_init): Prototype update.
7213 (grub_script_lexer_record_start): Likewise.
7214 (grub_script_lexer_record_stop): Likewise.
7215 (grub_script_lexer_yywrap): New function prototype.
7216 (grub_script_lexer_fini): Likewise.
7217 (grub_script_execute_argument_to_string): Removed by...
7218 (grub_script_execute_argument_to_argv): ...better version.
7219
7220 * script/execute.c (ROUND_UPTO): New macro.
7221 (grub_script_execute_cmdline): Out of memory fixes.
7222 (grub_script_execute_menuentry): Likewise.
7223 (grub_script_execute_argument_to_string): Removed. Update all
7224 users by...
7225 (grub_script_execute_argument_to_argv): ...better version.
7226 * script/function.c (grub_script_function_create): Use
7227 grub_script_execute_argument_to_argv instead of
7228 grub_script_execute_argument_to_string.
7229
7230 * script/lexer.c (check_varstate): Removed.
7231 (check_textstate): Removed.
7232 (grub_script_lexer_record_start): Likewise.
7233 (grub_script_lexer_record_stop): Likewise.
7234 (recordchar): Replaced with...
7235 (grub_script_lexer_record): ...new function.
7236 (nextchar): Removed.
7237 (grub_script_lexer_init): Rewritten.
7238 (grub_script_yylex): Rewritten.
7239 (append_newline): New function.
7240 (grub_script_lexer_yywrap): New function.
7241 (grub_script_lexer_fini): New function.
7242 (grub_script_yyerror): Sets error flag.
7243
7244 * script/yylex.l: New file.
7245 (grub_lexer_yyfree): Wrapper for flex yyffre.
7246 (grub_lexer_yyalloc): Likewise.
7247 (grub_lexer_yyrealloc): Likewise.
7248 * script/parser.y: Refactored.
7249
7250 * script/script.c (grub_script_arg_add): Out of memory fixes.
7251 (grub_script_add_arglist): Likewise.
7252 (grub_script_create_cmdline): Likewise.
7253 (grub_script_create_cmdmenu): Likewise.
7254 (grub_script_add_cmd): Likewise.
7255 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
7256 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
7257 unnecessary code.
7258
7259 * tests/grub_script_echo1.in: New testcase.
7260 * tests/grub_script_vars1.in: New testcase.
7261 * tests/grub_script_echo_keywords.in: New testcase.
7262
1d63a066
VS
72632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 Remove some redundancy in build system.
7266
7267 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
7268 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
7269 (TARGET_LDFLAGS): Add -nostdlib.
7270 (TARGET_IMG_LDFLAGS): Likewise.
7271 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
7272 anything since mmap isn't available.
7273 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
7274 Add util/time.c.
7275 (pkglib_MODULES): Remove reboot.mod.
7276 (reboot_mod_SOURCES): Removed.
7277 (reboot_mod_CFLAGS): Likewise.
7278 (reboot_mod_LDFLAGS): Likewise.
7279 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
7280 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
7281 (DEFSYMFILES): Add kernel_syms.lst.
7282 (kernel_img_HEADERS): Add common headers.
7283 (symlist.c): New target.
7284 (kernel_syms.lst): Likewise.
7285 (pkglib_MODULES): Add memdisk.mod.
7286 (memdisk_mod_SOURCES): New variable.
7287 (memdisk_mod_CFLAGS): Likewise.
7288 (memdisk_mod_LDFLAGS): Likewise.
7289 (pkglib_MODULES): Add reboot.mod.
7290 (reboot_mod_SOURCES): New variable.
7291 (reboot_mod_CFLAGS): Likewise.
7292 (reboot_mod_LDFLAGS): Likewise.
7293 (pkglib_MODULES): Add date.mod.
7294 (date_mod_SOURCES): New variable.
7295 (date_mod_CFLAGS): Likewise.
7296 (date_mod_LDFLAGS): Likewise.
7297 (pkglib_MODULES): Add datehook.mod.
7298 (datehook_mod_SOURCES): New variable.
7299 (datehook_mod_CFLAGS): Likewise.
7300 (datehook_mod_LDFLAGS): Likewise.
7301 (pkglib_MODULES): Add lsmmap.mod.
7302 (lsmmap_mod_SOURCES): New variable.
7303 (lsmmap_mod_CFLAGS): Likewise.
7304 (lsmmap_mod_LDFLAGS): Likewise.
7305 (pkglib_MODULES): Add boot.mod.
7306 (boot_mod_SOURCES): New variable.
7307 (boot_mod_CFLAGS): Likewise.
7308 (boot_mod_LDFLAGS): Likewise.
7309 * conf/i386-coreboot.rmk: Removed redundant parts.
7310 * conf/i386-ieee1275.rmk: Likewise.
7311 * conf/i386-pc.rmk: Likewise.
7312 * conf/mips-yeeloong.rmk: Likewise.
7313 * conf/mips.rmk: Likewise.
7314 * conf/powerpc-ieee1275.rmk: Likewise.
7315 * conf/sparc64-ieee1275.rmk: Likewise.
7316 * conf/x86_64-efi.rmk: Likewise.
7317 * conf/i386-coreboot.rmk: Moved qemu parts ..
7318 * conf/i386-qemu.rmk: ... here
7319 * conf/i386-efi.rmk: Moved common parts to...
7320 * conf/x86-efi.rmk: ... here.
7321 * conf/i386.rmk: Added modules common to all x86 variants.
7322 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
7323 * disk/memdisk.c: Remove grub/machine/kernel.h.
7324 * gensymlist.sh.in: Include symbol.h.
7325 * hook/datehook.c: Correct module name.
7326 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
7327 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
7328 * include/grub/i386/efi/serial.h: New file.
7329 * include/grub/x86_64/efi/serial.h: Likewise.
7330 * util/time.c: Likewise.
7331 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
7332
463ac55f
CK
73332010-03-14 Colin King <colin.king@ubuntu.com>
73342010-03-14 Colin Watson <cjwatson@ubuntu.com>
7335
7336 Shrink the pre-partition-table part of boot.img by eight bytes.
7337
7338 * boot/i386/pc/boot.S (ERR): New macro.
7339 (chs_mode): Use ERR.
7340 (geometry_error): Likewise.
7341 (hd_probe_error): Remove. This is only used once, so we wrwite
7342 it inline instead.
7343 (read_error): Instead of printing read_error_string, just set up
7344 %si and fall through to ...
7345 (error_message): ... this new function, also used by ERR.
7346
08e46ede
CW
73472010-03-14 Colin Watson <cjwatson@ubuntu.com>
7348
7349 Speed up consecutive hostdisk operations on the same device.
7350
7351 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
7352 (grub_util_biosdisk_open): Initialise disk->data.
7353 (struct linux_partition_cache): New structure.
7354 (linux_find_partition): Cache partition start positions; these are
7355 expensive to compute on every read and write.
7356 (open_device): Cache open file descriptor in disk->data, so that we
7357 don't have to reopen it and flush the buffer cache for consecutive
7358 operations on the same device.
7359 (grub_util_biosdisk_close): New function.
7360 (grub_util_biosdisk_dev): Set `close' member.
7361
7362 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
7363 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
7364 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7365 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7366 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
7367
4a6d2d06
VS
73682010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 Compile parts of grub-emu as modules.
7371
7372 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
7373 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
7374 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
7375 (all-local): Add $(GRUB_EMU).
7376 (install-local): Install $(GRUB_EMU).
7377 (uninstall): Uninstall $(GRUB_EMU).
7378 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
7379 * kern/dl.c: Likewise.
7380 * commands/sleep.c: Not include machine/time.h.
7381 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
7382 (COMMON_CFLAGS): Likewise.
7383 (sbin_UTILITIES): Remove grub-emu.
7384 (grub_emu_SOURCES): Removed.
7385 (kernel_img_RELOCATABLE): New variable.
7386 (pkglib_PROGRAMS): Add kernel.img.
7387 (kernel_img_SOURCES): New variable
7388 (kernel_img_CFLAGS): Likewise.
7389 (kernel_img_LDFLAGS): Likewise.
7390 (TARGET_NO_STRIP): Likewise.
7391 (TARGET_NO_DYNAMIC_MODULES): Likewise.
7392 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
7393 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
7394 (grub-emu): New target.
7395 (GRUB_EMU): New variable.
7396 * configure.ac: Whitelist -emu as possible x86_64 architecture.
7397 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
7398 * loader/xnu.c: Likewise.
7399 * include/grub/pci.h: Likewise.
7400 * genemuinit.sh: New file.
7401 * genemuinitheader.sh: Likewise.
7402 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
7403 Support TARGET_NO_DYNAMIC_MODULES.
7404 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
7405 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
7406 * disk/loopback.c: Likewise.
7407 * font/font_cmd.c: Likewise.
7408 * partmap/acorn.c: Likewise.
7409 * partmap/amiga.c: Likewise.
7410 * partmap/apple.c: Likewise.
7411 * partmap/gpt.c: Likewise.
7412 * partmap/msdos.c: Likewise.
7413 * partmap/sun.c: Likewise.
7414 * parttool/msdospart.c: Likewise.
7415 * term/gfxterm.c: Likewise.
7416 * video/bitmap.c: Likewise.
7417 * video/readers/jpeg.c: Likewise.
7418 * video/readers/png.c: Likewise.
7419 * video/readers/tga.c: Likewise.
7420 * video/video.c: Likewise.
7421 * util/grub-emu.c (read_command_list): Removed.
7422 (main): Don't call util_init_nls.
7423 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
7424 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
7425
91fdd2ed
VS
74262010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
7429 date.mod, datehook.mod.
7430 (datetime_mod_SOURCES): New variable.
7431 (datetime_mod_CFLAGS): Likewise.
7432 (datetime_mod_LDFLAGS): Likewise.
7433 (date_mod_SOURCES): Likewise.
7434 (date_mod_CFLAGS): Likewise.
7435 (date_mod_LDFLAGS): Likewise.
7436 (datehook_mod_SOURCES): Likewise.
7437 (datehook_mod_CFLAGS): Likewise.
7438 (datehook_mod_LDFLAGS): Likewise.
7439 * conf/sparc64-ieee1275.rmk: Likewise.
7440 * lib/ieee1275/datetime.c: New file.
7441
873ccae6
VS
74422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
7445 (ieee1275_fb_mod_SOURCES): New variable.
7446 (ieee1275_fb_mod_CFLAGS): Likewise.
7447 (ieee1275_fb_mod_LDFLAGS): Likewise.
7448 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
7449 New proto.
7450 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
7451 (HEAP_MAX_ADDR): Likewise.
7452 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
7453 type.
7454 Correct stop condition.
7455 (grub_ieee1275_devices_iterate): New function.
7456 * video/ieee1275.c: New file.
7457
601c97c0
VS
74582010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
7461
7462 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
7463 as scratch.
7464 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
7465 SCRATCH_PAD_DISKBOOT as scratch.
7466 (bootit): Pass Openfirmware pointer in %o4.
7467 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
7468 of 0x200000.
7469 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
7470 with util/grub-mkrawimage.c.
7471 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
7472 * include/grub/aout.h (AOUT_MID_SUN): New definition.
7473 (grub_aout_get_type) [GRUB_UTIL]: Removed.
7474 (grub_aout_load) [GRUB_UTIL]: Likewise.
7475 * include/grub/kernel.h (grub_modules_get_end): New proto.
7476 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
7477 (SCRATCH_PAD_BOOT): New definition.
7478 (SCRATCH_PAD_DISKBOOT): Likewise.
7479 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
7480 * include/grub/sparc64/ieee1275/ieee1275.h
7481 (grub_ieee1275_original_stack): New variable
7482 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
7483 New definition
7484 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
7485 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
7486 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
7487 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
7488 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
7489 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
7490 (grub_platform_image_format_t): New type.
7491 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
7492 * kern/main.c (grub_modules_get_end)
7493 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
7494 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
7495 (codestart): Switch stacks.
7496 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
7497 variable.
7498 (grub_heap_init): Use grub_modules_get_end.
7499 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
7500 stack.
7501 * util/grub-mkrawimage.c (generate_image): Support sparc64.
7502 (main): Likewise.
7503 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
7504
d68b491e
TG
75052010-03-14 Thorsten Glaser <tg@mirbsd.org>
7506
7507 * util/grub-mkrescue.in: Base ISO UUID on UTC.
7508
4e02ed50
MK
75092010-03-08 Matt Kraai <kraai@ftbfs.org>
7510
7511 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
7512 bug #559005).
7513
1f15fc1e
VS
75142010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * genmoddep.awk: Output all missing symbols and not only first.
7517
fce5d8ff
VS
75182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * NEWS: Put the date of 1.98 release.
7521
d1e8a02f
VS
75222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
7525 ft2build.h.
7526
696fd607
VS
75272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
7530 completition in the middle of string.
7531
33e2e6f3
VS
75322010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * util/grub-mkrescue.in: Use mktemp with explicit template.
7535
b1f6d291
VS
75362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
7539
2ac227c7
VS
75402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
7543 right pointer.
7544
8f9a632b
VS
75452010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 Fix FreeBSD compilation.
7548
7549 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
7550 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
7551
60b03859
VS
75522010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
7555
48a5a769
VS
75562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
7559
3ab4bd77
VS
75602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
7563
d116e0d8
RM
75642010-03-04 Robert Millan <rmh.grub@aybabtu.com>
7565
7566 Support relative image path in theme file.
7567
7568 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
7569 (image_set_property): Handle theme_dir and relative path.
7570
c7ef54aa
VS
75712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 * configure.ac: Alias amd64 to x86_64.
7574
fcee14ed
VS
75752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * NEWS: mention multiboot on EFI.
7578
d0780363
VS
75792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * kern/main.c (grub_load_modules): Handle errors from init functions of
7582 embeded modules.
7583
41168ea4
VS
75842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * normal/autofs.c (autoload_fs_module): Handle errors.
7587
b54d93ac
VS
75882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 Disable linux.mod on qemu-mips since it's not functional and leads
7591 to compilation failure.
7592
7593 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
7594 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
7595 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
7596 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
7597 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
7598 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
7599 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
7600 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
7601 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
7602 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
7603 Reported by: BVK Chaitanya
7604
fc8345da
JU
76052010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
7606
7607 * INSTALL: Add gettext as a dependency and add qemu to a new section
7608 "Prerequisites for make-check".
7609
4760f979
CF
76102010-03-04 Christian Franke <franke@computer.org>
7611
7612 * util/grub-pe2elf.c: Add missing include "progname.h".
7613
f209b5b2
VS
76142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * normal/crypto.c (read_crypto_list): Fix a typo.
7617 Reported by: Seth Goldberg.
7618
b4b7be98
VS
76192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 7622 Reported by: Seth Goldberg.
b4b7be98 7623
c0ee0385
VS
76242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
7627 ascii.bitmaps.
7628
a8efbf64
VS
76292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 7632 Reported by: Seth Goldberg.
a8efbf64 7633
08dcd913
VS
76342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * util/i386/efi/grub-install.in: Copy gettext files.
7637
c4d0b332
VS
76382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
7641
c6f2fe52
VS
76422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7643
7644 Wait for user entry basing on presence of output rather than on errors.
7645
7646 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
7647 (grub_install_newline_hook): Likewise.
7648 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
7649 * normal/menu.c (show_menu): Check line_counter to determine presence
7650 of output.
7651 * normal/term.c (grub_normal_line_counter): New variable.
7652 (grub_normal_get_line_counter): New function.
7653 (grub_install_newline_hook): Likewise.
7654
5382b1e4
VS
76552010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
7658
5519963b
VS
76592010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * configure.ac: Update version to 1.98.
7662
72b28631
VS
76632010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * util/grub.d/10_linux.in (linux_entry): Don't default to
7666 gfxpayload=keep if Linux doesn't support video handover.
7667
c140a180
VS
76682010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 Don't compile video modules on yeeloong since video subsystem is part
7671 of kernel.
7672
7673 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
7674 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
7675 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
7676 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
7677 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
7678 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
7679 * include/grub/bitmap_scale.h: Likewise.
7680 * include/grub/bufio.h: Likewise.
7681 * include/grub/font.h: Likewise.
7682 * include/grub/gfxterm.h: Likewise.
7683 * include/grub/video.h: Likewise.
7684 * include/grub/vbe.h: Don't include video_fb.h.
7685 * video/i386/pc/vbe.c: Include video_fb.h.
7686 * commands/i386/pc/vbetest.c: Include video.h.
7687
a0ca21c2
CW
76882010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
7689
7690 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
7691 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
7692 default entry if GRUB_SAVEDEFAULT=true. This allows using
7693 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
7694 saving a new default on every boot.
7695
4a8a763c
VS
76962010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * normal/crypto.c (read_crypto_list): Fix a memory leak.
7699 * normal/term.c (read_terminal_list): Likewise.
7700 * normal/main.c (grub_normal_init_page): Likewise.
7701 (grub_normal_read_line_real): Likewise.
7702
607ffde2
VS
77032010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
7706 memory leak.
7707 Reported by: Seth Goldberg.
7708
2b8fa975
CW
77092010-02-24 Joey Korkames <joey+lists@kidfixit.com>
7710
7711 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
7712 duplicate declaration of `start'.
7713
618307dd
VS
77142010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
7717 filename.
7718 Reported by: Georgy Buranov
7719
7dd05b96 77202010-02-20 Carles Pina i Estany <carles@pina.cat>
7721
7722 * util/grub-mkrawimage.c (usage): Change string formatting to
7723 improve gettext.
7724
d1484a42
MRA
77252010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7726
7727 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
7728 backspace keys.
7729
42b1d186
VS
77302010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
7733 Reported by: Michael Suchanek.
7734
77352010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
7736
7737 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
7738 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
7739
d9f31a41
VS
77402010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 Remove any reference to non-free fonts.
7743
7744 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
7745 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
7746 uses non-free components.
7747 * font/font.c (grub_font_get_name): Remove example name.
7748 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
7749 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7750 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
7751 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
7752
2793c71e
GB
77532010-02-16 Georgy Buranov <gburanov@gmail.com>
7754
7755 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
7756
402e3779
VS
77572010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
7760 Double divisor.
7761 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
7762 features.
7763 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
7764
0dd1e0dd
VS
77652010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * gensymlist.sh.in: Use TARGET_CC instead of CC.
7768
6fa7cfce
ST
77692010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7770
7771 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
7772 * docs/grub.texi (Command-line and menu entry commands): Document play
7773 command.
7774
37c8483b
ST
77752010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7776
7777 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
7778 parse arguments as inline tempo and notes. Move code for playing notes
7779 to...
7780 (play): ... new function.
7781
14da0fb7
ST
77822010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7783
7784 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
7785 grub_uint16_t instead of short.
7786 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
7787 disk from little endian to cpu endianness.
7788
04459e70
ST
77892010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
7790
7791 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
7792 GRUB_TICKS_PER_SECOND instead of 120.
7793
a0876943
VS
77942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
7797 escape sequence after \e.
7798
e29f95dc
VS
77992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
7802 non-ASCII characters.
7803
d27859b2
VS
78042010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
7807 set root in single quotes to prevent \, from being unescaped.
7808
bc028f2f
VS
78092010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 Prevent unknown commands from stopping menuentry execution.
7812
7813 * script/execute.c (grub_script_execute_cmdline): Print error after
7814 unknown command.
7815
095f5f82
VS
78162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
7819 Reported by: Pavel Pisa.
7820
8c717950
VS
78212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
7824
904935c3
VS
78252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 Merge grub_ieee1275_map_physical into grub_map and rename to
7828 grub_ieee1275_map
7829
7830 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
7831 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
7832 Remove.
7833 * kern/ieee1275/openfw.c (grub_map): Rename to ...
7834 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
7835 necessary.
7836 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
7837
5b59a4e3
VS
78382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
7841 opening and not after.
7842
69e137e8
VS
78432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
7846 constants.
7847
2c0fcc36
VS
78482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
7851 (alloc_phys): Use ALIGN_UP instead of align_addr.
7852
8c6052ce
VS
78532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
7856
17cec782
VS
78572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
7860
e0128bbd
VS
78612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
7864 verbose dprintf.
7865
ca62070b
VS
78662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 Fix over-4GiB seek on sparc64.
7869
7870 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
7871 Replace pos_i and pos_lo with pos. All users updated.
7872 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
7873 New constant.
7874 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
7875 Likewise.
7876 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
7877 and pos_lo.
7878
bdca2607
VS
78792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * util/grub-mkrawimage.c (main): Call set_program_name.
7882
da278c4d
VS
78832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 Properly align 64-bit targets.
7886
7887 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
7888 (generate_image): Use ALIGN_ADDR.
7889
b274d734
VS
78902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 Properly create cross-endian images.
7893
7894 * include/grub/types.h (grub_host_to_target_addr): New macro
7895 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
7896
82da2062
VS
78972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
7900
7cae4377
VS
79012010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7902
7903 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
7904
7905 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
7906 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
7907 (grub_linux_boot): Divide by 64K when on VESA.
7908
65a533e7
VS
79092010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 Support GRUB_GFXPAYLOAD_LINUX.
7912
7913 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
7914 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
7915
dd01d397
VS
79162010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
7919 to show messages instead of discarding them.
7920 Process errors after executing command and not before. Keep old method
7921 too as precaution.
7922
660960d6
VS
79232010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * configure.ac: Check for ft2build.h.
7926
62509f04
VS
79272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
7930
473df63d
VS
79312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * genkernsyms.sh.in: Use TARGET_CC.
7934
c98d2a13
CW
79352010-02-07 Colin Watson <cjwatson@ubuntu.com>
7936
7937 * NEWS: Update.
7938
6e14234c
VS
79392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
7942 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
7943 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 7944
b255e9cf
YB
79452010-02-07 Yves Blusseau <blusseau@zetam.org>
7946
6e14234c 7947 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 7948
98e6959d
VS
79492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 Fix warnings in grub-emu when compiling with maximum warning options.
7952
7953 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
7954 (grub_arch_modules_addr): Return 0 and not NULL.
7955 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 7956 (xstrdup): Use newstr instead of dup.
f88d801b
VS
7957 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
7958 of disk to dsk to avoid shadowing.
74e4934e
VS
7959 (find_free_slot): Fix prototype.
7960 * util/getroot.c (grub_util_is_dmraid): Make static.
7961 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
7962 Add missing prototype.
7963 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 7964
74e31b5c
VS
79652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * loader/i386/linux.c (grub_linux_setup_video): Handle error
7968 appropriately.
7969
6b2ad14b
VS
79702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
7973 code out.
7974
8f891adc
VS
79752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
7978 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
7979 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
7980 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
7981 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
7982 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
7983
74b45184
VS
79842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * include/grub/err.h (grub_err_printf): Don't export.
7987
a4bced77
VS
79882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
7991
007d0695
VS
79922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * include/grub/i18n.h (grub_gettext_dummy): Removed.
7995 * kern/misc.c (grub_gettext_dummy): Make static.
7996
b6c0d9c2
VS
79972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
8000 by non-valid ones.
8001 * kern/term.c (grub_putchar): Likewise.
8002
f51a90d0
VS
80032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
8006 buggy hook call and memory leak.
8007
6846cec5
VS
80082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
8011
468d69fe
VS
80122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
8015
51906b8c
VS
80162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
8019 modevar.
8020 Return grub_errno on allocation error.
8021
09706ce5
VS
80222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
8025
911df80c
YB
80262010-02-06 Yves Blusseau <blusseau@zetam.org>
8027
8028 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
8029 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
8030
3746a6bc
VS
80312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
8034 non-pxe disk.
8035 (grub_pxefs_open): Likewise.
8036
09706ce5
VS
80372010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8038
8039 * util/grub.d/10_hurd.in: Add --class information to menuentries.
8040 * util/grub.d/10_kfreebsd.in: Likewise.
8041 * util/grub.d/10_linux.in: Likewise.
8042
7cc192d9
VS
80432010-02-06 Colin D Bennett <colin@gibibit.com>
8044
8045 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
8046 (gfxmenu_mod_SOURCES): New variable.
8047 (gfxmenu_mod_CFLAGS): Likewise.
8048 (gfxmenu_mod_LDFLAGS): Likewise.
8049 * include/grub/term.h (grub_term_set_current_output): Declare
8050 argument as const.
8051 * docs/gfxmenu-theme-example.txt: New file.
8052 * gfxmenu/gfxmenu.c: Likewise.
8053 * gfxmenu/gui_box.c: Likewise.
8054 * gfxmenu/gui_canvas.c: Likewise.
8055 * gfxmenu/gui_circular_progress.c: Likewise.
8056 * gfxmenu/gui_image.c: Likewise.
8057 * gfxmenu/gui_label.c: Likewise.
8058 * gfxmenu/gui_list.c: Likewise.
8059 * gfxmenu/gui_progress_bar.c: Likewise.
8060 * gfxmenu/gui_string_util.c: Likewise.
8061 * gfxmenu/gui_util.c: Likewise.
8062 * gfxmenu/icon_manager.c: Likewise.
8063 * gfxmenu/model.c: Likewise.
8064 * gfxmenu/named_colors.c: Likewise.
8065 * gfxmenu/theme_loader.c: Likewise.
8066 * gfxmenu/view.c: Likewise.
8067 * gfxmenu/widget-box.c: Likewise.
8068 * include/grub/gfxmenu_model.h: Likewise.
8069 * include/grub/gfxmenu_view.h: Likewise.
8070 * include/grub/gfxwidgets.h: Likewise.
8071 * include/grub/gui.h: Likewise.
8072 * include/grub/gui_string_util.h: Likewise.
8073 * include/grub/icon_manager.h: Likewise.
8074
80752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 Agglomerate scrolling in gfxterm.
8078
8079 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
8080 (grub_virtual_screen_setup): Initialise 'total_screen'.
8081 (write_char): Split to ...
8082 (paint_char): ... this ...
8083 (write_char): ... and this.
8084 (paint_char): Handle delayed scrolling.
8085 (draw_cursor): Likewise.
8086 (scroll_up): Split to ...
8087 (real_scroll): ... this ...
8088 (scroll_up): ... and this.
8089 (real_scroll): Handle multi-line scroll and draw below-the-bottom
8090 characters.
8091 (grub_gfxterm_refresh): Call real_scroll.
8092
80932010-02-06 Colin D Bennett <colin@gibibit.com>
8094
8095 * include/grub/misc.h (grub_iscntrl): New inline function.
8096 (grub_isalnum): Likewise.
8097 (grub_strtol): Likewise.
8098
80992010-02-06 Colin D Bennett <colin@gibibit.com>
8100
8101 * normal/menu_text.c (get_entry_number): Move from here ...
8102 * normal/menu.c (get_entry_number): ... moved here.
8103 * include/grub/menu.h (grub_menu_get_default_entry_index):
8104 New prototype.
8105 * normal/menu.c (grub_menu_get_default_entry_index): New function.
8106 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
8107 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
8108 (grub_menu_viewer_should_return): Likewise.
8109 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
8110 * normal/menu_text.c (run_menu): Enable menu switching.
8111 * normal/menu_viewer.c (should_return): New variable.
8112 (menu_viewer_changed): Likewise.
8113 (grub_menu_viewer_show_menu): Handle menu viewer changes.
8114 (grub_menu_viewer_should_return): New function.
8115 (menuviewer_write_hook): Likewise.
8116 (grub_menu_viewer_init): Likewise.
8117
81182010-02-06 Colin D Bennet <colin@gibibit.com>
81192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 Support for gfxterm in a window.
8122
8123 * include/grub/gfxterm.h: New file.
8124 * include/grub/video.h (struct grub_video_rect): New declaration.
8125 (grub_video_rect_t): Likewise.
8126 * term/gfxterm.c (struct grub_gfxterm_window): New type.
8127 (refcount): New variable.
8128 (render_target): Likewise.
8129 (window): Likewise.
8130 (repaint_callback): Likewise.
8131 (grub_virtual_screen_setup): Use 'render_target'.
8132 (init_window): New function.
8133 (grub_gfxterm_init_window): Likewise.
8134 (grub_gfxterm_init): Check reference counter.
8135 Use init_window.
8136 (destroy_window): New function.
8137 (grub_gfxterm_destroy_window): Likewise.
8138 (grub_gfxterm_fini): Check reference counter.
8139 Use destroy_window.
8140 (redraw_screen_rect): Restore viewport.
8141 Use 'render_target' and 'window'.
8142 Call 'repaint_callback'.
8143 (write_char): Use 'render_target'.
8144 (draw_cursor): Likewise.
8145 (scroll_up): Restore viewport.
8146 Use 'render_target' and 'window'.
8147 Call 'repaint_callback'.
8148 (grub_gfxterm_cls): Likewise.
8149 (grub_gfxterm_refresh): Use 'window'.
8150 (grub_gfxterm_set_repaint_callback): New function.
8151 (grub_gfxterm_background_image_cmd): Use 'window'.
8152 (grub_gfxterm_get_term): New function.
8153 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
8154
81552010-02-06 Colin D Bennett <colin@gibibit.com>
8156
8157 Bitmap scaling support.
8158
8159 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
8160 (bitmap_scale_mod_SOURCES): New variable.
8161 (bitmap_scale_mod_CFLAGS): Likewise.
8162 (bitmap_scale_mod_LDFLAGS): Likewise.
8163 * include/grub/bitmap_scale.h: New file.
8164 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
8165 (background_image_cmd_options): New variable.
8166 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
8167 (cmd): Rename and change type to ...
8168 (background_image_cmd_handle): ... this. All users updated.
8169 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
8170 * video/bitmap_scale.c: New file.
8171
81722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 SDL support.
8175
8176 * Makefile.in (LIBSDL): New variable.
8177 (enable_grub_emu_sdl): Likewise.
8178 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
8179 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
8180 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
8181 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
8182 * util/sdl.c: New file.
8183
81842010-02-06 Colin D Bennett <colin@gibibit.com>
81852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 Double buffering support.
8188
8189 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
8190 * include/grub/video.h: Update comment.
8191 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8192 New type.
8193 (grub_video_fb_doublebuf_blit_init): New prototype.
8194 * term/gfxterm.c (scroll_up): Support double buffering.
8195 (grub_gfxterm_refresh): Likewise.
8196 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
8197 (grub_video_fb_doublebuf_blit_init): Likewise.
8198 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
8199 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
8200 'displayed_page', 'render_page' and 'update_screen'.
8201 (grub_video_vbe_fini): Free offscreen buffer.
8202 (doublebuf_pageflipping_commit): New function.
8203 (doublebuf_pageflipping_update_screen): Likewise.
8204 (doublebuf_pageflipping_init): Likewise.
8205 (double_buffering_init): Likewise.
8206 (grub_video_vbe_setup): Enable doublebuffering.
8207 (grub_video_vbe_swap_buffers): Implement.
8208 (grub_video_vbe_set_active_render_target): Handle double buffering.
8209 (grub_video_vbe_get_active_render_target): Likewise.
8210 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
8211 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
8212 (grub_video_vbe_enable_double_buffering): Likewise.
8213 (grub_video_vbe_swap_buffers): Use update_screen.
8214 (grub_video_set_mode): Use double buffering.
8215
82162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8217
8218 * maintainance/gentrigtables.py: Remove.
8219 * lib/trig.c: Likewise.
8220
8221 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
8222
8223 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
8224 `trigtables.c'.
8225 (trigtables.c): New rule.
8226 (gentrigtables): Likewise.
8227 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
8228
82292010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8230
8231 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
8232 integer constants.
8233
82342010-02-06 Colin D Bennet <colin@gibibit.com>
8235
8236 Trigonometry support.
8237
8238 * include/grub/trig.h: New file.
8239 * lib/trig.c: Likewise.
8240 * maintainance/gentrigtables.py: Likewise.
8241 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
8242 (trig_mod_SOURCES): New variable.
8243 (trig_mod_CFLAGS): Likewise.
8244 (trig_mod_LDFLAGS): Likewise.
8245
5562834e
VS
82462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
8249 disk devices.
8250
4f8528fc
VS
82512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
8254 error.
8255
2b4068e9
VS
82562010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * util/hostdisk.c (open_device): Don't use partition device when reading
8259 before the partition.
8260 (grub_util_biosdisk_read): Don't read from partition and before the
8261 partition in single operation.
8262 (grub_util_biosdisk_write): Don't write to partition and before the
8263 partition in single operation.
8264
399f6e4d
TL
82652010-02-03 Torsten Landschoff <torsten@debian.org>
8266
8267 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8268 last sectors.
8269
996649b0
VS
82702010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
8273 CDROM reads.
8274 (grub_biosdisk_write): Refuse to write to CDROM.
8275
3b205d4d
VS
82762010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
8279
61e89d9d
VS
82802010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * font/font.c (find_glyph): Check that bmp_idx is available before
8283 using it.
8284 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
8285 with (font == NULL).
8286
bf7fcba2
CS
82872010-01-28 Christian Schmitt <chris@ilovelinux.de>
8288
8289 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
8290
f45d2663
BC
82912010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
8292
8293 * include/grub/script_sh.h (sourcecode): Add const qualifier.
8294 * util/grub-script-check.c (getline): Fix empty lines case.
8295
ec1444e6
RM
82962010-01-28 Robert Millan <rmh.grub@aybabtu.com>
8297
8298 * Makefile.in (check): Exit with fail status when one of the tests
8299 fails.
8300 * tests/example_functional_test.c (example_test): Fix reversed assert.
8301 * tests/example_unit_test.c (example_test): Likewise.
8302
2e1cb9bb
CW
83032010-01-28 Colin Watson <cjwatson@ubuntu.com>
8304
8305 * util/grub.d/10_linux.in: This script does not use any of the
8306 contents of gettext.sh, only the external command `gettext', so stop
8307 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
8308 the same prefix as GRUB.)
8309 * util/grub.d/10_kfreebsd.in: Likewise.
8310
63533ab0
VS
83112010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
8314 of the line.
8315
989e1f93
VS
83162010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8319 last sectors.
8320
e709ebe2
VS
83212010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
8324 having a 4KiB and not 32KiB buffer size.
8325
27dea7ed
RM
83262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8327
8328 * util/hostfs.c: Include `<errno.h>'.
8329 (grub_hostfs_read): Handle errors from fseeko() and fread().
8330
67667b9c
RM
83312010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8332
8333 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
8334 loop when using read hooks on files whose size isn't sector-aligned.
8335
c294d9d8
RM
83362010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8337
8338 Remove unused parameter.
8339
8340 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
8341 (grub_iso9660_open): Remove initialization of `data->length'.
8342
af75a9f1
RM
83432010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8344
8345 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
8346 memleak conditions.
8347
254e2ce5 83482010-01-27 Carles Pina i Estany <carles@pina.cat>
8349
8350 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
8351 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
8352
b510928c 83532010-01-26 Carles Pina i Estany <carles@pina.cat>
8354
8355 * util/bin2h.c (usage): Fix warning (space after backslash).
8356
aa2f9dd2 83572010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 8358
8359 * font/font.c: Include `grub/fontformat.h.
8360 Remove font file format constants.
8361 (grub_font_load): Use the new macros.
8362 * include/grub/fontformat.h: New file.
8363 * util/grub-mkfont.c: Include `grub/fontformat.c'.
8364 (write_font_pf2): Use the new macros.
8365
94e7e712
RM
83662010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8367
8368 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
8369 does.
8370
3973a59a
RM
83712010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8372
8373 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
8374
8375 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
8376 (_start): Macroify `0x7F'.
8377
8378 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
8379 (make_install_device): Use "(pxe)" as fallback prefix when booting
8380 via PXE.
8381
42e0cba3
GS
83822010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * configure.ac: Reset LIBS after check for libgcc symbols.
8385
847effd8
CW
83862010-01-25 Colin Watson <cjwatson@ubuntu.com>
8387
8388 * util/hostdisk.c (open_device): Add trailing newline to debug
8389 message.
8390
ea4a7e35
GS
83912010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8392
8393 * configure.ac: Check for `limits.h'.
8394 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
8395
67951a53
RM
83962010-01-24 Robert Millan <rmh.grub@aybabtu.com>
8397
8398 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
8399 capitalize error strings.
8400
c273d4ce
ST
84012010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
8402
8403 * util/grub.d/10_hurd.in: Add a recovery mode.
8404
69be5b74
VS
84052010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * configure.ac: Check for libgcc symbols with -nostdlib.
8408
fc9e5810
BC
84092010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
8410
8411 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
8412
4b358c0a
VS
84132010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
8416 stack since heap may be unavailable at that point.
8417 (grub_ofconsole_gotoxy): Likewise.
8418
454fcd1c
VS
84192010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * configure.ac: Check for _restgpr_14_x.
8422 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
8423 and _savegpr_* prototypes.
8424
566863ca
RM
84252010-01-22 Robert Millan <rmh.grub@aybabtu.com>
8426
8427 Use generic grub_reboot() for i386-efi.
8428
8429 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
8430 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
8431 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
8432
bf86e59a
VS
84332010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
8436 presence of "prefix" variable as it breaks when normal.mod is
8437 embedded.
8438
d645e0f8
VS
84392010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
8442 stack since heap is unavailable at that point.
8443
f9ab2e25
VS
84442010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
8447 (grub_freebsd_bootinfo): Rewritten.
8448 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
8449
01fc7054
VS
84502010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
8453
caab4fd6
RM
84542010-01-21 Robert Millan <rmh.grub@aybabtu.com>
8455
8456 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
8457 domain now.
8458
67eb1427
FZ
84592010-01-20 Felix Zielcke <fzielcke@z-51.de>
8460
8461 * util/misc.c (make_system_path_relative_to_its_root): Change the work
8462 around for handling "/" to the correct fix. Fix a memory leak. Use
8463 xstrdup instead of strdup.
8464
a9ed4ff3
VS
84652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
8468
84692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
8470
8471 Optimise glyph lookup by Basic Multilingual Plane lookup array.
8472
8473 * font/font.c (struct grub_font): New member 'bmp_idx'.
8474 (font_init): Initialise 'bmp_idx'.
8475 (load_font_index): Fill 'bmp_idx'.
8476 (find_glyph): Make inline. Use bmp_idx for BMP characters.
8477
48209f4f
VS
84782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
8481 unnecessary calls.
8482
9f0a4bb7
VS
84832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 Move context handling out of the kernel.
8486
8487 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
8488 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
8489 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
8490 * conf/i386-efi.rmk: Likewise.
8491 * conf/i386-ieee1275.rmk: Likewise.
8492 * conf/i386-pc.rmk: Likewise.
8493 * conf/powerpc-ieee1275.rmk: Likewise.
8494 * conf/sparc64-ieee1275.rmk: Likewise.
8495 * conf/x86_64-efi.rmk: Likewise.
8496 * include/grub/env.h: Include grub/menu.h.
8497 (grub_env_var_type): Removed.
8498 (grub_env_var): Replaced field 'type' with 'global'.
8499 (grub_env_find): New prototype.
8500 (grub_env_context_open): Remove EXPORT_FUNC.
8501 (grub_env_context_close): Likewise.
8502 (grub_env_export): Likewise.
8503 (grub_env_set_data_slot): Removed.
8504 (grub_env_get_data_slot): Likewise.
8505 (grub_env_unset_data_slot): Likewise.
8506 (grub_env_unset_menu): New prototype.
8507 (grub_env_set_menu): Likewise.
8508 (grub_env_get_menu): Likewise.
8509 * include/grub/env_private.h: New file.
8510 * include/grub/normal.h (grub_context_init): New prototype.
8511 (grub_context_fini): Likewise.
8512 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
8513 * normal/context.c (grub_cmd_export): ... to here.
8514 * kern/env.c: Include env_private.h.
8515 (HASHSZ): Moved to include/grub/env_private.h.
8516 (grub_env_context): Likewise.
8517 (grub_env_sorted_var): Likewise.
8518 (current_context): Renamed from this ...
8519 (grub_current_context): ...to this. 'static' removed. All users updated.
8520 (grub_env_find): Removed 'static'.
8521 (grub_env_context_open): Moved to normal/context.c.
8522 (grub_env_context_close): Likewise.
8523 (grub_env_export): Likewise.
8524 (mangle_data_slot_name): Removed.
8525 (grub_env_set_data_slot): Likewise.
8526 (grub_env_get_data_slot): Likewise.
8527 (grub_env_unset_data_slot): Likewise.
8528 * kern/main.c (grub_set_root_dev): Don't export root.
8529 It will be done later.
8530 (grub_main): Don't export prefix.
8531 It will be done later.
8532 * normal/context.c: New file.
8533 * normal/main.c (free_menu): Use grub_env_unset_menu.
8534 (grub_normal_add_menu_entry): Use grub_env_get_menu.
8535 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
8536 (GRUB_MOD_INIT(normal)): Call grub_context_init.
8537 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
8538
8dd35b8c
VS
85392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 setpci support.
8542
8543 * commands/setpci.c: New file.
8544 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
8545 (setpci_mod_SOURCES): New variable.
8546 (setpci_mod_CFLAGS): Likewise.
8547 (setpci_mod_LDFLAGS): Likewise.
8548
449193d5
VS
85492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 Byte-addressable PCI configuration space.
8552
8553 * bus/pci.c (grub_pci_make_address): Use byte address instead of
8554 dword address.
8555 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
8556 GRUB_PCI_REG_CACHELINE.
8557 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
8558 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
8559 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
8560 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
8561 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
8562 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
8563 grub_pci_make_address.
8564 (lock_rom_area): Likewise.
8565 * commands/lspci.c (grub_lspci_iter): Use macroses
8566 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
8567 of grub_pci_make_address.
8568 * disk/ata.c (grub_ata_pciinit): Likewise.
8569 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
8570 (GRUB_PCI_REG_VENDOR): Likewise.
8571 (GRUB_PCI_REG_DEVICE): Likewise.
8572 (GRUB_PCI_REG_COMMAND): Likewise.
8573 (GRUB_PCI_REG_STATUS): Likewise.
8574 (GRUB_PCI_REG_REVISION): Likewise.
8575 (GRUB_PCI_REG_CLASS): Likewise.
8576 (GRUB_PCI_REG_CACHELINE): Likewise.
8577 (GRUB_PCI_REG_LAT_TIMER): Likewise.
8578 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
8579 (GRUB_PCI_REG_BIST): Likewise.
8580 (GRUB_PCI_REG_ADDRESSES): Likewise.
8581 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8582 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8583 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8584 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8585 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8586 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8587 (GRUB_PCI_REG_CIS_POINTER): Likewise.
8588 (GRUB_PCI_REG_SUBVENDOR): Likewise.
8589 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
8590 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
8591 (GRUB_PCI_REG_CAP_POINTER): Likewise.
8592 (GRUB_PCI_REG_IRQ_LINE): Likewise.
8593 (GRUB_PCI_REG_IRQ_PIN): Likewise.
8594 (GRUB_PCI_REG_MIN_GNT): Likewise.
8595 (GRUB_PCI_REG_MAX_LAT): Likewise.
8596 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
8597 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
8598 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 8599 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
8600 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
8601 space.
8602
96d73208
RM
86032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8604
8605 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
8606 can be reliably determined to be supported.
8607
d4484482
RM
86082010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8609
8610 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
8611 that VESA is supported.
8612 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
8613 supported.
8614
00308ecf
VS
86152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
8618
f66924a4
RM
86192010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8620
8621 * util/misc.c (make_system_path_relative_to_its_root): Work around
8622 special-casing of "/", as previous incarnation of this routine did.
8623
cbca0ada
VS
86242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 Fix any-emu compilation.
8627
8628 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
8629 * grub_bin2h_SOURCES: New variable.
8630
34a66d99
RM
86312010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8632
8633 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
8634
94fabf58
RM
86352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8636
8637 * util/grub.d/00_header.in: Fix handling of locale_dir.
8638
02cf98ca
VS
86392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
8642 as possible unifont location (Gentoo).
8643 Reported by: Alexander Brüning
8644
327dbcd7
VS
86452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 Don't try to generate lists for kernel.img.
8648
8649 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
8650 (pkglib_MODULES): Remove kernel.img.
8651 (kernel_img_EXPORTS): Removed.
8652 (kernel_img_RELOCATABLE): New variable.
8653 * conf/x86_64-efi.rmk: Likewise.
8654 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
8655
ca467290
VS
86562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
8659 grub_xasprintf or grub_snprintf.
8660 (grub_vsprintf): Likewise.
8661 (grub_snprintf): New proto.
8662 (grub_vsnprintf): Likewise.
8663 (grub_xasprintf): Likewise.
8664 (grub_xvasprintf): Likewise.
8665 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
8666 (grub_sprintf): Removed.
8667 (grub_vsnprintf): New function.
8668 (grub_snprintf): Likewise.
8669 (grub_xvasprintf): Likewise.
8670 (grub_xasprintf): Likewise.
8671 (grub_vsprintf): Renamed to ...
8672 (grub_vsnprintf_real): ...this. New argument max_len.
8673
aca655fd
BC
86742010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
8675
8676 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
8677 fix grub-script-check warning.
8678
7ee92c32
VS
86792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 * include/grub/font.h (grub_font_load): Fix prototype.
8682
f80927ca
VS
86832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
8686
119c50ea
VS
86872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * include/grub/x86_64/at_keyboard.h: New file.
8690
47d5f3c1
VS
86912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * loader/mips/linux.c: Include missing grub/i18n.h.
8694
55ff5266
RM
86952009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8696
8697 * normal/menu.c (notify_execution_failure): Clarify error message.
8698
c893cc87
RM
86992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8700
8701 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
8702 return value (and revert all return statements). Update users.
8703
917dd370
CW
87042010-01-20 Dan Merillat <debian@dan.merillat.org>
8705
8706 * kern/device.c (grub_device_iterate): Allocate new part_ent
8707 structure based on sizeof (*p) rather than sizeof (p->next), to
8708 account for structure padding.
8709
8710 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
8711 disk is NULL, which might happen for LVM physical volumes with no
8712 LVM signature.
8713
d4a4ee57
RM
87142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8715
8716 * loader/mips/linux.c (grub_cmd_initrd)
8717 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
8718
87192009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8720
8721 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
8722 (grub_video_video_init, grub_video_bitmap_init)
8723 (grub_font_manager_init, grub_term_gfxterm_init)
8724 (grub_at_keyboard_init): New extern declarations.
8725 (grub_machine_init): Initialize gfxterm and at_keyboard.
8726
8727 * kern/main.c (grub_main): Revert grub_printf delay kludge.
8728
8729 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
8730 `gfxterm.mod' into core image.
8731
8732 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8733 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8734 (kernel_img_FORMAT): Copy to ...
8735
8736 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8737 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8738 (kernel_img_FORMAT): ... here, and ...
8739
8740 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8741 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8742 (kernel_img_FORMAT): ... here.
8743
8744 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
8745 and input (at_keyboard) terminals in kernel.
8746 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
8747
8748 (pkglib_MODULES): Remove `pci.mod'.
8749 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
8750 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
8751 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
8752 (at_keyboard_mod_LDFLAGS): Remove variables.
8753
87542010-01-11 Felix Zielcke <fzielcke@z-51.de>
8755
8756 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
8757
87582009-12-10 Robert Millan <rmh.grub@aybabtu.com>
8759
8760 * include/grub/mips/libgcc.h: Only export symbols for functions
8761 that libgcc provides.
8762
87632009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 MIPS support.
8766
8767 * bus/bonito.c: New file.
8768 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
8769 GRUB_PCI_NUM_DEVICES.
8770 * term/i386/pc/serial.c: Move to ...
8771 * term/serial.c: ... here. All users updated.
8772 * util/i386/pc/grub-mkimage.c: Move to ...
8773 * util/grub-mkrawimage.c: ... here. All users updated.
8774 * term/i386/pc/at_keyboard.c: Move to ...
8775 * term/at_keyboard.c: ... here. All users updated.
8776 * conf/mips-qemu-mips.rmk: New file.
8777 * conf/mips-yeeloong.rmk: Likewise.
8778 * conf/mips.rmk: Likewise.
8779 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
8780 mipsel-qemu-mips.
8781 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
8782 to port addresses.
8783 (grub_ata_pciinit): Support CS5536.
8784 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
8785 * font/font_cmd.c (loadfont_command): Open file before passing it to
8786 grub_font_load.
8787 (pseudo_file_read): New function.
8788 (pseudo_file_close): Likewise.
8789 (pseudo_fs): New structure.
8790 (load_font_module): New function.
8791 (GRUB_MOD_INIT(font_manager)): Load embedded font.
8792 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
8793 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
8794 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
8795 * include/grub/i386/at_keyboard.h: Split into ...
8796 * include/grub/at_keyboard.h: ... this ...
8797 * include/grub/i386/at_keyboard.h: ... and this.
8798 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
8799 New prototype.
8800 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
8801 updated.
8802 (grub_elf64_size): Likewise.
8803 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
8804 filename.
8805 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
8806 * include/grub/i386/coreboot/serial.h: Rewritten.
8807 * include/grub/i386/ieee1275/serial.h: Include
8808 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
8809 * include/grub/i386/pc/serial.h: Moved from here ...
8810 * include/grub/serial.h: ... to here. All users updated.
8811 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
8812 (GRUB_PCI_NUM_BUS): Likewise.
8813 (GRUB_PCI_NUM_DEVICES): Likewise.
8814 (grub_pci_device_map_range): Add missing volatile keyword.
8815 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
8816 * include/grub/mips/at_keyboard.h: New file.
8817 * include/grub/mips/cache.h: Likewise.
8818 * include/grub/mips/io.h: Likewise.
8819 * include/grub/mips/kernel.h: Likewise.
8820 * include/grub/mips/libgcc.h: Likewise.
8821 * include/grub/mips/pci.h: Likewise.
8822 * include/grub/mips/qemu-mips/boot.h: Likewise.
8823 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8824 * include/grub/mips/qemu-mips/loader.h: Likewise.
8825 * include/grub/mips/qemu-mips/memory.h: Likewise.
8826 * include/grub/mips/qemu-mips/serial.h: Likewise.
8827 * include/grub/mips/qemu-mips/time.h: Likewise.
8828 * include/grub/mips/relocator.h: Likewise.
8829 * include/grub/mips/time.h: Likewise.
8830 * include/grub/mips/types.h: Likewise.
8831 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
8832 * include/grub/mips/yeeloong/boot.h: Likewise.
8833 * include/grub/mips/yeeloong/kernel.h: Likewise.
8834 * include/grub/mips/yeeloong/loader.h: Likewise.
8835 * include/grub/mips/yeeloong/memory.h: Likewise.
8836 * include/grub/mips/yeeloong/pci.h: Likewise.
8837 * include/grub/mips/yeeloong/serial.h: Likewise.
8838 * include/grub/mips/yeeloong/time.h: Likewise.
8839 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
8840 * kern/elf.c (grub_elf32_size): New parameter. All users
8841 updated.
8842 (grub_elf64_size): Likewise.
8843 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
8844 Load modules before saying "Welcome to GRUB!".
8845 Call grub_refresh after saying "Welcome to GRUB!".
8846 * kern/mips/cache.S: New file.
8847 * kern/mips/cache_flush.S: Likewise.
8848 * kern/mips/dl.c: Likewise.
8849 * kern/mips/init.c: Likewise.
8850 * kern/mips/qemu-mips/init.c: Likewise.
8851 * kern/mips/startup.S: Likewise.
8852 * kern/mips/yeeloong/init.c: Likewise.
8853 * kern/term.c (grub_putcode): Handle NULL terminal.
8854 (grub_getcharwidth): Likewise.
8855 (grub_getkey): Likewise.
8856 (grub_checkkey): Likewise.
8857 (grub_getkeystatus): Likewise.
8858 (grub_getxy): Likewise.
8859 (grub_getwh): Likewise.
8860 (grub_gotoxy): Likewise.
8861 (grub_cls): Likewise.
8862 (grub_setcolorstate): Likewise.
8863 (grub_setcolor): Likewise.
8864 (grub_getcolor): Likewise.
8865 (grub_refresh): Likewise.
8866 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
8867 (write_jump): Add hatch nop.
8868 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
8869 * lib/mips/setjmp.S: New file.
8870 * loader/mips/linux.c: Likewise.
8871 * term/i386/pc/at_keyboard.c: Move from here ...
8872 * term/at_keyboard.c: ... to here.
8873 * term/i386/pc/serial.c: Moved from here ...
8874 * term/serial.c: ... to here. All users updated.
8875 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
8876 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
8877 (serial_translate_key_sequence): Avoid deadlock.
8878 (grub_serial_getkey): Handle backspace.
8879 (grub_serial_putchar): Fix newline handling.
8880 * util/i386/pc/grub-mkimage.c: Move from here ...
8881 * util/grub-mkrawimage.c: ... to here. All users updated.
8882 (generate_image): New parameters 'font_path' and 'format'.
8883 Support embedding font.
8884 Use grub_host_to_target* instead of grub_cpu_to_le*.
8885 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
8886 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
8887 (options): New option "--font".
8888 (usage): Likewise.
8889 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
8890 (main): Handle "--font".
8891 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
8892 (grub_virtual_screen_setup): Set bg_color_display.
8893 (redraw_screen_rect): Use bg_color_display instead of incorrect
8894 bg_color.
8895 (grub_gfxterm_cls): Likewise.
8896 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
8897 Support embedding config file.
8898 (add_segments): Likewise.
8899 (options): New option "--config".
8900 (main): Handle "--config".
8901 * video/sm712.c: New file.
8902
25c2b5b3
RM
89032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8904
8905 Fix parallel builds.
8906
8907 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
8908 font.c depend on ascii.h).
8909
89102010-01-12 Carles Pina i Estany <carles@pina.cat>
8911
8912 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
8913
89142010-01-11 Carles Pina i Estany <carles@pina.cat>
8915
8916 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
8917 By default: disabled.
8918 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
8919 parameter.
8920
89212010-01-10 Carles Pina i Estany <carles@pina.cat>
8922
8923 * font/font.c: Update copyright years.
8924 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
8925
89262010-01-10 Carles Pina i Estany <carles@pina.cat>
8927
8928 * font/font.c: Include `ascii.h'.
8929 (ASCII_BITMAP_SIZE): New macro.
8930 (ascii_font_glyph): Define.
8931 (ascii_glyph_lookup): New function.
8932 (grub_font_get_string_width): Change comment. If glyph not found, use
8933 ascii_glyph_lookup.
8934 (grub_font_get_glyph_with_fallback): If glyph not available returns
8935 ascii_glyph_lookup.
8936 * util/grub-mkfont.c (file_formats): New enum.
8937 (options): Add `ascii-bitmaps' new option.
8938 (usage): Add `asii-bitmaps' new option.
8939 (write_font_ascii_bitmap): New function.
8940 (write_font): Rename to ...
8941 (write_font_p2): ... this. Remove print_glyphs call.
8942 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
8943 used. Call print_glyphs.
8944 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
8945
89462010-01-14 Robert Millan <rmh.grub@aybabtu.com>
8947
8948 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
8949 (grub_bin2h_SOURCES): New variable.
8950 * util/bin2h.c: New file.
8951
915fc1b8
VS
89522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * include/multiboot.h: Resynced with spec.
8955 * include/multiboot2.h: Likewise.
8956 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
8957 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
8958
9444b678
RM
89592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8960
8961 * include/grub/term.h (grub_term_register_input,
8962 grub_term_register_output): Check return of terminal init()
8963 routines, and abort if errors are raised.
8964
8965 * commands/terminal.c: Update copyright year.
8966
cba98e8d
RM
89672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8968
8969 * commands/terminal.c (grub_cmd_terminal_input)
8970 (grub_cmd_terminal_output): Check return of terminal init()
8971 routines, and abort if errors are raised.
8972
6f7db5d6
VS
89732010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * include/grub/i386/bsd.h: Fix include pathes.
8976
262bff8d
VS
89772010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 Add missing *BSD copyright headers.
8980
8981 * include/grub/aout.h: Add BSD licence.
8982 * include/grub/i386/bsd.h: Parts under different licences moved to ...
8983 * include/grub/i386/freebsd_linker.h: ... here,
8984 * include/grub/i386/freebsd_reboot.h: ... here,
8985 * include/grub/i386/netbsd_bootinfo.h: ... here,
8986 * include/grub/i386/netbsd_reboot.h: ... here,
8987 * include/grub/i386/openbsd_bootarg.h: ... here,
8988 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
8989 licence to each file.
8990
b2cab848
RM
89912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8992
8993 * acinclude.m4: Remove `nop' assembly instruction; it's not
8994 implemented by all architectures.
8995
2cb6be4b
RM
89962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8997
8998 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
8999 ELILO. This is no longer necessary.
9000
a2eaee15
BC
90012010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
9002
9003 Added new tool, grub-scrit-check to verify grub.cfg syntax.
9004
9005 * util/grub-script-check.c: grub-script-check tool.
9006 * conf/common.rmk: Make rules for grub-script-check.
9007
88d17012
RM
90082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9009
9010 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
9011 spotting it back in 2008. Shame on me for forgetting he did.
9012
9013 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
9014
8040619d
RM
90152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9016
9017 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
9018 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
9019 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
9020 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
9021 (GRUB_VIDEO_TYPE_EFI): Rename to ...
9022 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
9023
a0c2a0f6
RM
90242010-01-17 Robert Millan <rmh.grub@aybabtu.com>
9025
9026 * include/grub/test.h: Add license header.
9027 * tests/example_functional_test.c: Likewise.
9028 * tests/example_unit_test.c: Likewise.
9029 * tests/lib/functional_test.c: Likewise.
9030 * tests/lib/test.c: Likewise.
9031 * tests/lib/unit_test.c: Likewise.
9032
b0b13907
VS
90332010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 Use flag-based instead of hook-based video mode selection and "auto"
9036 keyword.
9037
9038 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
9039 (grub_video_set_mode): Changed prototype. All users updated.
9040 (grub_video_check_mode_flag): New inline function.
9041 * video/video.c (parse_modespec): New function.
9042 (grub_video_set_mode): Parse flags and keywords.
9043
ea379330 90442010-01-17 Carles Pina i Estany <carles@pina.cat>
9045
9046 * util/misc.c (grub_util_info): Fix the order of the parameters in a
9047 fprintf call.
9048
e15c215e
FZ
90492010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
9050
9051 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
9052
409ae1c9 90532010-01-16 Carles Pina i Estany <carles@pina.cat>
9054
9055 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
9056 string.
9057 * util/grub-emu.c (usage): Likewise.
9058 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
9059 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9060 * util/i386/pc/grub-mkimage.c (usage): Likewise.
9061 * util/i386/pc/grub-setup.c (usage): Likewise.
9062
70a14d3d 90632010-01-16 Carles Pina i Estany <carles@pina.cat>
9064
9065 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
9066 the message.
9067 (grub_util_info): Likewise.
9068 (grub_util_error): Likewise.
9069 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
9070 and/or new lines in `grub_util_warna', `grub_util_info',
9071 `grub_util_error' calls.
9072 * util/getroot.c: Likewise.
9073 * util/grub-editenv.c: Likewise.
9074 * util/grub-emu.c: Likewise.
9075 * util/grub-fstest.c: Likewise.
9076 * util/grub-mkdevicemap.c: Likewise.
9077 * util/grub-mkfont.c: Likewise.
9078 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9079 * util/grub-mkrelpath.c: Likewise.
9080 * util/grub-pe2elf.c: Likewise.
9081 * util/grub-probe.c: Likewise.
9082 * util/hostdisk.c: Likewise.
9083 * util/i386/efi/grub-mkimage.c: Likewise.
9084 * util/i386/pc/grub-mkimage.c: Likewise.
9085 * util/i386/pc/grub-setup.c: Likewise.
9086 * util/ieee1275/ofpath.c: Likewise.
9087 * util/mkisofs/eltorito.c: Likewise.
9088 * util/mkisofs/rock.c: Likewise.
9089 * util/mkisofs/write.c: Likewise.
9090 * util/raid.c: Likewise.
9091 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9092 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9093
a0b766fc
VS
90942010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 Enable multiboot on non-pc.
9097
9098 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
9099 multiboot.mod and multiboot2.mod to ...
9100 * conf/i386.rmk (pkglib_MODULES): ... here.
9101 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
9102 Moved to ...
9103 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
9104 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
9105 Moved to ...
9106 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
9107 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
9108 Moved to ...
9109 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
9110 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
9111 Moved to ...
9112 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
9113 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
9114 relocator.mod.
9115 (ata_mod_SOURCES): Removed.
9116 (ata_mod_CFLAGS): Likewise.
9117 (ata_mod_LDFLAGS): Likewise.
9118 (relocator_mod_SOURCES): Removed.
9119 (relocator_mod_CFLAGS): Likewise.
9120 (relocator_mod_ASFLAGS): Likewise.
9121 (relocator_mod_LDFLAGS): Likewise.
9122 Include i386.mk.
9123 * include/grub/x86_64/multiboot.h: New file.
9124 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
9125 Terminate EFI.
9126
884ade56
VS
91272010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 Video multiboot support.
9130
9131 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
9132 New prototype.
9133 * include/multiboot.h: Resynced with multiboot specification.
9134 * include/multiboot2.h: Likewise.
9135 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
9136 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
9137 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
9138 (HAS_VGA_TEXT): Likewise.
9139 (accepts_video): New variable.
9140 (grub_multiboot_set_accepts_video): New function.
9141 (grub_multiboot_get_mbi_size): Account for video structures.
9142 (set_video_mode): New function.
9143 (retrieve_video_parameters): Likewise.
9144 (grub_multiboot_make_mbi): Fill video fields.
9145
0d90e8a6
VS
91462010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 Video driver ids.
9149
9150 * include/grub/video.h (grub_video_driver_id): New type.
9151 (grub_video_adapter): New member 'id'. All users updated.
9152 (grub_video_get_driver_id): New proto.
9153 * video/video.c (grub_video_get_driver_id): New function.
9154
5c71db1b 91552010-01-14 Carles Pina i Estany <carles@pina.cat>
9156
9157 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
9158 `var=val'.
9159
cca15b52 91602010-01-14 Carles Pina i Estany <carles@pina.cat>
9161
9162 * normal/cmdline.c (print_completion): Gettextizze.
9163
c586fbb2 91642001-01-14 Carles Pina i Estany <carles@pina.cat>
9165
9166 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
9167
ba2f6848 91682010-01-14 Carles Pina i Estany <carles@pina.cat>
9169
9170 * gettext/gettext.c (grub_gettext_translate): Push and pop
9171 grub_errno.
9172 (grub_gettext_delete_list): Change comment style.
9173 * kern/err.c (grub_error): Gettextizze.
9174 (grub_fatal): Gettextizze.
9175
0a46429a
RM
91762010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9177
9178 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
9179 (grub_linux16_real_boot): ... this.
9180 * kern/i386/loader.S: Likewise.
9181 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
9182 (grub_linux16_boot): New function. Switches to text mode and calls
9183 grub_linux16_real_boot().
9184
9185 * loader/i386/bsd.c: Include `<grub/video.h>'.
9186 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
9187 text mode before calling grub_unix_real_boot().
9188
9189 * loader/i386/multiboot.c: Include `<grub/video.h>'.
9190 (grub_multiboot_boot): Switch to text mode before calling
9191 grub_relocator32_boot().
9192
9193 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
9194 (grub_chainloader_boot): Switch to text mode before calling
9195 grub_chainloader_real_boot().
9196
d6f93a66
RM
91972010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
91982010-01-05 Colin Watson <cjwatson@ubuntu.com>
9199
9200 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
9201 non-empty value.
9202
92032010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
92042010-01-05 Colin Watson <cjwatson@ubuntu.com>
9205
9206 * util/grub.d/00_header.in: Define a "savedefault" function for use
9207 in menu entries.
9208 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
9209
92102010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
92112010-01-05 Colin Watson <cjwatson@ubuntu.com>
9212
9213 * util/grub-mkconfig_lib.in (save_default_entry): Only set
9214 saved_entry if boot_once is unset.
9215 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
9216 previous saved entry (i.e. grub-reboot).
9217
92182009-12-08 Colin Watson <cjwatson@ubuntu.com>
9219
9220 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
9221
92222009-12-08 Colin Watson <cjwatson@ubuntu.com>
9223
9224 * util/grub.d/00_header.in: Use `set var=val' rather than plain
9225 `var=val'.
9226 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
9227
92282009-12-08 Colin Watson <cjwatson@ubuntu.com>
9229
9230 * util/grub-reboot.in: Fix --version output.
9231 * util/grub-set-default.in: Likewise.
9232
92332009-12-08 Colin Watson <cjwatson@ubuntu.com>
9234
9235 * util/grub.d/00_header.in: Silently ignore zero-sized environment
9236 blocks.
9237
92382009-12-08 Colin Watson <cjwatson@ubuntu.com>
9239
9240 * util/grub.d/00_header.in: Quote the value assigned to `default',
9241 in case it contains spaces.
9242
92432009-12-08 Colin Watson <cjwatson@ubuntu.com>
9244
9245 * util/grub.d/30_os-prober.in: Fix merge error that moved a
9246 `save_default_entry' call from the macosx case to the linux case.
9247
92482009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
92492009-10-25 Colin Watson <cjwatson@ubuntu.com>
9250
9251 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
9252 in `chosen' environment variable.
9253 * normal/menu_text.c (get_entry_number): Check if the variable
9254 matches the title of a menu entry.
9255 (run_menu): Pass menu to get_entry_number.
9256
9257 * util/grub-reboot.in: New file.
9258 * util/grub-set-default.in: New file.
9259 * conf/common.rmk (grub-reboot): New utility.
9260 (grub-set-default): New utility.
9261
9262 * util/grub-mkconfig_lib.in (save_default_entry): New function.
9263 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
9264 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
9265 move it to `saved_entry' for the next boot. Load environment on
9266 initialisation.
9267 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
9268 * util/grub.d/10_hurd.in: Likewise.
9269 * util/grub.d/10_linux.in (linux_entry): Likewise.
9270 * util/grub.d/10_windows.in: Likewise.
9271 * util/grub.d/30_os-prober.in: Likewise.
9272
9273 * util/grub-install.in: Create environment block.
9274 * util/i386/efi/grub-install.in: Likewise.
9275 * util/ieee1275/grub-install.in: Likewise.
9276 * util/sparc64/ieee1275/grub-install.in: Likewise.
9277
0934d184
BC
92782010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
9279
9280 Unit testing framework for GRUB.
9281
9282 * Makefile.in: Test framework build rules for 'make check'.
9283 * conf/tests.rmk: Build rules for individual tests and framework.
9284
9285 * include/grub/test.h: Header file for whitebox tests.
9286 * tests/lib/functional_test.c: Framework support for whitebox
9287 functional tests.
9288 * tests/lib/test.c: Common whitebox testing code for unit and
9289 functional tests.
9290 * tests/lib/unit_test.c: Framework support for whitebox unit
9291 tests.
9292
9293 * tests/util/grub-shell-tester.in: Support utility for grub-script
9294 tests.
9295 * tests/util/grub-shell.in: Utility to execute grub-script
9296 commands in a Qemu instance.
9297
9298 * tests/example_functional_test.c: Example whitebox functional
9299 test.
9300 * tests/example_grub_script_test.in: Example grub-script test.
9301 * tests/example_scripted_test.in: Example scripted test.
9302 * tests/example_unit_test.c: Example whitebox unit test.
9303
9c4ffeeb
VS
93042010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
9307 Add loader/i386/multiboot_mbi.c.
9308 (multiboot2_mod_SOURCES): Likewise.
9309 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
9310 (multiboot2_mod_SOURCES): Likewise.
9311 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
9312 (grub_multiboot_make_mbi): Likewise.
9313 (grub_multiboot_free_mbi): Likewise.
9314 (grub_multiboot_init_mbi): Likewise.
9315 (grub_multiboot_add_module): Likewise.
9316 (grub_multiboot_set_bootdev): Likewise.
9317 * loader/i386/multiboot.c (mbi): Removed.
9318 (mbi_dest): Likewise.
9319 (alloc_mbi): New variable.
9320 (grub_multiboot_payload_size): Removed. All users updated.
9321 (grub_multiboot_pure_size): New variable.
9322 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
9323 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
9324 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
9325 (grub_fill_multiboot_mmap): Likewise.
9326 (grub_multiboot_get_bootdev): Likewise.
9327 (grub_multiboot): Use multiboot_mbi functions.
9328 * loader/i386/multiboot_mbi.c: New file.
9329
17383dfe
VS
93302010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
9333 it would result in module crash.
9334
c1f28820
VS
93352010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
9338 (grub_ofconsole_getwh): Split to ...
9339 (grub_ofconsole_getwh): ... this.
9340 (grub_ofconsole_dimensions): ...and this.
9341 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
9342
58655a16
RM
93432010-01-13 Robert Millan <rmh.grub@aybabtu.com>
9344
9345 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
9346
10891398
VS
93472010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * loader/i386/pc/multiboot2.c: Removed stalled file.
9350
0b8a223c
VS
93512010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
9354 Reported by: Grégoire Sutre
9355
92ab12b0
RM
93562010-01-11 Robert Millan <rmh.grub@aybabtu.com>
9357
9358 * util/misc.c (canonicalize_file_name): New function.
9359 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
9360 instead of realpath().
9361
a788afb6
CW
93622010-01-11 Colin Watson <cjwatson@ubuntu.com>
9363
9364 * util/grub-install.in (usage): Clarify meaning of --root-directory,
9365 and make it clearer that it's optional. Based on confusion
9366 witnessed on IRC.
9367
ffa8e3d2
VS
93682010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
9371 in premature implicit newline.
9372
e9060a9d
VS
93732010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
9376 which resulted in garbled command line at the end of screen.
9377
f0d0c0b7
RM
93782010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9379
9380 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
9381 initialization with similar approach as with other Linux loaders.
9382
0e60bae7
RM
93832010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9384
9385 Fix i386-ieee1275 build.
9386
9387 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
9388 and grub_term_height() for video_{width,height} initialization.
9389
93902010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
9391
9392 Fix grub-emu build.
9393
9394 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
9395
cdb3f378
RM
93962010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
93972010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9398
9399 Support for multiple terminals.
9400
9401 * Makefile.in (pkglib_DATA): terminal.lst.
9402 (terminal.lst): New target.
9403 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
9404 (GRUB_MOD_INIT(handler)): Likewise.
9405 (GRUB_MOD_FINI(handler)): Likewise.
9406 * commands/help.c (grub_cmd_help): Handle multiple terminals.
9407 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
9408 * commands/sleep.c (do_print): Use grub_term_restore_pos.
9409 (grub_cmd_sleep): Use grub_term_save_pos.
9410 * commands/terminal.c: New file.
9411 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
9412 commands/terminal.c and lib/charset.c.
9413 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
9414 (pkglib_MODULES): Add terminal.mod.
9415 (terminal_mod_SOURCES): New variable.
9416 (terminal_mod_CFLAGS): Likewise.
9417 (terminal_mod_LDFLAGS): Likewise.
9418 * genhandlerlist.sh: Don't handle terminals.
9419 * genmk.rb: Generate terminal-*.lst.
9420 * genterminallist.sh: New file.
9421 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
9422 (grub_is_valid_utf8): Likewise.
9423 (grub_utf8_to_ucs4_alloc): Likewise.
9424 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
9425 (grub_menu_register_viewer): Changed argument.
9426 (grub_menu_try_text): New proto.
9427 (grub_gfxmenu_try_hook): New declaration.
9428 * include/grub/normal.h (grub_normal_exit_level): New declaration.
9429 (grub_menu_init_page): Additional argument term.
9430 (grub_normal_init_page): Likewise.
9431 (grub_cmdline_get): Arguments simplified.
9432 (grub_utf8_to_ucs4_alloc): Removed.
9433 (grub_print_ucs4): Additional argument term.
9434 (grub_getstringwidth): Likewise.
9435 (grub_print_message_indented): Likewise.
9436 (grub_menu_text_register_instances): New proto.
9437 (grub_show_menu): Likewise.
9438 (read_terminal_list): Likewise.
9439 (grub_set_more): Likewise.
9440 * include/grub/parser.h: Include handler.h.
9441 * include/grub/reader.h: Rewritten.
9442 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
9443 (GRUB_TERM_WIDTH): Changed to function.
9444 (GRUB_TERM_HEIGHT): Likewise.
9445 (GRUB_TERM_BORDER_WIDTH): Likewise.
9446 (GRUB_TERM_BORDER_HEIGHT): Likewise.
9447 (GRUB_TERM_NUM_ENTRIES): Likewise.
9448 (GRUB_TERM_ENTRY_WIDTH): Likewise.
9449 (GRUB_TERM_CURSOR_X): Likewise.
9450 (grub_term_input_class): Likewise.
9451 (grub_term_output_class): Likewise.
9452 (grub_term_outputs_disabled): New declaration.
9453 (grub_term_inputs_disabled): Likewise.
9454 (grub_term_outputs): Likewise.
9455 (grub_term_inputs): Likewise.
9456 (grub_term_register_input): Rewritten.
9457 (grub_term_register_output): Likewise.
9458 (grub_term_unregister_input): Likewise.
9459 (grub_term_unregister_output): Likewise.
9460 (FOR_ACTIVE_TERM_INPUTS): New macro.
9461 (FOR_DISABLED_TERM_INPUTS): Likewise.
9462 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9463 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9464 * include/grub/terminfo.h: Add oterm argument to all protypes.
9465 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
9466 Use grub_rescue_run.
9467 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
9468 All users updated.
9469 * kern/reader.c: Removed. All users updated.
9470 * kern/rescue_reader.c (grub_rescue_init): Removed.
9471 (grub_rescue_reader): Likewise.
9472 (grub_register_rescue_reader): Likewise.
9473 (grub_rescue_run): New function based on kern/reader.c.
9474 * kern/term.c: Adapted for multiterm.
9475 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
9476 (grub_is_valid_utf8): Likewise.
9477 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
9478 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
9479 right terminal.
9480 * loader/i386/linux.c (grub_linux_boot): Likewise.
9481 * normal/auth.c (grub_username_get): New function.
9482 (grub_auth_check_authentication): Use grub_username_get.
9483 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
9484 * normal/color.c: Adapt for multiterm.
9485 * normal/main.c (read_config_file): Don't use grub_reader_loop.
9486 (grub_normal_init_page): Additional argument term.
9487 (read_lists): Call read_terminal_lists.
9488 (grub_enter_normal_mode): Call grub_cmdline_run.
9489 Handle grub_normal_exit_level.
9490 (grub_cmd_normal): Make reentrant.
9491 (grub_cmd_normal_exit): New function.
9492 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
9493 * normal/menu.c: Adapt for multiterm.
9494 * normal/menu_entry.c: Likewise.
9495 * normal/menu_text.c: Likewise.
9496 * normal/menu_viewer.c: Removed. All users updated.
9497 * normal/term.c: New file.
9498 * util/console.c: Change order of includes to workaround a bug in
9499 ncurses headers.
9500 * term/terminfo.c: New argument oterm on all exported functions.
9501 All users updated.
9502 * util/grub-editenv.c (grub_term_input_class): Removed.
9503 (grub_term_output_class): Likewise.
9504
1a064917
RM
95052010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9506
9507 Make loader output a bit more user-friendly.
9508
9509 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
9510 is being loaded. Likewise for the Hurd.
9511
9512 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
9513 that kernel of FreeBSD ${version} is being loaded.
9514
9515 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
9516 grub_dprintf().
9517 (grub_cmd_initrd): Likewise.
9518 * util/grub.d/10_linux.in (linux_entry): Print message indicating
9519 that Linux ${version} is being loaded. Likewise for initrd.
9520
5ce0a83a 95212010-01-09 Carles Pina i Estany <carles@pina.cat>
9522
9523 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
9524
809bbfeb 95252010-01-08 Carles Pina i Estany <carles@pina.cat>
9526
9527 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
9528 (GRUB_MOD_INIT): Gettextizze.
9529 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
9530 (GRUB_MOD_INIT): Gettextizze.
9531 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
9532 (grub_cmd_linux): Capitalise Linux.
9533 (GRUB_MOD_INIT): Gettextizze.
9534 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
9535 (grub_cmd_linux): Capitalise Linux.
9536 (GRUB_MOD_INIT): Gettextizze.
9537 * loader/i386/linux.c: Include `<grub/i18n.h>'.
9538 (grub_cmd_linux): Capitalise Linux.
9539 (GRUB_MOD_INIT): Gettextizze.
9540 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
9541 (GRUB_MOD_INIT): Gettextizze.
9542 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
9543 (grub_cmd_linux): Capitalise Linux.
9544 (GRUB_MOD_INIT): Gettextizze.
9545 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
9546 (grub_cpu_xnu_init): Gettextizze.
9547 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
9548 (GRUB_MOD_INIT): Gettextizze.
9549 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
9550 (GRUB_MOD_INIT): Gettextizze.
9551 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
9552 (grub_linux_load64): Capitalise Linux.
9553 (GRUB_MOD_INIT): Gettextizze.
9554 * loader/xnu.c: Include `<grub/i18n.h>'.
9555 (GRUB_MOD_INIT): Gettextizze.
9556 * po/POTFILES: Add `loader/efi/appleloader.c',
9557 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
9558 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
9559 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
9560 `loader/i386/xnu.c', `loader/multiboot_loader.c',
9561 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
9562 and `loader/xnu.c'.
9563
b394b2ca
RM
95642010-01-08 Robert Millan <rmh.grub@aybabtu.com>
9565
9566 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
9567
95682010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
9569
9570 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
9571 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
9572 * util/mkisofs/mkisofs.c (main): Readjust --version output.
9573
bc8b32b3
RM
95742010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9575
9576 Reset Multiboot 2 support. New loader implements the draft in
9577 /branches/multiboot2 and shares as much code as possible with the
9578 production Multiboot 1 implementation.
9579
9580 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
9581 * loader/multiboot2.c: Likewise.
9582 * loader/i386/multiboot_helper.S: Likewise.
9583 * include/multiboot2.h: Replace with latest version from the draft
9584 in /branches/multiboot2.
9585
9586 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
9587 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
9588 and `loader/multiboot2.c'.
9589 (pkglib_MODULES): Add `multiboot2.mod'.
9590 (multiboot2_mod_SOURCES): New variable.
9591 (multiboot2_mod_LDFLAGS): Likewise.
9592 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
9593
9594 * conf/i386-pc.rmk: Likewise.
9595
9596 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
9597 (multiboot_mod_SOURCES): Remove variable.
9598 (multiboot_mod_LDFLAGS): Likewise.
9599 (multiboot_mod_CFLAGS): Likewise.
9600
9601 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
9602 `<multiboot2.h>' instead of `<multiboot.h>'.
9603 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
9604 (MULTIBOOT_HEADER_MAGIC): New macros.
9605
9606 * loader/multiboot_loader.c (module_version_status): Remove variable.
9607 (find_multi_boot2_header): Remove function.
9608 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
9609 logic. Always check for the Multiboot version we're compiling for.
9610 (grub_cmd_module_loader): Likewise.
9611 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
9612 command instead of `multiboot'.
9613
5d2c52b8
RM
96142010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9615
9616 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
9617 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
9618 all users.
9619
53108d92
RM
96202010-01-07 Robert Millan <rmh.grub@aybabtu.com>
96212010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 Fix breakage introduced with previous commit.
9624
9625 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
9626 commands.
9627 * normal/handler.c (read_handler_list): Revert part of previous commit
9628 affecting this file.
9629 * normal/main.c (read_lists): Move read_handler_list() call back to ...
9630 (grub_normal_execute): ... here.
9631
e2e936b2
RM
96322010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9633
9634 Merge prefix-redefinition-fix branch.
9635
9636 * normal/autofs.c (read_fs_list): Make function capable of being
9637 run multiple times, gracefuly replacing the previous data
9638 structures.
9639 * normal/dyncmd.c (read_command_list): Likewise.
9640 * normal/handler.c (read_handler_list): Likewise.
9641 * normal/main.c (read_lists): New function. Calls all the
9642 list reading functions.
9643 (grub_normal_execute): Use read_lists() instead of calling all
9644 list reading functions explicitly. Register read_lists() as a
9645 variable hook attached to ${prefix}.
9646
607a3701
VS
96472010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 Merge crypto branch.
9650
9651 * Makefile.in (pkglib_DATA): Add crypto.lst.
9652 (crypto.lst): New target.
9653 * commands/hashsum.c: New file.
9654 * commands/password.c (check_password): Use grub_crypto_memcmp.
9655 * commands/password_pbkdf2.c: New file.
9656 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
9657 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
9658 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
9659 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
9660 -I$(srcdir)/lib/libgcrypt_wrap.
9661 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
9662 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
9663 password_pbkdf2.mod.
9664 (crypto_mod_SOURCES): New variable.
9665 (crypto_mod_CFLAGS): Likewise.
9666 (crypto_mod_LDFLAGS): Likewise.
9667 (hashsum_mod_SOURCES): New variable.
9668 (hashsum_mod_CFLAGS): Likewise.
9669 (hashsum_mod_LDFLAGS): Likewise.
9670 (pbkdf2_mod_SOURCES): New variable.
9671 (pbkdf2_mod_CFLAGS): Likewise.
9672 (pbkdf2_mod_LDFLAGS): Likewise.
9673 (password_pbkdf2_mod_SOURCES): New variable.
9674 (password_pbkdf2_mod_CFLAGS): Likewise.
9675 (password_pbkdf2_mod_LDFLAGS): Likewise.
9676 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
9677 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
9678 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
9679 Include conf/gcry.rmk.
9680 * include/grub/auth.h: Rewritten.
9681 * include/grub/crypto.h: New file.
9682 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
9683 * include/grub/normal.h (read_crypto_list): New prototype.
9684 * lib/crypto.c: New file.
9685 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9686 * lib/pbkdf2.c: Likewise.
9687 * normal/auth.c (grub_auth_strcmp): Removed.
9688 (grub_iswordseparator): Likewise.
9689 (grub_auth_strword): Likewise.
9690 (is_authenticated): Use grub_strword.
9691 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
9692 and grub_strword. Pass entered password to authentication callback.
9693 * normal/crypto.c: New file.
9694 * normal/main.c: Call read_crypto_list.
9695 * util/grub-mkpasswd-pbkdf2.c: New file.
9696 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
9697
42841caa
VS
96982010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 Fix descent and ascent calculation.
9701
9702 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
9703 (options): New option "asce".
9704 (usage): Likewise.
9705 (add_char): Ignore invalid glyphs for descent calculation.
9706 Calculate ascent from actual content.
9707 (print_glyphs): Use 'asce'.
9708 (write_font): Likewise. Allow ascent override.
9709 (main): Handle "asce" option.
9710
e7730de7 97112010-01-06 Carles Pina i Estany <carles@pina.cat>
9712
9713 * kern/err.c: Include `<grub/i18n.h>'.
9714 (grub_print_error): Add full stop. Gettextizze.
9715 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
9716 (grub_bsd_load_elf): Capitalise ELF.
9717 (grub_cmd_freebsd_loadenv): Add `s' in error string.
9718 (grub_cmd_freebsd_module): Likewise.
9719 (grub_cmd_freebsd_module_elf): Likewise.
9720 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
9721
40e3a41f 97222010-01-06 Carles Pina i Estany <carles@pina.cat>
9723
9724 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
9725 * commands/search_file.c (HELP_MESSAGE): New macro.
9726 * commands/search_label.c (HELP_MESSAGE): Likewise.
9727 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
9728 * po/POTFILES: Add `commands/search_file.c',
9729 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
9730 `commands/search.c'.
9731
83507e68
RM
97322010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9733
9734 * config.rpath: Update from Gnulib.
9735
465c787b
YB
97362010-01-05 Yves Blusseau <blusseau@zetam.org>
9737
9738 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
9739
6581dd3a
YB
97402010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
9741
9742 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
9743
3bff18c5
CW
97442010-01-05 Colin Watson <cjwatson@ubuntu.com>
9745
9746 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
9747 arguments to fread so that we get a return value in bytes, rather
9748 than something that will normally be rounded down to 0.
9749 Adjust error handling to avoid producing garbage when size_t is not
9750 the same size as long long.
9751
a1368118
CW
97522010-01-05 Colin Watson <cjwatson@ubuntu.com>
9753
9754 * util/mkisofs/write.c (padblock_write): Check return value of
9755 fread.
9756
7c302978
RM
97572010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9758
9759 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
9760 floppy images now.
9761
9762 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
9763
e33ace06
RM
97642010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9765
9766 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
9767 instead of manual alignment.
9768 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
9769 verbose). Avoid attempts to read past end of the device
9770 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
9771 but GRUB_DISK_CACHE_SIZE may exceed that).
9772
4b856776
RM
97732010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9774
9775 * commands/crc.c (grub_cmd_crc): Abort on read errors.
9776 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
9777 it to upper layer.
9778
52c2d97f
VS
97792010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
9782 New constant.
9783 (grub_efi_piwg_device_path): New structure
9784 (grub_efi_piwg_device_path_t): New type.
9785 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
9786 (devpath_1): Transform to a structure. All users updated.
9787 (devpath_2): Likewise.
9788 (devpath_3): Likewise.
9789 (devpath_4): Likewise.
9790 (devpath_5): Likewise.
9791
98ff6a54
VS
97922010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * loader/efi/appleloader.c: Restored. Update all users.
9795
3a73dcb6
RM
97962010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9797
9798 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
9799
9800 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
9801 (struct boot_blocklist): Move from here ...
9802 * include/grub/i386/pc/boot.h [ASM_FILE]
9803 (struct grub_boot_blocklist): ... to here. Update all users.
9804 (setup): Only initialize `start' member of `first_block'
9805 structure. Add assert() calls to verify the other members.
9806
9807 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
9808 (generate_image): Fix broken blocklist length initialization.
9809 Add assert() call to verify blocklist `segment' field.
9810
ab0eeb0c
RM
98112010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9812
9813 * loader/efi/appleloader.c: Remove. Update all users.
9814
58bc8bd5
RM
98152010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9816
9817 * boot/i386/pc/boot.S: Update copyright year.
9818 * boot/i386/pc/cdboot.S: Likewise.
9819 * boot/i386/pc/diskboot.S: Likewise.
9820 * boot/i386/pc/lnxboot.S: Likewise.
9821 * boot/i386/pc/pxeboot.S: Likewise.
9822 * bus/pci.c: Likewise.
9823 * commands/cmp.c: Likewise.
9824 * commands/help.c: Likewise.
9825 * commands/hexdump.c: Likewise.
9826 * commands/i386/pc/halt.c: Likewise.
9827 * commands/i386/pc/play.c: Likewise.
9828 * commands/i386/pc/vbeinfo.c: Likewise.
9829 * commands/ls.c: Likewise.
9830 * commands/test.c: Likewise.
9831 * disk/dmraid_nvidia.c: Likewise.
9832 * disk/i386/pc/biosdisk.c: Likewise.
9833 * disk/ieee1275/nand.c: Likewise.
9834 * disk/ieee1275/ofdisk.c: Likewise.
9835 * disk/lvm.c: Likewise.
9836 * disk/raid.c: Likewise.
9837 * disk/raid6_recover.c: Likewise.
9838 * disk/scsi.c: Likewise.
9839 * fs/affs.c: Likewise.
9840 * fs/cpio.c: Likewise.
9841 * fs/ext2.c: Likewise.
9842 * fs/hfs.c: Likewise.
9843 * fs/iso9660.c: Likewise.
9844 * fs/ntfs.c: Likewise.
9845 * fs/sfs.c: Likewise.
9846 * fs/udf.c: Likewise.
9847 * fs/ufs.c: Likewise.
9848 * fs/xfs.c: Likewise.
9849 * gencmdlist.sh: Likewise.
9850 * genmk.rb: Likewise.
9851 * include/grub/disk.h: Likewise.
9852 * include/grub/efi/api.h: Likewise.
9853 * include/grub/efi/efi.h: Likewise.
9854 * include/grub/efi/pe32.h: Likewise.
9855 * include/grub/elf.h: Likewise.
9856 * include/grub/fs.h: Likewise.
9857 * include/grub/i386/at_keyboard.h: Likewise.
9858 * include/grub/i386/pc/memory.h: Likewise.
9859 * include/grub/i386/pc/vbe.h: Likewise.
9860 * include/grub/i386/pci.h: Likewise.
9861 * include/grub/i386/tsc.h: Likewise.
9862 * include/grub/ieee1275/ieee1275.h: Likewise.
9863 * include/grub/ntfs.h: Likewise.
9864 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
9865 * include/grub/sparc64/libgcc.h: Likewise.
9866 * include/grub/symbol.h: Likewise.
9867 * include/grub/types.h: Likewise.
9868 * include/multiboot2.h: Likewise.
9869 * io/gzio.c: Likewise.
9870 * kern/device.c: Likewise.
9871 * kern/disk.c: Likewise.
9872 * kern/efi/efi.c: Likewise.
9873 * kern/efi/mm.c: Likewise.
9874 * kern/elf.c: Likewise.
9875 * kern/file.c: Likewise.
9876 * kern/i386/dl.c: Likewise.
9877 * kern/i386/pc/init.c: Likewise.
9878 * kern/i386/pc/startup.S: Likewise.
9879 * kern/ieee1275/ieee1275.c: Likewise.
9880 * kern/ieee1275/init.c: Likewise.
9881 * kern/main.c: Likewise.
9882 * kern/mm.c: Likewise.
9883 * kern/powerpc/dl.c: Likewise.
9884 * kern/sparc64/dl.c: Likewise.
9885 * kern/x86_64/dl.c: Likewise.
9886 * lib/hexdump.c: Likewise.
9887 * loader/efi/appleloader.c: Likewise.
9888 * loader/i386/ieee1275/linux.c: Likewise.
9889 * loader/i386/pc/chainloader.c: Likewise.
9890 * loader/i386/pc/linux.c: Likewise.
9891 * loader/i386/pc/multiboot2.c: Likewise.
9892 * loader/ieee1275/multiboot2.c: Likewise.
9893 * loader/multiboot2.c: Likewise.
9894 * loader/multiboot_loader.c: Likewise.
9895 * loader/powerpc/ieee1275/linux.c: Likewise.
9896 * normal/completion.c: Likewise.
9897 * normal/menu_entry.c: Likewise.
9898 * partmap/apple.c: Likewise.
9899 * util/grub.d/10_hurd.in: Likewise.
9900 * util/hostfs.c: Likewise.
9901 * video/readers/png.c: Likewise.
9902
e2d70b5c
CW
99032010-01-03 Colin Watson <cjwatson@ubuntu.com>
9904
9905 * include/grub/misc.h (GNUC_PREREQ): New macro.
9906 (ATTRIBUTE_ERROR): New macro.
9907 * include/grub/list.h (grub_bad_type_cast_real): Use
9908 ATTRIBUTE_ERROR.
9909
a173283f 99102010-01-03 Carles Pina i Estany <carles@pina.cat>
9911
9912 * normal/menu_text.c (print_message): Change messages.
9913
7fa7ff74 99142010-01-03 Carles Pina i Estany <carles@pina.cat>
9915
9916 * normal/menu_entry.c (store_completion): Gettextizze.
9917
136d24f6 99182010-01-03 Carles Pina i Estany <carles@pina.cat>
9919
9920 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
9921
f936862e 99222010-01-03 Carles Pina i Estany <carles@pina.cat>
9923
9924 * po/POTFILES: Sort correctly.
9925
29c44ad1 99262010-01-03 Carles Pina i Estany <carles@pina.cat>
9927
9928 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
9929 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
9930 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
9931 full stop.
9932 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
9933 summary. Gettextizze the strings.
9934 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
9935 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
9936 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
9937 full stop.
9938 (GRUB_MOD_INIT): Remove command name from summary.
9939 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
9940 summary.
9941 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
9942 * term/i386/pc/serial.c (options): Add full stops.
9943 (GRUB_MOD_INIT): Remove command name from the summary.
9944
77a79592 99452010-01-03 Carles Pina i Estany <carles@pina.cat>
9946
9947 * commands/acpi.c: Gettextizze help strings and/or options. Include
9948 `grub/i18n.h' if needed.
9949 * commands/blocklist.c: Likewise.
9950 * commands/boot.c: Likewise.
9951 * commands/cat.c: Likewise.
9952 * commands/cmp.c: Likewise.
9953 * commands/configfile.c: Likewise.
9954 * commands/crc.c: Likewise.
9955 * commands/date.c: Likewise.
9956 * commands/echo.c: Likewise.
9957 * commands/efi/fixvideo.c: Likewise.
9958 * commands/efi/loadbios.c: Likewise.
9959 * commands/gptsync.c: Likewise.
9960 * commands/halt.c: Likewise.
9961 * commands/handler.c: Likewise.
9962 * commands/hdparm.c: Likewise.
9963 * commands/hexdump.c: Likewise.
9964 * commands/i386/cpuid.c: Likewise.
9965 * commands/i386/pc/drivemap.c: Likewise.
9966 * commands/i386/pc/halt.c: Likewise.
9967 * commands/i386/pc/pxecmd.c: Likewise.
9968 * commands/i386/pc/vbeinfo.c: Likewise.
9969 * commands/i386/pc/vbetest.c: Likewise.
9970 * commands/ieee1275/suspend.c: Likewise.
9971 * commands/keystatus.c: Likewise.
9972 * commands/loadenv.c: Likewise.
9973 * commands/ls.c: Likewise.
9974 * commands/lsmmap.c: Likewise.
9975 * commands/lspci.c: Likewise.
9976 * commands/memrw.c: Likewise.
9977 * commands/minicmd.c: Likewise.
9978 * commands/parttool.c: Likewise.
9979 * commands/password.c: Likewise.
9980 * commands/probe.c: Likewise.
9981 * commands/read.c: Likewise.
9982 * commands/reboot.c: Likewise.
9983 * commands/search.c: Likewise.
9984 * commands/sleep.c: Likewise.
9985 * commands/test.c: Likewise.
9986 * commands/true.c: Likewise.
9987 * commands/usbtest.c: Likewise.
9988 * commands/videotest.c: Likewise.
9989 * commands/xnu_uuid.c: Likewise.
9990 * disk/loopback.c: Likewise.
9991 * hello/hello.c: Likewise.
9992 * loader/i386/bsd.c: Likewise.
9993 * term/i386/pc/serial.c: Likewise.
9994 * po/POTFILES: Add new files.
9995
da8d5c53
CW
99962010-01-02 Colin Watson <cjwatson@ubuntu.com>
9997
9998 * term/i386/pc/at_keyboard.c
9999 (keyboard_controller_wait_untill_ready): Rename to ...
10000 (keyboard_controller_wait_until_ready): ... this. Update all users.
10001
33937904 100022010-01-01 Carles Pina i Estany <carles@pina.cat>
10003
10004 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
10005 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
10006 string using string width.
10007 * normal/menu_text.c (grub_print_message_indented): Use
10008 grub_print_spaces and not print_spaces.
10009 (print_timeout): Likewise.
10010 (print_spaces): Move to...
10011 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
10012
3fd3b8d8
RM
100132010-01-01 Robert Millan <rmh.grub@aybabtu.com>
10014
10015 Import from Gnulib.
10016
10017 * gnulib/getdelim.c: New file.
10018 * gnulib/getline.c: Likewise.
10019
33433555
VS
100202009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
10021
10022 * include/grub/list.h (grub_assert_fail): Removed.
10023 (grub_bad_type_cast_real): New function.
10024 (grub_bad_type_cast): New macro.
10025 (GRUB_AS_LIST): Use grub_bad_type_cast.
10026 (GRUB_AS_LIST_P): Likewise.
e44721e8 10027 (GRUB_AS_NAMED_LIST): Likewise.
33433555 10028 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 10029 (GRUB_AS_PRIO_LIST): Likewise.
33433555 10030 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 10031 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 10032
f5a51306
VS
100332009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
10036 Fix syntax error.
10037
90d1e879
RM
100382009-12-29 Robert Millan <rmh.grub@aybabtu.com>
10039
10040 * configure.ac: Check for TARGET_CFLAGS initialization before we
10041 initialize it ourselves (sigh).
10042 Move a few modifications to TARGET_CFLAGS to be unconditional
10043 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
10044 eh_frame)
10045
10046 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
10047 * term/i386/pc/at_keyboard.c
10048 (keyboard_controller_wait_untill_ready): Likewise.
10049 (keyboard_controller_led): Rename `led_status' paramter to avoid
10050 name conflict.
10051
465b5a81 100522009-12-28 Carles Pina i Estany <carles@pina.cat>
10053
10054 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
10055 quotes.
10056
c181849b
VS
100572009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
10060
9c8739a4
VS
100612009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * normal/menu_text.c (grub_print_message_indented): Prevent
10064 past-the-end-of-array dereference.
10065
3e74249c
VS
100662009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
10069 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
10070
64fd18ed 100712009-12-27 Carles Pina i Estany <carles@pina.cat>
10072
10073 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
10074 * normal/main.c (grub_normal_read_line): Remove a space from the
10075 default prompt.
10076
714af9b9 100772009-12-27 Carles Pina i Estany <carles@pina.cat>
10078
10079 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
10080 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10081 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10082 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10083 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10084 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10085 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10086
82f3e412 100872009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 10088
10089 * video/readers/jpeg.c (cmd): Declare.
10090 (grub_cmd_jpegtest): Use `grub_command_t' type.
10091 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10092 Assign to `cmd'.
10093 (GRUB_MOD_FINI): Use `cmd' to unregister.
10094 * video/readers/png.c (cmd): Declare.
10095 (grub_cmd_pngtest): Use `grub_command_t' type.
10096 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10097 Assign to `cmd'.
10098 (GRUB_MOD_FINI): Use `cmd' to unregister.
10099 * video/readers/tga.c (cmd): Declare.
10100 (grub_cmd_tgatest): Use `grub_command_t' type.
10101 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10102 Assign to `cmd'.
10103 (GRUB_MOD_FINI): Use `cmd' to unregister.
10104
82f3e412 101052009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 10106
10107 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
10108 stops.
10109 * kern/corecmd.c (grub_register_core_commands): Likewise.
10110 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
10111 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10112 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
10113 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10114 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10115 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
10116 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10117 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
10118 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10119 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10120 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10121 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10122 * normal/handler.c (insert_handler): Likewise.
10123 * normal/main.c (GRUB_MOD_INIT): Likewise.
10124 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10125
fdcdbb66 101262009-12-26 Carles Pina i Estany <carles@pina.cat>
10127
10128 * commands/help.c (grub_cmd_help): Print the command name before the
10129 summary.
10130 (GRUB_MOD_INIT): Remove command name from the summary.
10131 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 10132 string as summary.
fdcdbb66 10133 * lib/arg.c (find_long): Print the command name before the summary.
10134 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
10135 summary.
10136 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
10137 * commands/cat.c (GRUB_MOD_INIT): Likewise.
10138 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
10139 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
10140 * commands/crc.c (GRUB_MOD_INIT): Likewise.
10141 * commands/date.c (GRUB_MOD_INIT): Likewise.
10142 * commands/echo.c (GRUB_MOD_INIT): Likewise.
10143 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
10144 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10145 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10146 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
10147 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
10148 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
10149 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
10150 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10151 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
10152 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
10153 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
10154 * commands/ls.c (GRUB_MOD_INIT): Likewise.
10155 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10156 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10157 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10158 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
10159 * commands/password.c (GRUB_MOD_INIT): Likewise.
10160 * commands/probe.c (GRUB_MOD_INIT): Likewise.
10161 * commands/read.c (GRUB_MOD_INIT): Likewise.
10162 * commands/search.c (GRUB_MOD_INIT): Likewise.
10163 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
10164 * commands/test.c (GRUB_MOD_INIT): Likewise.
10165 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
10166 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10167 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10168 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
10169 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10170 * lib/arg.c (GRUB_MOD_INIT): Likewise.
10171 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
10172 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10173 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10174 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10175 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10176 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
10177 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
10178 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
10179
9c288be2
VS
101802009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10181
10182 Use search command for preliminar UUID search.
10183
10184 * commands/search.c: Split into ...
10185 * commands/search_wrap.c: ...this
10186 * commands/search.c: ...and this.
10187 * commands/search_file.c: New file.
10188 * commands/search_label.c: New file.
10189 * commands/search_uuid.c: New file.
10190 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
10191 Add commands/search_wrap.c, commands/search_file.c,
10192 commands/search_label.c and commands/search_uuid.c.
10193 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
10194 (search_mod_SOURCES): Set to commands/search_wrap.c.
10195 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
10196 search_label.mod.
10197 (search_fs_file_mod_SOURCES): New variable.
10198 (search_fs_file_mod_CFLAGS): Likewise.
10199 (search_fs_file_mod_LDFLAGS): Likewise.
10200 (search_label_mod_SOURCES): Likewise.
10201 (search_label_mod_CFLAGS): Likewise.
10202 (search_label_mod_LDFLAGS): Likewise.
10203 (search_fs_uuid_mod_SOURCES): New variable.
10204 (search_fs_uuid_mod_CFLAGS): Likewise.
10205 (search_fs_uuid_mod_LDFLAGS): Likewise.
10206 (fs_file_mod_SOURCES): Removed.
10207 (fs_file_mod_CFLAGS): Likewise.
10208 (fs_file_mod_LDFLAGS): Likewise.
10209 (fs_uuid_mod_SOURCES): Removed.
10210 (fs_uuid_mod_CFLAGS): Likewise.
10211 (fs_uuid_mod_LDFLAGS): Likewise.
10212 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
10213 Set to util/grub-install.in.
10214 * disk/fs_file.c: Removed.
10215 * disk/fs_uuid.c: Likewise.
10216 * include/grub/search.h: New file.
10217 * util/grub-install.in: Handle sparc64.
10218 Create and use load.cfg.
10219 * util/sparc64/ieee1275/grub-install.in: Removed.
10220
db943399
VS
102212009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
10224 Ignore return status if CF is cleared.
10225 (grub_biosdisk_get_diskinfo_standard): Likewise.
10226
3fdae612
RM
102272009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10228
10229 * term/i386/pc/at_keyboard.c
10230 (keyboard_controller_wait_untill_ready): New function.
10231 (grub_keyboard_controller_write, grub_keyboard_controller_read)
10232 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
10233 for keyboard polling, rather than duplicate the same loop. This
10234 saves a few bytes in code size.
10235
7ebaa2b4
VS
102362009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 Support for (pxe[:server[:gateway]]) syntax and
10239 use environment variable for PXE.
10240
10241 * commands/i386/pc/pxecmd.c (options): Removed.
10242 (print_ip): Removed.
10243 (grub_cmd_pxe): Removed
10244 (grub_cmd_pxe_unload): New function.
10245 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
10246 (grub_pxe_your_ip): Made static.
10247 (grub_pxe_default_server_ip): Likewise.
10248 (grub_pxe_default_gateway_ip): Likewise.
10249 (grub_pxe_blksize): Likewise.
10250 (parse_ip): New function.
10251 (grub_pxe_open): Support server and gateway specification.
10252 (grub_pxe_close): Free disk->data.
10253 (grub_pxefs_open): Use disk->data.
10254 (grub_pxefs_read): Likewise.
10255 (grub_env_write_readonly): New function.
10256 (set_mac_env): Likewise.
10257 (set_env_limn_ro): Likewise.
10258 (parse_dhcp_vendor): Likewise.
10259 (grub_pxe_detect): Set the environment variables.
10260 (set_ip_env): New function.
10261 (write_ip_env): Likewise.
10262 (grub_env_write_pxe_default_server): Likewise.
10263 (grub_env_write_pxe_default_gateway): Likewise.
10264 (grub_env_write_pxe_blocksize): Likewise.
10265 (GRUB_MOD_INIT(pxe)): Set environment variables.
10266 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
10267 (grub_pxe_mac_addr_t): ... this. All users updated.
10268 (grub_pxe_your_ip): Removed.
10269 (grub_pxe_server_ip): Likewise.
10270 (grub_pxe_gateway_ip): Likewise.
10271 (grub_pxe_blksize): Likewise.
10272
ec5f98ab 102732009-12-25 Carles Pina i Estany <carles@pina.cat>
10274
10275 * commands/help.c: Include `<grub/i18n.h>'.
10276 (grub_cmd_help): Gettextizze.
10277 (GRUB_MOD_INIT): Likewise.
10278 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
10279 (GRUB_MOD_INIT): Gettextizze.
10280 * commands/search.c: Include `<grub/i18n.h>'.
10281 (options): Gettextizze.
10282 (GRUB_MOD_INIT): Gettextizze.
10283 * lib/arg.c: Include `<grub/i18n.h>'.
10284 (help_options): Gettextizze.
10285 (find_long): Likewise.
10286 (grub_arg_show_help): Likewise.
10287 * normal/dyncmd.c: Include `<grub/i18n.h>'.
10288 (read_command_list): Gettextizze.
10289 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 10290 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 10291
22815526
RM
102922009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10293
10294 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
10295 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
10296 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
10297 (led_status): New variable.
10298 (keyboard_controller_led): New function.
10299 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
10300 update led status for caps lock, num lock and scroll lock.
10301
0ad46fd7
FZ
103022009-12-25 Felix Zielcke <fzielcke@z-51.de>
10303
10304 * util/hostdisk.c (open_device): Fix a comment.
10305
d0e158c2
RM
103062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10307
10308 * util/grub-install.in (host_os): New variable.
10309 * util/i386/efi/grub-install.in (host_os): Likewise.
10310
401c0ad6
RM
103112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10312
10313 * util/mkisofs/write.c (padblock_write): Abort when given an
10314 excedingly large embed image, instead of silently truncating it.
10315
d14d3370
RM
103162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10317
10318 * include/multiboot.h: Indentation fixes.
10319
eeed10b4
RM
103202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10321
10322 * include/multiboot.h (struct multiboot_aout_symbol_table)
10323 (struct multiboot_elf_section_header_table): New structure
10324 declarations (stolen from GRUB Legacy).
10325 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
10326 table information.
10327
10328 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
10329 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
10330 type aliases.
10331
681c70ab
RM
103322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10333
10334 * include/multiboot.h: Make comments src2texi-friendly.
10335
e4d47d8d
RM
103362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10337
10338 For consistency with [multiboot]/docs/boot.S.
10339
10340 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
10341 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
10342 (MULTIBOOT_MAGIC2): Rename from this ...
10343 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
10344
a0b70bda
RM
103452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10346
10347 * include/multiboot.h: Remove `<grub/types.h>'.
10348 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
10349 types. Update all users.
10350
61ba42be 103512009-12-25 Carles Pina i Estany <carles@pina.cat>
10352
10353 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
10354 `couldn't' and `can not' by `cannot'.
10355 * commands/i386/pc/drivemap.c: Likewise.
10356 * disk/ata.c: Likewise.
10357 * disk/ieee1275/nand.c: Likewise.
10358 * fs/affs.c: Likewise.
10359 * fs/fat.c: Likewise.
10360 * fs/hfs.c: Likewise.
10361 * fs/hfsplus.c: Likewise.
10362 * fs/iso9660.c: Likewise.
10363 * fs/jfs.c: Likewise.
10364 * fs/minix.c: Likewise.
10365 * fs/reiserfs.c: Likewise.
10366 * fs/sfs.c: Likewise.
10367 * fs/udf.c: Likewise.
10368 * fs/ufs.c: Likewise.
10369 * fs/xfs.c: Likewise.
10370 * loader/powerpc/ieee1275/linux.c: Likewise.
10371 * loader/sparc64/ieee1275/linux.c: Likewise.
10372 * util/grub-probe.c: Likewise.
10373 * util/misc.c: Likewise.
10374
7fd0baee 103752009-12-24 Carles Pina i Estany <carles@pina.cat>
10376
10377 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
10378 grub_errno calls.
10379 * commands/acpi.c: Likewise.
10380 * commands/blocklist.c: Likewise.
10381 * commands/efi/loadbios.c: Likewise.
10382 * commands/i386/pc/drivemap.c: Likewise.
10383 * commands/loadenv.c: Likewise.
10384 * commands/memrw.c: Likewise.
10385 * commands/password.c: Likewise.
10386 * commands/videotest.c: Likewise.
10387 * disk/ata.c: Likewise.
10388 * disk/ata_pthru.c: Likewise.
10389 * disk/dmraid_nvidia.c: Likewise.
10390 * disk/ieee1275/nand.c: Likewise.
10391 * disk/ieee1275/ofdisk.c: Likewise.
10392 * disk/loopback.c: Likewise.
10393 * disk/lvm.c: Likewise.
10394 * disk/mdraid_linux.c: Likewise.
10395 * disk/raid.c: Likewise.
10396 * disk/raid6_recover.c: Likewise.
10397 * disk/scsi.c: Likewise.
10398 * efiemu/main.c: Likewise.
10399 * efiemu/mm.c: Likewise.
10400 * efiemu/pnvram.c: Likewise.
10401 * efiemu/symbols.c: Likewise.
10402 * font/font.c: Likewise.
10403 * fs/cpio.c: Likewise.
10404 * fs/hfsplus.c: Likewise.
10405 * fs/iso9660.c: Likewise.
10406 * fs/jfs.c: Likewise.
10407 * fs/minix.c: Likewise.
10408 * fs/ntfs.c: Likewise.
10409 * fs/ntfscomp.c: Likewise.
10410 * fs/reiserfs.c: Likewise.
10411 * fs/ufs.c: Likewise.
10412 * fs/xfs.c: Likewise.
10413 * gettext/gettext.c: Likewise.
10414 * include/grub/auth.h: Likewise.
10415 * kern/elf.c: Likewise.
10416 * kern/file.c: Likewise.
10417 * kern/ieee1275/init.c: Likewise.
10418 * kern/ieee1275/mmap.c: Likewise.
10419 * kern/ieee1275/openfw.c: Likewise.
10420 * kern/powerpc/dl.c: Likewise.
10421 * kern/sparc64/dl.c: Likewise.
10422 * lib/arg.c: Likewise.
10423 * loader/i386/bsd.c: Likewise.
10424 * loader/i386/bsdXX.c: Likewise.
10425 * loader/i386/efi/linux.c: Likewise.
10426 * loader/i386/efi/xnu.c: Likewise.
10427 * loader/i386/ieee1275/linux.c: Likewise.
10428 * loader/i386/linux.c: Likewise.
10429 * loader/i386/multiboot.c: Likewise.
10430 * loader/i386/pc/linux.c: Likewise.
10431 * loader/i386/pc/multiboot2.c: Likewise.
10432 * loader/i386/xnu.c: Likewise.
10433 * loader/ieee1275/multiboot2.c: Likewise.
10434 * loader/macho.c: Likewise.
10435 * loader/machoXX.c: Likewise.
10436 * loader/multiboot2.c: Likewise.
10437 * loader/multiboot_loader.c: Likewise.
10438 * loader/powerpc/ieee1275/linux.c: Likewise.
10439 * loader/sparc64/ieee1275/linux.c: Likewise.
10440 * loader/xnu.c: Likewise.
10441 * loader/xnu_resume.c: Likewise.
10442 * mmap/i386/pc/mmap.c: Likewise.
10443 * normal/menu_viewer.c: Likewise.
10444 * partmap/acorn.c: Likewise.
10445 * partmap/amiga.c: Likewise.
10446 * partmap/apple.c: Likewise.
10447 * script/lexer.c: Likewise.
10448 * term/gfxterm.c: Likewise.
10449 * term/i386/pc/serial.c: Likewise.
10450 * term/i386/pc/vga.c: Likewise.
10451 * term/ieee1275/ofconsole.c: Likewise.
10452 * term/terminfo.c: Likewise.
10453 * video/bitmap.c: Likewise.
10454 * video/efi_gop.c: Likewise.
10455 * video/efi_uga.c: Likewise.
10456 * video/fb/video_fb.c: Likewise.
10457 * video/i386/pc/vbe.c: Likewise.
10458 * video/readers/tga.c: Likewise.
10459 * video/video.c: Likewise.
10460
0ad46fd7 104612009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
10462
10463 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
10464 * commands/lspci.c: Likewise.
10465 * commands/probe.c: Likewise.
10466 * commands/xnu_uuid.c: Likewise.
10467 * conf/i386-coreboot.rmk: Likewise.
10468 * conf/i386-efi.rmk: Likewise.
10469 * conf/i386-ieee1275.rmk: Likewise.
10470 * conf/i386-pc.rmk: Likewise.
10471 * conf/powerpc-ieee1275.rmk: Likewise.
10472 * conf/sparc64-ieee1275.rmk: Likewise.
10473 * conf/x86_64-efi.rmk: Likewise.
10474 * fs/i386/pc/pxe.c: Likewise.
10475 * gettext/gettext.c: Likewise.
10476 * include/grub/efi/graphics_output.h: Likewise.
10477 * include/grub/i386/pc/memory.h: Likewise.
10478 * kern/env.c: Likewise.
10479 * kern/i386/qemu/startup.S: Likewise.
10480 * lib/i386/pc/biosnum.c: Likewise.
10481 * lib/i386/relocator.c: Likewise.
10482 * lib/i386/relocator_asm.S: Likewise.
10483 * lib/relocator.c: Likewise.
10484 * loader/i386/bsd.c: Likewise.
10485 * loader/i386/multiboot.c: Likewise.
10486 * loader/i386/pc/chainloader.c: Likewise.
10487 * loader/i386/xnu.c: Likewise.
10488 * loader/xnu.c: Likewise.
10489 * normal/main.c: Likewise.
10490 * normal/menu_text.c: Likewise.
10491 * util/getroot.c: Likewise.
10492 * util/grub-mkconfig_lib.in: Likewise.
10493 * util/grub.d/00_header.in: Likewise.
10494 * util/i386/pc/grub-mkimage.c: Likewise.
10495 * util/mkisofs/eltorito.c: Likewise.
10496 * util/mkisofs/exclude.h: Likewise.
10497 * util/mkisofs/hash.c: Likewise.
10498 * util/mkisofs/iso9660.h: Likewise.
10499 * util/mkisofs/joliet.c: Likewise.
10500 * util/mkisofs/mkisofs.c: Likewise.
10501 * util/mkisofs/mkisofs.h: Likewise.
10502 * util/mkisofs/multi.c: Likewise.
10503 * util/mkisofs/name.c: Likewise.
10504 * util/mkisofs/rock.c: Likewise.
10505 * util/mkisofs/tree.c: Likewise.
10506 * util/mkisofs/write.c: Likewise.
10507 * video/efi_gop.c: Likewise.
10508
009ec743
VS
105092009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
10512 size counting.
10513
0ad46fd7 105142009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
10515
10516 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
10517 * genmk.rb (class SCRIPT): Modify the target file instead of source.
10518
d3d30ea0
VS
105192009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10520
10521 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
10522 (GRUB_MOD_INIT(memrw)): Update help line.
10523
a34f5c70
VS
105242009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10525
10526 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
10527 Use grub_extcmd_t. All users updated.
10528 (options): New variable.
10529 (grub_cmd_read): Restructure for readability. Support "-v" option.
10530 (grub_cmd_write): Restructure for readability.
10531
0ad46fd7 105322009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
10533
10534 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
10535
0ad46fd7 105362009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
10537
10538 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
10539 with the actual contents of the correspondending make variable.
10540 * util/grub-mkrescue.in (pkglib_DATA): New variable.
10541 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
10542 specifying `*.lst' and `efiemu??.o'
10543
0ad46fd7 105442009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
10545
10546 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
10547 after function name.
10548 Noticed by Rene Engelhard <rene@debian.org>.
10549
dc77a799
VS
105502009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
10553 (options): New variable.
10554 (iospace): Likewise.
10555 (grub_lspci_iter): List IO spaces if "-i" was given.
10556 (grub_cmd_lspci): Parse options.
10557 (GRUB_MOD_INIT(lspci)): Use extcmd.
10558 (GRUB_MOD_FINI(lspci)): Likewise.
10559
0ad46fd7 105602009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
10561
10562 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
10563 `function' keyword.
10564 Patch by Tony Mancill <tmancill@debian.org>.
10565
b5d5993b
VS
105662009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
10569 (grub_uhci_portstatus): Likewise.
10570 (grub_uhci_portstatus): Add necessary delay.
11d18281 10571 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 10572
941903f2 105732009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 10574
941903f2 10575 * commands/acpi.c (options): Fix capitalizations and/or full stops.
10576 (GRUB_MOD_INIT): Likewise.
10577 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 10578 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
10579 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 10580 * commands/efi/loadbios.c (enable_rom_area): Likewise.
10581 (enable_rom_area): Likewise.
10582 (GRUB_MOD_INIT): Likewise.
10583 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10584 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
10585 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10586 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
10587 * commands/hexdump.c (options): Likewise.
10588 * commands/i386/cpuid.c (options): Likewise.
10589 (GRUB_MOD_INIT): Likewise.
10590 * commands/i386/pc/drivemap.c (options): Likewise.
10591 (GRUB_MOD_INIT): Likewise.
10592 * commands/i386/pc/halt (options): Likewise.
10593 (GRUB_MOD_INIT): Likewise.
10594 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10595 * commands/i386/pc/pxecmd.c (options): Likewise.
10596 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
10597 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
10598 * commands/keystatus.c (options): Likewise.
10599 (GRUB_MOD_INIT): Likewise.
10600 * commands/loadenv.c (options): Likewise.
10601 * commands/ls.c (options): Likewise.
10602 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10603 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10604 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10605 * commands/parttool.c (helpmsg): Likewise.
10606 * commands/probe.c (options): Likewise.
10607 * commands/read.c (GRUB_MOD_INIT): Likewise.
10608 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
10609 * commands/search.c (options): Likewise.
10610 * commands/sleep.c (options): Likewise.
10611 * commands/test.c (GRUB_MOD_INIT): Likewise.
10612 * commands/true.c (GRUB_MOD_INIT): Likewise.
10613 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
10614 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
10615 * lib/arg.c (help_options): Likewise.
e9bbb4e7 10616 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
10617 `$(XGETTEXT)'.
98a50553 10618 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 10619
0ad46fd7 106202009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 10621
ef3c2c3a 10622 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
10623 instead of specifying them explicit.
10624
7922f68b
RM
106252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10626
10627 * NEWS: Add grub-probe support for GNU/Hurd.
10628
537ce47f
RM
106292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10630
10631 * NEWS: gettext was added after 1.97.
10632
9b214e3a
RM
106332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10634
10635 * util/mkisofs/msdos_partition.h: New file (based on
10636 include/grub/msdos_partition.h).
10637 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
10638 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
10639 (ld_options, main): Recognize --protective-msdos-label.
10640 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
10641 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
10642 (padblock_write): If `use_protective_msdos_label' is set, patch a
10643 protective DOS-style label in the output image.
10644
10645 * util/grub-mkrescue.in: Use --protective-msdos-label.
10646
e9309813
RM
106472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10648
10649 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
10650 boot.
10651
0ae56929
RM
106522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10653
10654 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
10655 variables.
10656 (ld_options, main): Recognize `--embedded-boot'.
10657 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
10658 declarations.
10659 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
10660 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
10661 (padblock_write): Likewise. Rewrite to support embedded boot image.
10662
10663 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
10664 for BIOS-based disk boot instead of only ElTorito.
10665
b15937b1
RM
106662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10667
10668 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
10669 build (not needed for bootstrap).
10670
52cc3ce0
RM
106712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10672
10673 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
10674 from i386-pc build (not needed for bootstrap).
10675 Rewrite a pair of strings.
10676
36f5ff04
RM
106772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10678
10679 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
10680
973c6c85 106812009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
10682
10683 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
10684
05d21547
AB
106852009-12-21 Andreas Born <futur.andy@googlemail.com>
10686
10687 * kern/env.c (grub_env_context_open): Mark exported variable for
10688 reexport.
10689
0175d51f
AB
106902009-12-21 Andreas Born <futur.andy@googlemail.com>
10691
10692 * kern/env.c (grub_env_export): Create nonexistent variables before
10693 exporting.
10694
7f39d92f 106952009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 10696
7f39d92f 10697 * include/grub/auth.h: Include `<grub/i18n.h>'.
10698 (GRUB_GET_PASSWORD): Gettextizze string.
10699 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
10700 menu_text.c.
10701 (grub_utf8_to_ucs4_alloc): Fix indentation.
10702 (grub_print_ucs4): Likewise.
10703 (grub_getstringwidth): Likewise.
10704 (print_message_indented): New declaration.
10705 * normal/auth.c: Include `<grub/i18n.h>'.
10706 (grub_auth_check_authentication): Gettexttize string.
10707 * normal/cmdline.c: Include `<grub/i18n.h>'.
10708 (grub_cmdline_get): Gettextizze.
10709 * normal/color.c: Include `<grub/i18n.h>'.
10710 (grub_parse_color_name_pair): Gettexttize strings.
10711 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
10712 string (use `print_message_indented').
10713 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
10714 `include/grub/normal.h'.
10715 (print_message_indented): Renamed to ...
10716 (grub_print_message_indented): ... this. Remove `static' qualifer (now
10717 used in normal/main.c).
10718 (print_message): Use `grub_print_message_indented' instead of
10719 `print_message_indented'.
10720 (print_timeout): Likewise.
10721 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
10722 (grub_normal_print_device_info): Gettexttize strings.
10723 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
10724
3041d898
VS
107252009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
10728 of arguments. Return number of tokens and not arguments. All users
10729 updated.
10730
de15bf8e
VS
107312009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
10734 non-MSDOS paritions.
10735
e0a6ca52
VS
107362009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * include/grub/types.h (UNUSED): Removed since it conflicts with
10739 NetBSD headers. All users changed to direct __attribute__ ((unused)).
10740 Reported by Grégoire Sutre.
10741
b99518d1 107422009-12-19 Carles Pina i Estany <carles@pina.cat>
10743
10744 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
10745 (grub_print_ucs4_alloc): Likewise.
10746 (grub_getstringwidth): Likewise.
10747 * normal/main.c (grub_normal_init_page): Gettextize version string.
10748 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
10749 (getstringwidth): Renamed to ...
10750 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
10751 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
10752 (grub_print_ucs4): Remove `static' qualifer (now used in
10753 normal/main.c).
10754 * po/POTFILES: Add normal/main.c.
10755
bfd5e52b 107562009-12-19 Carles Pina i Estany <carles@pina.cat>
10757
10758 * normal/menu_text.c (STANDARD_MARGIN): New macro.
10759 (print_message_indented): Add `margin_left' and `margin_right'
10760 parameters.
10761 (print_message): Update `print_message_indented' calls. Adds '\n' to the
10762 strings.
10763 (print_timeout): Use `print_message_indented' to print the message.
10764 Deletes `second_stage' parameter.
10765 (run_menu): Update `print_timeout' calls.
10766
5a1ad2b9
VS
107672009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Fix console palette on OpenFirmware.
10770
10771 * term/ieee1275/ofconsole.c (MAX): Removed.
10772 (colors): Redone based on VGA palette.
10773 (grub_ofconsole_setcolor): Discard brightness bit since only 8
10774 colors are supported.
10775 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
10776
b045f00a
VS
107772009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 Fix potential EfiEmu double prepare.
10780
10781 * efiemu/main.c (prepared): New variable
10782 (grub_efiemu_unload): Set prepare to '0'.
10783 (grub_efiemu_prepare): Return if already prepared. Set prepared.
10784
10785 set_virtual_address_map support.
10786
10787 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
10788 prototype.
10789 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
10790 prototype.
10791 (grub_efiemu_crc32): Likewise.
10792 (grub_efiemu_crc64): Likewise.
10793 (grub_efiemu_set_virtual_address_map): Likewise.
10794 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
10795 New definition.
10796 (grub_autoefi_set_virtual_address_map): Likewise.
10797 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
10798 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
10799 Restructure flow to accomodate it.
10800 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
10801 (grub_efiemu_crc): Recompute CRC32.
10802 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
10803 (efiemu_ptv_relocated): ... this. Made global. All users updated.
10804 * efiemu/symbols.c (relocated_handle): New variable.
10805 (grub_efiemu_free_syms): Free relocated_handle.
10806 (grub_efiemu_alloc_syms): Allocate relocated_handle.
10807 (grub_efiemu_write_sym_markers): New function.
10808 (grub_efiemu_set_virtual_address_map): Likewise.
10809
10810 Newer XNU parameters.
10811
10812 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
10813 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
10814 (grub_xnu_fill_devicetree): New prototype.
10815 (grub_xnu_heap_real_start): New variable.
10816 * loader/xnu.c (get_name_ptr): New function.
10817 (grub_xnu_load_driver): Fill namelen and name.
10818
10819 64-bit xnu support.
10820
10821 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
10822 and 'loader/macho64.c'.
10823 * conf/i386-pc.rmk: Likewise.
10824 * conf/x86_64-efi.rmk: Likewise.
10825 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
10826 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
10827 * include/grub/macho.h (grub_macho_segment64): New structure.
10828 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
10829 (grub_macho_size32): ... to this.
10830 (grub_macho32_get_entry_point): Renamed from ...
10831 (grub_macho_get_entry_point32): ... to this.
10832 (grub_macho_contains_macho64): New prototype.
10833 (grub_macho_size64): Likewise.
10834 (grub_macho_get_entry_point64): Likewise.
10835 (grub_macho32_load): Renamed from ...
10836 (grub_macho_load32): ... to this.
10837 (grub_macho32_filesize): Renamed from ...
10838 (grub_macho_filesize32): ... to this.
10839 (grub_macho32_readfile): Renamed from ...
10840 (grub_macho_readfile32): ... to this.
10841 (grub_macho_filesize64): New prototype.
10842 (grub_macho_readfile64): Likewise.
10843 (grub_macho_parse32): Likewise.
10844 (grub_macho_parse64): Likewise.
10845 * loader/macho.c: Split into ...
10846 * loader/machoXX.c: ... and this. Replace 32 with XX.
10847 * loader/macho32.c: New file.
10848 * loader/macho64.c: Likewise.
10849 * loader/xnu.c (grub_xnu_is_64bit): New variable.
10850 (grub_cmd_xnu_kernel): Make 32-bit only.
10851 (grub_cmd_xnu_kernel64): New function.
10852 (grub_xnu_load_driver): Support Mach-O 64.
10853 (grub_cmd_xnu_mkext): Likewise.
10854 * util/grub.d/30_os-prober.in (osx_entry): New function.
10855 Generate entries for 64-bit boot too.
10856
10857 Eliminate ad-hoc tree format in XNU and EfiEmu.
10858
10859 * efiemu/main.c (grub_efiemu_prepare): Update comment.
10860 * efiemu/pnvram.c: Rewritten to use environment variables.
10861 All users updated.
10862
10863 Inline utf16_to_utf8.
10864
10865 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
10866 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
10867 All users updated.
10868 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
10869
10870 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
10871 * commands/usbtest.c (grub_usb_get_string): ... move here.
10872 (usb_print_str): Fix error handling.
10873 * include/grub/usb.h (grub_usb_get_string): Remove.
10874
10875 UTF-8 to UTF-16 transformation.
10876
10877 * conf/common.rmk (pkglib_MODULES): Add charset.mod
10878 (charset_mod_SOURCES): New variable.
10879 (charset_mod_CFLAGS): Likewise.
10880 (charset_mod_LDFLAGS): Likewise.
10881 * include/grub/utf.h: New file.
10882 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
10883
10884 Support for device properties.
10885
10886 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
10887 (grub_xnu_devprop_device_header): Likewise.
10888 (grub_xnu_devprop_device_descriptor): Likewise.
10889 (grub_xnu_devprop_add_device): New prototype.
10890 (grub_xnu_devprop_remove_device): Likewise.
10891 (grub_xnu_devprop_remove_property): Likewise.
10892 (grub_xnu_devprop_add_property_utf8): Likewise.
10893 (grub_xnu_devprop_add_property_utf16): Likewise.
10894 (grub_cpu_xnu_init): Likewise.
10895 (grub_cpu_xnu_fini): Likewise.
10896 (grub_cpu_xnu_unload): Likewise.
10897 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
10898 (property_descriptor): Likewise.
10899 (devices): New variable.
10900 (grub_xnu_devprop_remove_property): New function.
10901 (grub_xnu_devprop_add_device): Likewise.
10902 (grub_xnu_devprop_remove_device): Likewise.
10903 (grub_xnu_devprop_add_property): Likewise.
10904 (grub_xnu_devprop_add_property_utf8): Likewise.
10905 (grub_xnu_devprop_add_property_utf16): Likewise.
10906 (hextoval): Likewise.
10907 (grub_cpu_xnu_fill_devprop): Likewise.
10908 (grub_cmd_devprop_load): Likewise.
10909 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
10910 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
10911 (cmd_devprop_load): New variable.
10912 (grub_cpu_xnu_init): New function.
10913 (grub_cpu_xnu_fini): Likewise.
10914 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
10915 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
10916 (grub_cmd_xnu_devtree): Likewise.
10917 (hextoval): New function.
10918 (unescape): Likewise.
10919 (grub_xnu_fill_devicetree): Likewise.
10920
10921 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
10922 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
10923
0945f181
VS
109242009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 Workaround for broken ATI VBE.
10927
10928 * video/i386/pc/vbe.c (last_set_mode): New variable.
10929 (grub_vbe_set_video_mode): Set 'last_set_mode'.
10930 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
10931 (grub_video_vbe_setup): Don't check for reserved flag.
10932
0ad46fd7 109332009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
10934
10935 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
10936 the `find' command.
10937
c179ebe4
VS
109382009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 UUID support for HFS.
10941
10942 * fs/hfs.c (grub_hfs_uuid): New function.
10943 (grub_hfs_fs): New value .uuid.
10944 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
10945
0ad46fd7 109462009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
10947
10948 Fix a segfault with parsing unknown long options.
10949
10950 * util/grub-mkrelpath.c (options): Zero terminate it.
10951
c4a3e41a
CPE
109522009-12-13 Carles Pina i Estany <carles@pina.cat>
10953
10954 * include/grub/misc.h (grub_puts): New declaration.
10955 (grub_puts_): Likewise.
a22008a6 10956 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
10957 (grub_puts_): Likewise.
10958
2e8a7602
RM
109592009-12-13 Robert Millan <rmh.grub@aybabtu.com>
10960
10961 * util/grub-probe.c (probe): Improve error message.
10962
b50b77b9
RM
109632009-12-13 Robert Millan <rmh.grub@aybabtu.com>
10964
10965 * loader/i386/multiboot_elfxx.c
10966 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
10967 initialization.
10968
109692009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 Relocator framework
10972
10973 * loader/i386/xnu_helper.S: Removed. All users updated.
10974 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
10975 (relocator_mod_SOURCES): New variable.
10976 (relocator_mod_CFLAGS): Likewise.
10977 (relocator_mod_LDFLAGS): Likewise.
10978 (relocator_mod_ASFLAGS): Likewise.
10979 * conf/x86_64.rmk: Likewise.
10980 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
10981 (grub_multiboot_payload_entry_offset): Likewise.
10982 (grub_multiboot_forward_relocator): Likewise.
10983 (grub_multiboot_forward_relocator_end): Likewise.
10984 (grub_multiboot_backward_relocator): Likewise.
10985 (grub_multiboot_backward_relocator_end): Likewise.
10986 (grub_multiboot_payload_eip): New variable.
10987 (grub_multiboot_payload_orig): Likewise.
10988 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
10989 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
10990 * include/grub/i386/memory.h
10991 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
10992 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
10993 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
10994 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
10995 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
10996 * include/grub/i386/relocator.h: New file.
10997 * include/grub/x86_64/relocator.h: Likewise.
10998 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
10999 (XNU_RELOCATOR): New macro.
11000 (grub_xnu_launcher_start): Remove.
11001 (grub_xnu_launcher_end): Likewise.
11002 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
11003 (grub_xnu_heap_real_start): Remove.
11004 (grub_xnu_heap_start): Change to void *. All users updated.
11005 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
11006 * lib/i386/relocator.c: New file.
11007 * lib/i386/relocator_asm.S: Likewise.
11008 * lib/i386/relocator_backward.S: Likewise.
11009 * lib/mips/relocator.c: Likewise.
11010 * lib/mips/relocator_asm.S: Likewise.
11011 * lib/relocator.c: Likewise.
11012 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
11013 (entry): Removed.
11014 (playground): Likewise.
11015 (grub_multiboot_payload_orig): New variable.
11016 (grub_multiboot_payload_dest): Likewise.
11017 (grub_multiboot_payload_size): Likewise.
11018 (grub_multiboot_payload_eip): Likewise.
11019 (grub_multiboot_payload_esp): Likewise.
11020 (grub_multiboot_boot): Use grub_relocator32_boot.
11021 (grub_multiboot_unload): Free relocators.
11022 (grub_multiboot): Setup stack. Use relocators.
11023 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
11024 (grub_multiboot_load_elfXX): Use relocators.
11025 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
11026 (grub_multiboot_payload_size): Likewise.
11027 (grub_multiboot_payload_dest): Likewise.
11028 (grub_multiboot_payload_entry_offset): Likewise.
11029 (grub_multiboot_forward_relocator): Likewise.
11030 (grub_multiboot_backward_relocator): Likewise.
11031 (grub_multiboot_real_boot): Likewise.
11032 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
11033 (grub_xnu_entry_point): Likewise.
11034 (grub_xnu_arg1): Likewise.
11035 (grub_xnu_stack): Likewise.
11036 (grub_xnu_launch): Removed.
11037 (grub_xnu_boot_resume): New function.
11038 (grub_xnu_boot): Use relocators.
11039 * loader/i386/xnu_helper.S: Removed.
11040 * loader/xnu.c (grub_xnu_heap_start): New variable.
11041 (grub_xnu_heap_size): Likewise.
11042 (grub_xnu_heap_malloc): Use relocators.
11043 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
11044
29eb90c6
VS
110452009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
11048 anything.
11049
31027430
CPE
110502009-12-13 Carles Pina i Estany <carles@pina.cat>
11051
11052 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
11053 GRUB_ERR_NONE before calling grub_env_set.
11054
dc0c71d9
RM
110552009-12-12 Robert Millan <rmh@aybabtu.com>
11056
11057 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
11058 * genmk.rb (video): New variable.
11059 (CLEANFILES, VIDEOFILES): Add #{video}.
11060 (#{video}): New target rule.
11061 * genvideolist.sh: New file.
11062 * Makefile.in (pkglib_DATA): Add video.lst.
11063 (video.lst): New target rule.
11064 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
11065 `video.lst'.
11066 * util/grub.d/30_os-prober.in: Replace `vbe' with
11067 ${GRUB_VIDEO_BACKEND}.
11068
2a4bfcf0
RM
110692009-12-11 Robert Millan <rmh.grub@aybabtu.com>
11070
11071 * THANKS: Add David Miller.
11072
2a3aa4d5
RM
110732009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 libpciaccess support.
11076
11077 * Makefile.in (LIBPCIACCESS): New variable.
11078 (enable_grub_emu_pci): Likewise.
11079 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
11080 util/pci.c and commands/lspci.c.
11081 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
11082 * configure.ac (grub-emu-pci): New option.
11083 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
11084 (grub_pci_device_unmap_range): Likewise.
11085 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
11086 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
11087 (grub_pci_address_t) [!GRUB_UTIL]: New type.
11088 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
11089 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
11090 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
11091 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
11092 * include/grub/pciutils.h: New file.
11093 * util/pci.c: Likewise.
11094
0ad46fd7 110952009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
11096
11097 * util/misc.c: Don't include <errno.h> twice.
11098
0ad46fd7 110992009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
11100
11101 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
11102 name in an error message.
11103 (grub_biosdisk_rw): Likewise.
11104
2e59983c
VS
111052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 Eliminate NTFS 4Gib barrier.
11108
11109 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
11110 (read_run_data): Likewise.
11111 (grub_ntfs_read_run_list): Likewise.
11112 (grub_ntfs_read_block): Likewise.
11113 (grub_ntfs_iterate_dir): Likewise.
11114 (read_mft): Likewise.
11115 (read_data): Likewise.
11116 Use COM_LOG_LEN.
11117 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
11118 to avoid 64-bit division
11119 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
11120 (grub_ntfs_rlst): Use grub_disk_addr_t.
11121
71ee178a
VS
111222009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 Eliminate grub-fstest 4Gib barrier.
11125
11126 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
11127 (read_file): Fix error reporting.
11128
2520d4b8
VS
111292009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 Eliminate hexdump 4Gib barrier.
11132
11133 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
11134 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
11135
e1f27065
VS
111362009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
11139 Fixes amarsh bug.
11140
1a0f7f45
RM
111412009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
11142
11143 Remove miscellaneous files in distclean target.
11144
11145 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
11146
c631d9fb
CW
111472009-12-09 Colin Watson <cjwatson@ubuntu.com>
11148
11149 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
11150 if they're already set. This resolves the conflict between my
11151 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
11152 fixing the --grub-probe option again.
11153 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
11154 change on 2009-10-06, so that we now once again source
11155 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11156
7c7b6106
RM
111572009-12-08 Robert Millan <rmh.grub@aybabtu.com>
11158
11159 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
11160 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
11161 `util/devicemap.c'.
11162
e3069ec1
CPE
111632009-12-08 Carles Pina i Estany <carles@pina.cat>
11164
11165 * include/grub/misc.h (grub_printf_): New declaration.
11166 * kern/misc.c (grub_printf_): New definition.
11167 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
11168 instead of `grub_printf' and `_'.
11169 * normal/menu_entry.c (store_completion): Likewise.
11170 (run): Likewise.
11171 (grub_menu_entry_run): Likewise.
11172 * normal/menu_text.c (grub_wait_after_message): Likewise.
11173 (notify_booting): Likewise.
11174 (notify_fallback): Likewise.
11175 (notify_execution_failure): Likewise.
11176
d6ceebf1
CW
111772009-12-07 Colin Watson <cjwatson@ubuntu.com>
11178
11179 * configure.ac: Check for vasprintf.
11180 * util/misc.c (asprintf): Move allocation from here ...
11181 (vasprintf): ... to here. New function.
11182 (xasprintf): New function.
11183 * include/grub/util/misc.h (vasprintf, xasprintf): Add
11184 prototypes.
11185 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11186 * util/grub-mkfont.c (write_font): Likewise.
11187 * util/grub-probe.c (probe): Likewise.
11188 * util/hostdisk.c (make_device_name): Likewise.
11189
de6daa8b
DM
111902009-12-06 David S. Miller <davem@sunset.davemloft.net>
11191
11192 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
11193 anything even prefixed with 'cdrom' as a cdrom.
11194
0ad46fd7 111952009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
11196
11197 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
11198 mount points.
11199
98d3dc02
CPE
112002009-12-05 Carles Pina i Estany <carles@pina.cat>
11201
11202 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
11203 grub_gettext_msg_list.
11204 (grub_gettext_gettranslation_from_position): Return const char *
11205 and not char *.
a2c1332b 11206 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
11207 returns from the list if existing there.
11208 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
11209 (grub_gettext_delete_list): Delete the list.
11210 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
11211 lang environment variable is changed.
11212 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
11213
b283f108
VS
112142009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 Rename kernel.mod to kernel.img.
11217
11218 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
11219 (kernel_mod_EXPORTS): Rename to ...
11220 (kernel_img_EXPORTS): ... this.
11221 (kernel_mod_SOURCES): Rename to ...
11222 (kernel_img_SOURCES): ... this.
11223 (kernel_mod_HEADERS): Rename to ...
11224 (kernel_img_HEADERS): ... this. All users updated.
11225 (kernel_mod_CFLAGS): Rename to ...
11226 (kernel_img_CFLAGS): ... this.
11227 (kernel_mod_ASFLAGS): Rename to ...
11228 (kernel_img_ASFLAGS): ... this.
11229 (kernel_mod_LDFLAGS): Rename to ...
11230 (kernel_img_LDFLAGS): ... this.
11231 * conf/x86_64-efi.rmk: Likewise.
11232 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
11233 (read_kernel_image): ... this. All users updated.
11234 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
11235
69055f8a
CPE
112362009-12-05 Carles Pina i Estany <carles@pina.cat>
11237
11238 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
11239 (print_spaces): New function.
11240 (grub_print_ucs4): New function.
11241 (getstringwidth): New function.
11242 (print_message_indented): New function.
11243 (print_message): Gettexttize strings using print_message_indented.
11244 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
11245 width.
11246 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 11247 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
11248 Gettextize.
11249 * normal/menu_entry.c (store_completion): Cleanup the gettextized
11250 string.
11251 (run): Likewise.
11252 (grub_menu_entry_run): Likewise.
11253 * PO/POTFILES: Add normal/menu_entry.c.
11254
f616f51c
VS
112552009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
11258
57bbe3be
CPE
112592009-12-05 Carles Pina i Estany <carles@pina.cat>
11260
11261 * util/grub-install.in: Install gettext .mo files.
11262 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
11263
013d67a1
CPE
112642009-12-05 Carles Pina i Estany <carles@pina.cat>
11265
11266 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
11267 grub_dprintf.
11268
fb954db0
RM
112692009-12-05 Robert Millan <rmh.grub@aybabtu.com>
11270
11271 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
11272 non-firmware-dependant one in realmode.S takes precedence.
11273
6b8474f8
RM
112742009-12-04 Robert Millan <rmh.grub@aybabtu.com>
11275
11276 * commands/halt.c: Replace misc arch-specific headers with
11277 `<grub/misc.h>'.
11278 * commands/reboot.c: Likewise.
11279 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
11280 `<grub/misc.h>'.
11281 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
11282 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
11283 (kernel_img_SOURCES): ... to here.
11284
11285 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
11286 * include/grub/i386/pc/init.h: Likewise.
11287 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11288 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11289
11290 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
11291
11292 * include/grub/i386/halt.h: Remove.
11293 * include/grub/i386/reboot.h: Likewise.
11294
11295 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
11296
4b2e6ca2
DM
112972009-12-03 David S. Miller <davem@sunset.davemloft.net>
11298
11299 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
11300 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
11301 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
11302 "progname.h"
11303 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11304 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11305 (usage): Add missing comma in printf.
11306
5239348f
RM
113072009-12-02 Robert Millan <rmh.grub@aybabtu.com>
11308
11309 Use the same reboot approach on i386 coreboot and qemu as we do on
11310 BIOS.
11311
11312 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
11313 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
11314 * kern/i386/reboot.c: Remove.
11315 * include/grub/i386/reboot.h (grub_reboot): Export function.
11316 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
11317 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
11318 0xf000:0xfff0 instead of 0xffff:0x0000.
11319 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
11320 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
11321
ef34cbd4
RM
113222009-11-30 Robert Millan <rmh.grub@aybabtu.com>
11323
11324 Fix $srcdir != $objdir build.
11325
11326 * Makefile.in (po/%.po): Rewrite as ...
11327 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
11328
dc9837ea
ST
113292009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
11330
11331 Fix GNU/Hurd grub-install crash.
11332 * util/grub-probe.c (probe): Try to access `path' only when it is not
11333 NULL.
11334
2f857f98
VS
113352009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11336
11337 Correct module naming.
11338
11339 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11340 (GRUB_MOD_INIT(efi_uga)): ... to this
11341 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11342 (GRUB_MOD_FINI(efi_uga)): ... to this
11343 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11344 (GRUB_MOD_INIT(efi_gop)): ... to this
11345 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11346 (GRUB_MOD_FINI(efi_gop)): ... to this
11347
c5448046
RM
113482009-11-28 Robert Millan <rmh.grub@aybabtu.com>
11349
11350 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
11351 translatable.
11352 (usage): Translate `arg' strings using gettext().
11353 Thanks to Jordi Mallach for the suggestion.
11354
c85184ad
VS
113552009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 GOP support. Based on patch from Bean
11358 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11359
11360 * video/efi_gop.c: New file.
11361 * include/grub/efi/graphics_output.h: Likewise.
11362 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
11363 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11364 variables.
11365 * conf/x86_64-efi.rmk: Likewise.
11366
8a4c48d8
VS
113672009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 Rename efi_fb to efi_uga.
11370
11371 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11372 'efi_uga.mod'.
11373 (efi_fb_mod_SOURCES): Rename this ...
11374 (efi_uga_mod_SOURCES): ... to this.
11375 (efi_fb_mod_CFLAGS): Rename this ...
11376 (efi_uga_mod_CFLAGS): ... to this.
11377 (efi_fb_mod_LDFLAGS): Rename this ...
11378 (efi_uga_mod_LDFLAGS): ... to this.
11379 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11380 'efi_uga.mod'.
11381 (efi_fb_mod_SOURCES): Rename this ...
11382 (efi_uga_mod_SOURCES): ... to this.
11383 (efi_fb_mod_CFLAGS): Rename this ...
11384 (efi_uga_mod_CFLAGS): ... to this.
11385 (efi_fb_mod_LDFLAGS): Rename this ...
11386 (efi_uga_mod_LDFLAGS): ... to this.
11387 * video/efi_fb.c: Move this ...
11388 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
11389
fb6c1a7b
RM
113902009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11391
11392 * po/README: New file. Explain our PO file workflow.
11393
3bc7896c
RM
113942009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11395
11396 * po/ChangeLog: Remove. Move relevant entries back to ...
11397 * ChangeLog: ... here.
11398 * po/ca.po: Remove (now handled by TLP).
11399 * po/id.po: Likewise.
11400 * po/zh_CN.po: Likewise.
11401 * Makefile.in (LINGUAS): Initialize in a way that supports
11402 empty set.
11403
9ed4841d
RM
114042009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11405
11406 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
11407 reliing on po/LINGUAS.
11408 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
11409 (po/%.po): ... this.
11410
0ad46fd7 114112009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
11412
11413 * util/i386/efi/grub-mkimage.c: Include "progname.h".
11414 (main): Use `program_name' instead of nonexistent `progname'.
11415
e30dd392
FZ
114162009-11-26 Felix Zielcke <fzielcke@z-51.de>
11417
11418 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11419 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
11420
7656de4f
RM
114212009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11422
11423 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
11424 commit.
11425 * conf/i386-efi.rmk: Likewise.
11426 * conf/i386-ieee1275.rmk: Likewise.
11427 * conf/powerpc-ieee1275.rmk: Likewise.
11428 * conf/sparc64-ieee1275.rmk: Likewise.
11429 * conf/x86_64-efi.rmk: Likewise.
11430
db77c4d4
FZ
114312009-11-26 Felix Zielcke <fzielcke@z-51.de>
11432
11433 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
11434
a755bb04
FZ
114352009-11-26 Felix Zielcke <fzielcke@z-51.de>
11436
11437 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
11438
8a4c07fd
RM
114392009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11440
11441 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
11442 (grub_mkdevicemap_SOURCES): New variable.
11443 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
11444 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
11445 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
11446 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
11447 (grub_mkdevicemap_SOURCES): Remove.
11448 * conf/i386-efi.rmk: Likewise.
11449 * conf/i386-ieee1275.rmk: Likewise.
11450 * conf/i386-pc.rmk: Likewise.
11451 * conf/powerpc-ieee1275.rmk: Likewise.
11452 * conf/sparc64-ieee1275.rmk: Likewise.
11453 * conf/x86_64-efi.rmk: Likewise.
11454 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
11455 (usage): Fix strings to use `program_name'.
11456 (main): Initialize gettext.
11457 * util/grub-editenv.c: Likewise.
11458 * util/grub-emu.c: Likewise.
11459 * util/grub-fstest.c: Likewise.
11460 * util/grub-mkdevicemap.c: Likewise.
11461 * util/grub-mkfont.c: Likewise.
11462 * util/grub-mkrelpath.c: Likewise.
11463 * util/grub-pe2elf.c: Likewise.
11464 * util/grub-probe.c: Likewise.
11465 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11466 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11467 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11468
11469 * util/misc.c: Include `"progname.h"'.
11470 (progname): Remove variable.
11471 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
11472
6f61ed55
FZ
114732009-11-25 Felix Zielcke <fzielcke@z-51.de>
11474
11475 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
11476 printf and print a newline after the menuentry header line.
11477 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11478
f022876b
FZ
114792009-11-25 Felix Zielcke <fzielcke@z-51.de>
11480
11481 autoconf >= 2.60 support $(localedir).
11482
11483 * INSTALL: Note that autoconf 2.60 is required.
11484 * configure.ac (AC_PREREQ): Bump to 2.60.
11485 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
11486 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11487
6717926e
YB
114882009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
11489
11490 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
11491 aclocal is run.
11492
08806a54
RM
114932009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11494
11495 * normal/main.c (grub_normal_read_line): Fix off-by-one
11496 buffer overflow.
11497
13b33fba
RM
114982009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11499
11500 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
11501 "parser.grub" in grub_command_execute() call.
11502
4a8572e9
CPE
115032009-11-24 Carles Pina i Estany <carles@pina.cat>
11504
11505 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
11506 * conf/i386-efi.rmk: Likewise.
11507 * conf/i386-ieee1275.rmk: Likewise.
11508 * conf/i386-pc.rmk: Likewise.
11509 * conf/powerpc-ieee1275.rmk: Likewise.
11510 * conf/sparc64-ieee1275.rmk: Likewise.
11511 * conf/x86_64-efi.rmk: Likewise.
11512 * gettext/gettex.c: Include <grub/i18n.h>.
11513 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
11514 here ...
11515 * include/grub/i18n.h: ... to here
11516 * include/grub/i18n.h: ... to here.
11517 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 11518 (grub_gettext_dummy): Move above user.
4a8572e9 11519
bee48093
FZ
115202009-11-24 Felix Zielcke <fzielcke@z-51.de>
11521
11522 * util/Makefile.in (install-local): Convert a `for' into a normal
11523 shell expansion.
11524
a031e91c
RM
115252009-11-24 Robert Millan <rmh.grub@aybabtu.com>
11526
11527 * autogen.sh: Add automake call.
11528 * config.guess: Remove.
11529 * config.sub: Likewise.
11530 * install-sh: Likewise.
11531
26bec39d
FZ
115322009-11-24 Felix Zielcke <fzielcke@z-51.de>
11533
11534 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
11535
8e2532fd
FZ
115362009-11-24 Felix Zielcke <fzielcke@z-51.de>
11537
11538 * util/Makefile.in (install-local): Convert a make `$(foreach)'
11539 function to a normal shell `for'.
11540
fefa1b7d
FZ
115412009-11-24 Felix Zielcke <fzielcke@z-51.de>
11542
11543 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11544
4501250b
FZ
115452009-11-24 Felix Zielcke <fzielcke@z-51.de>
11546
11547 * util/grub-mkrelpath.c: New file.
11548 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
11549 (grub_mkrelpath_SOURCES): New variable.
11550 * include/grub/util/misc.h: New function prototype.
11551 * util/misc.c (make_system_path_relative_to_its_root): New function.
11552
11553 * util/grub-mkconfig_lib.in (bindir): New variable.
11554 (grub_mkrelpath): Likewise.
11555 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
11556
11557 * util/probe.c (probe): Make the file path relative to its root.
11558 Change a info message to use the GRUB path. Enable again the
11559 check if we can read the file with GRUB facilities.
11560
11561 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
11562 to its root.
11563
11d9778b
FZ
115642009-11-24 Felix Zielcke <fzielcke@z-51.de>
11565
11566 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
11567 platform.
11568
4465287d
FZ
115692009-11-24 Felix Zielcke <fzielcke@z-51.de>
11570
11571 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
11572 strncmp().
11573
62b47f22
FZ
115742009-11-24 Felix Zielcke <fzielcke@z-51.de>
11575
11576 * util/getroot.c (grub_util_is_dmraid): New function.
11577 (grub_util_get_dev_abstraction): Treat dmraid and multipath
11578 devices as normal ones, not as LVM.
11579
1eafb9b9 115802009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
11581
11582 * conf/common.rmk: Add grub-gettext_lib target and updates
11583 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
11584 LDFLAGS.
11585 * gettext/gettext.c: New file. (Reads mo files).
11586 * include/grub/file.h (grub_file_pread): New prototype.
11587 * include/grub/i18n.h (_): New prototype.
11588 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
11589 prototypes.
11590 * kern/misc.c (grub_gettext_dummy): New function.
11591 * normal/menu_text.c: Include <grub/i18n.h>.
11592 * normal/menu_text.c (print_timeout): Gettexttize string.
11593 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
11594 * po/POTFILES: Add `normal/menu_text.c'.
11595 * po/ca.po: Add new translations.
c3ea6bd4
CPE
11596 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
11597 gettext module and defines locale_dir and lang in grub.cfg.
11598 * NEWS: Add gettext support.
11599
0fdb2568
RM
116002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11601
11602 * util/hostdisk.c: Include `<grub/i18n.h>'.
11603 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
11604 (make_device_name): Rewrite using asprintf.
11605 (convert_system_partition_to_system_disk): Replace 0 with NULL.
11606 (find_system_device): If a device is not found, generate one just
11607 by reusing the OS path name.
11608 (read_device_map): Make it permissible for device.map not to exist.
11609
f515aa62
RM
116102009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11611
11612 * script/sh/execute.c: Move from here ...
11613 * script/execute.c: ... to here. Update all users.
11614 * script/sh/function.c: Move from here ...
11615 * script/function.c: ... to here. Update all users.
11616 * script/sh/lexer.c: Move from here ...
11617 * script/lexer.c: ... to here. Update all users.
11618 * script/sh/main.c: Move from here ...
11619 * script/main.c: ... to here. Update all users.
11620 * script/sh/parser.y: Move from here ...
11621 * script/parser.y: ... to here. Update all users.
11622 * script/sh/script.c: Move from here ...
11623 * script/script.c: ... to here. Update all users.
11624
f84b481b
RM
116252009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11626
11627 * configure.ac: Detect all `emu' platforms. Define
11628 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
11629 --enable-grub-emu logic. Disable include/grub/machine
11630 symlink on `emu' platforms.
11631
11632 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
11633 * gensymlist.sh.in: Likewise.
11634
11635 * include/grub/i386/coreboot/machine.h: Remove file.
11636 * include/grub/i386/efi/machine.h: Likewise.
11637 * include/grub/i386/ieee1275/machine.h: Likewise.
11638 * include/grub/i386/pc/machine.h: Likewise.
11639 * include/grub/i386/qemu/machine.h: Likewise.
11640 * include/grub/powerpc/ieee1275/machine.h: Likewise.
11641 * include/grub/sparc64/ieee1275/machine.h: Likewise.
11642 * include/grub/x86_64/efi/machine.h: Likewise.
11643
11644 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
11645 * commands/halt.c: Likewise.
11646 * commands/reboot.c: Likewise.
11647 * include/grub/autoefi.h: Likewise.
11648 * include/grub/i386/at_keyboard.h: Likewise.
11649 * include/grub/i386/kernel.h: Likewise.
11650 * include/grub/i386/loader.h: Likewise.
11651 * include/grub/i386/pc/memory.h: Likewise.
11652 * kern/dl.c: Likewise.
11653 * kern/i386/coreboot/init.c: Likewise.
11654 * loader/i386/bsd.c: Likewise.
11655 * loader/i386/linux.c: Likewise.
11656 * loader/multiboot_loader.c: Likewise.
11657 * term/i386/pc/serial.c: Likewise.
11658 * term/usb_keyboard.c: Likewise.
11659
11660 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
11661 `<grub/machine/machine.h>'
11662 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
11663 * util/misc.c: Remove `<grub/machine/machine.h>' and
11664 `<grub/machine/time.h>'.
11665
11666 * Makefile.in (enable_grub_emu): Remove variable.
11667 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
11668
11669 * conf/any-emu.rmk: New file.
11670 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
11671 (grub_emu_init.c): Move from here ...
11672 * conf/any-emu.rmk: ... to here.
11673
11674 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
11675 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
11676 * conf/any-emu.rmk: ... to here.
11677
4efeab03
RM
116782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11679
11680 * include/grub/parser.h (grub_parser_register): Document need
11681 of `name' parameter.
11682 * normal/main.c (grub_normal_read_line): Simplify prompt string.
11683 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
11684 "sh" to "grub".
11685
ea1dd8bf
RM
116862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11687
11688 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
11689 `$(XGETTEXT)'.
11690 * include/grub/i18n.h (N_): New macro.
11691 * util/mkisofs/mkisofs.h: Likewise.
11692 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
11693 around N_().
11694 (usage): Use gettext() to translate help strings when printing them.
11695
0c140626
RM
116962009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11697
11698 Based on patch from Bean
11699 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11700
11701 * video/efi_fb.c: New file.
11702 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
11703 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11704 variables.
11705 * conf/x86_64-efi.rmk: Likewise.
11706
87d58298
RM
117072009-11-22 Robert Millan <rmh.grub@aybabtu.com>
11708
11709 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
11710 * util/i386/pc/grub-setup.c: Likewise.
11711
994cc3a3
ST
117122009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11713
11714 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
11715 <hurd/fs.h>
11716 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
11717 file_get_storage_info to implement grub_guess_root_device.
11718
26a61d6a
FZ
117192009-11-21 Felix Zielcke <fzielcke@z-51.de>
11720
11721 * Makefile.in (target): Use make's builtin $(shell) function
11722 instead of calling directly $(SHELL) to create the locale directories,
11723 inside the $(foreach) function.
11724
74ff1dd5
FZ
117252009-11-21 Felix Zielcke <fzielcke@z-51.de>
11726
11727 * util/grub-mkrescue.in: Print an error and usage if output option
11728 has not been given.
11729
0b787d0e
FZ
117302009-11-21 Felix Zielcke <fzielcke@z-51.de>
11731
11732 Patch from Loïc Minier <loic.minier@ubuntu.com>.
11733 * util/grub.d/30_os-prober.in: Cope with Linux entries where
11734 root and /boot are on different devices.
11735
1164b270
RM
117362009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11737
11738 Fix build for srcdir != objdir.
11739
11740 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
11741 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
11742 $(srcdir).
11743 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
11744 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
11745 reference for input.
11746
13774a2f
RM
117472009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11748
11749 * util/grub-mkrescue.in: Use source directory direcly (without copiing
11750 or hardlinking it). Remove -J option, Joliet is not compatible with
11751 multiple source directories.
11752
efda854e
RM
117532009-11-21 Carles Pina i Estany <carles@pina.cat>
117542009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11755
11756 * util/grub-mkrescue.in: Recognize `--override-directory' option.
11757 (process_input_dir): New function. Process an arbitrary input
11758 directory.
11759 Misc adjustments to support both "override mode" and system-wide mode.
11760
6c09890c
FZ
117612009-11-20 Felix Zielcke <fzielcke@z-51.de>
11762
11763 * configure.ac (UNIFONT_BDF): Rename to ...
11764 (FONT_SOURCE): ... this. Update all users.
11765
a797824f
FZ
117662009-11-20 Felix Zielcke <fzielcke@z-51.de>
11767
11768 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
11769 to the list of unifont files to look for.
11770
cd4f42b0
RM
117712009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11772
11773 Patch from Joe Auricchio <jauricchio@gmail.com>
11774 * commands/minicmd.c (grub_mini_cmd_clear): New function.
11775 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
11776 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
11777
393c783d
FZ
117782009-11-19 Felix Zielcke <fzielcke@z-51.de>
11779
11780 * Makefile.in (install-local): Add a missing backslash.
11781
b2f1e327
FZ
117822009-11-19 Felix Zielcke <fzielcke@z-51.de>
11783
11784 * include/grub/x86_64/io.h: New file.
11785
f577f7a0
RM
117862009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11787
11788 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
11789 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
11790 Include `"progname.h"'.
11791 (main): Initialize gettext.
11792 * util/i386/pc/grub-setup.c: Gettexttize.
11793 * util/i386/pc/grub-mkimage.c: Likewise.
11794
11795 * Makefile.in (po/*.po): Redefine as ...
11796 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
11797
3bc7896c
RM
11798 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
11799
c37943b6
RM
118002009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11801
11802 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
11803 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
11804 (program_name): Remove.
11805 (main): Initialize gettext support.
6323f705
RM
11806 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
11807 Include `<libintl.h>'.
11808 (_): New macro.
c37943b6
RM
11809
11810 * util/mkisofs/eltorito.c: Gettexttize.
11811 * util/mkisofs/joliet.c: Likewise.
11812 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
11813 * util/mkisofs/multi.c: Likewise.
11814 * util/mkisofs/rock.c: Likewise.
11815 * util/mkisofs/tree.c: Likewise.
11816 * util/mkisofs/write.c: Likewise.
11817
3bc7896c
RM
11818 * po/POTFILES: Update with new files.
11819
5ce77c6e
RM
118202009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11821
11822 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
11823 * util/mkisofs/iso9660.h: Likewise.
11824 * util/mkisofs/joliet.c: Likewise.
11825 * util/mkisofs/mkisofs.c: Likewise.
11826 * util/mkisofs/mkisofs.h: Likewise.
11827 * util/mkisofs/rock.c: Likewise.
11828 * util/mkisofs/tree.c: Likewise.
11829 * util/mkisofs/write.c: Likewise.
11830
11831 * util/mkisofs/eltorito.c (rcsid): Remove.
11832 * util/mkisofs/hash.c: Likewise.
11833 * util/mkisofs/joliet.c: Likewise.
11834 * util/mkisofs/name.c: Likewise.
11835 * util/mkisofs/rock.c: Likewise.
11836 * util/mkisofs/tree.c: Likewise.
11837 * util/mkisofs/write.c: Likewise.
11838
1dabbc77
RM
118392009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11840
11841 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
11842 instead of static allocation.
11843 * util/mkisofs/match.h: Likewise.
11844
633877cb
RM
118452009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11846
3bc7896c
RM
11847 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
11848 and `util/grub.d/10_linux.in'.
633877cb
RM
11849 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
11850 translatable Shell files.
11851
af1c0c85
RM
118522009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11853
11854 * Makefile.in ($(srcdir)/aclocal.m4): New target.
11855
769ae37b
RM
118562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11857
11858 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 11859 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
11860 * util/grub.d/10_kfreebsd.in (bindir): New variable.
11861 Add gettext initialization.
11862 (kfreebsd_entry): Make menuentry output translatable.
11863
118642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11865
11866 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
11867 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
11868 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
11869 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
11870 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 11871 * po/LINGUAS: New file.
769ae37b
RM
11872
118732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11874
11875 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
11876 other things).
11877 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
11878 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
11879 bindtextdomain() calls for gettext initialization.
11880
118812009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11882
11883 * gnulib/progname.c: New file (imported from Gnulib).
11884 * gnulib/progname.h: Likewise.
11885 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11886 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
11887 (usage): Replace `progname' with `program_name'.
11888 (main): Use set_program_name() for program name initialization.
11889
118902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11891
11892 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
11893 from here ...
11894 * Makefile.in (CPPFLAGS): ... to here.
11895
118962009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11897
11898 * aclocal.m4: Move from here ...
11899 * acinclude.m4: ... to here.
11900 * autogen.sh: Add call to `aclocal'.
11901 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
11902
119032009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11904
11905 * Makefile.in (CLEANFILES): Add `po/*.mo'.
11906 (LINGUAS): New variable.
11907 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
11908 (install-local): Install MO files.
11909 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
11910 * include/grub/i18n.h: New file.
3bc7896c
RM
11911 * po/POTFILES: New file.
11912 * po/ca.po: New file.
769ae37b
RM
11913 * util/grub.d/10_linux.in (bindir): New variable.
11914 Add gettext initialization.
11915 (linux_entry): Make menuentry output translatable.
11916 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
11917 (usage): Make --help output translatable.
11918 (main): Initialize gettext.
11919
02c0a6ad
RM
119202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11921
11922 * import_gcry.py: New file (written by Vladimir with minor
11923 adjustments).
11924 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
11925 ciphers.
11926 * INSTALL: Document that Python is required for bootstrap.
11927
119282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11929
11930 Import ciphers from libgcrypt 1.4.4.
11931
11932 * lib/libgcrypt/cipher/ChangeLog
11933 * lib/libgcrypt/cipher/ac.c
11934 * lib/libgcrypt/cipher/arcfour.c
11935 * lib/libgcrypt/cipher/bithelp.h
11936 * lib/libgcrypt/cipher/blowfish.c
11937 * lib/libgcrypt/cipher/camellia-glue.c
11938 * lib/libgcrypt/cipher/camellia.c
11939 * lib/libgcrypt/cipher/camellia.h
11940 * lib/libgcrypt/cipher/cast5.c
11941 * lib/libgcrypt/cipher/cipher.c
11942 * lib/libgcrypt/cipher/crc.c
11943 * lib/libgcrypt/cipher/des.c
11944 * lib/libgcrypt/cipher/dsa.c
11945 * lib/libgcrypt/cipher/ecc.c
11946 * lib/libgcrypt/cipher/elgamal.c
11947 * lib/libgcrypt/cipher/hash-common.c
11948 * lib/libgcrypt/cipher/hash-common.h
11949 * lib/libgcrypt/cipher/hmac-tests.c
11950 * lib/libgcrypt/cipher/md.c
11951 * lib/libgcrypt/cipher/md4.c
11952 * lib/libgcrypt/cipher/md5.c
11953 * lib/libgcrypt/cipher/primegen.c
11954 * lib/libgcrypt/cipher/pubkey.c
11955 * lib/libgcrypt/cipher/rfc2268.c
11956 * lib/libgcrypt/cipher/rijndael-tables.h
11957 * lib/libgcrypt/cipher/rijndael.c
11958 * lib/libgcrypt/cipher/rmd.h
11959 * lib/libgcrypt/cipher/rmd160.c
11960 * lib/libgcrypt/cipher/rsa.c
11961 * lib/libgcrypt/cipher/seed.c
11962 * lib/libgcrypt/cipher/serpent.c
11963 * lib/libgcrypt/cipher/sha1.c
11964 * lib/libgcrypt/cipher/sha256.c
11965 * lib/libgcrypt/cipher/sha512.c
11966 * lib/libgcrypt/cipher/tiger.c
11967 * lib/libgcrypt/cipher/twofish.c
11968 * lib/libgcrypt/cipher/whirlpool.c
11969
af2f93ac
RM
119702009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11971
11972 Fix build for systems without error().
11973
11974 * gnulib/error.c: New file (imported from Gnulib).
11975 * gnulib/error.h: Likewise.
11976 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
11977 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
11978 (this variable is now used by error()).
11979
73fb3dd5
FZ
119802009-11-16 Felix Zielcke <fzielcke@z-51.de>
11981
814f5e96
FZ
11982 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
11983 instead of relying that char is signed.
73fb3dd5 11984
a691ca33
VS
119852009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11986
11987 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
11988 blocksize different from specified.
11989 (grub_pxefs_read): Likewise.
11990
2af8f0f4
FZ
119912009-11-16 Felix Zielcke <fzielcke@z-51.de>
11992
11993 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
11994
11995 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
11996 (grub_ata_readwrite): Likewise. Update 2 format strings.
11997 (grub_atapi_read): Likewise.
11998
11999 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
12000 * conf/i386.rmk (pkglib_MODULES): ... to here ...
12001 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
12002 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
12003 (ata_mod_LDFLAGS): Move from here ...
12004 * conf/i386.rmk: ... to here ...
12005 * conf/x86_64-efi.rmk: ... and here.
12006 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
12007 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
12008
83bdecaf
RM
120092009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12010
12011 Relicense multiboot.h, with RMS' blessing.
12012
12013 * include/multiboot.h: Change to X11 license.
12014
fd6fd3d7
RM
120152009-11-15 Robert Millan <rmh.grub@aybabtu.com>
12016
12017 Support --version in grub-mkisofs.
12018
12019 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
12020 (OPTION_VERSION): New macro.
12021 (ld_options): Recognize --version.
12022 (usage): Move `program_name' from here ...
12023 (program_name): ... to here. Add `static' qualifier.
12024 (main): Recognize `OPTION_VERSION'.
12025
16a88c49
FZ
120262009-11-15 Felix Zielcke <fzielcke@z-51.de>
12027
12028 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
12029 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
12030
a4158476
RM
120312009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12032
12033 Fix help2man generation for mkisofs.
12034
12035 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
12036 (usage): Send output to stdout (rather than stderr).
12037
fc2208b0
RM
120382009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12039
12040 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
12041 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12042 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
12043 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12044 (bin_SCRIPTS): Add `grub-mkfloppy'.
12045 (grub_mkfloppy_SOURCES): New variable.
12046
12047 * util/grub-mkrescue.in: New file.
12048 * util/i386/pc/grub-mkfloppy.in: New file.
12049
12050 * util/i386/coreboot/grub-mkrescue.in: Remove.
12051 * util/i386/pc/grub-mkrescue.in: Remove.
12052
8d0edf4a
RM
120532009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12054
12055 * include/grub/multiboot.h (struct grub_multiboot_header): Move
12056 from here ...
12057 * include/multiboot.h (struct multiboot_header): ... to here. Update
12058 all users.
12059 * include/grub/multiboot.h (struct grub_multiboot_info): Move
12060 from here ...
12061 * include/multiboot.h (struct multiboot_info): ... to here. Update
12062 all users.
12063 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
12064 from here ...
12065 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
12066 Update all users.
12067 * include/grub/multiboot.h (struct grub_mod_list): Move
12068 from here ...
12069 * include/multiboot.h (struct multiboot_mod_list): ... to here.
12070 Update all users.
12071
a73f5969
RM
120722009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12073
12074 * include/multiboot2.h (multiboot_word): Rename from this ...
12075 (multiboot2_word): ... to this. Update all users.
12076 (multiboot_header): Rename from this ...
12077 (multiboot2_header): ... to this. Update all users.
12078 (multiboot_tag_header): Rename from this ...
12079 (multiboot2_tag_header): ... to this. Update all users.
12080 (multiboot_tag_start): Rename from this ...
12081 (multiboot2_tag_start): ... to this. Update all users.
12082 (multiboot_tag_name): Rename from this ...
12083 (multiboot2_tag_name): ... to this. Update all users.
12084 (multiboot_tag_module): Rename from this ...
12085 (multiboot2_tag_module): ... to this. Update all users.
12086 (multiboot_tag_memory): Rename from this ...
12087 (multiboot2_tag_memory): ... to this. Update all users.
12088 (multiboot_tag_unused): Rename from this ...
12089 (multiboot2_tag_unused): ... to this. Update all users.
12090 (multiboot_tag_end): Rename from this ...
12091 (multiboot2_tag_end): ... to this. Update all users.
12092
1c8927f0
RM
120932009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12094
12095 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
12096 this platform we should support Multiboot1 first.
12097
12098 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12099 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
12100 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
12101
6e1e0d89
RM
121022009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12103
12104 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
12105 of write calls (converting them to fwrite() if they aren't already).
12106 (get_torito_desc): Likewise.
12107 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
12108
7f2b34d8
RM
121092009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12110
12111 * util/i386/pc/grub-install.in: Move from here ...
12112 * util/grub-install.in: ... to here. Update all users.
12113
c0ef3311
CW
121142009-11-11 Colin Watson <cjwatson@ubuntu.com>
12115
12116 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
12117
e1f240ff
RM
121182009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12119
12120 Support for El Torito without floppy emulation.
12121
12122 * util/mkisofs/eltorito.c: Include `<errno.h>'.
12123 (init_boot_catalog): Improve error handling.
12124 (get_torito_desc): Don't use floppy emulation unless requested by
12125 user. Patch boot information table when requested via
12126 `-boot-info-table'.
12127 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
12128 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
12129 (use_boot_info_table): New variables.
12130 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
12131 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
12132 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
12133 `--eltorito-emul-floppy'.
12134 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
12135 and `OPTION_ELTORITO_EMUL_FLOPPY'.
12136 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
12137 (use_boot_info_table, get_731): New prototypes.
12138 * util/mkisofs/write.c (get_731): New function.
12139
af7d4de5
FZ
121402009-11-11 Felix Zielcke <fzielcke@z-51.de>
12141
12142 Fix the generation of the man page.
12143
12144 * util/pc/i386/grub-install.in: Source
12145 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12146
2c55dbc0
RM
121472009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12148
12149 Large file support for grub-mkisofs.
12150
12151 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
12152 * util/mkisofs/mkisofs.c (next_extent, last_extent)
12153 (session_start): Upgrade type to `uint64_t'. Update all users.
12154 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
12155 (struct directory_entry): Upgrade type of `starting_block' and
12156 `size' to `uint64_t'. Update all users.
12157 (struct deferred): Remove unused structure.
12158 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
12159 Update all users.
12160 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
12161 file is larger than `UINT32_MAX'.
12162 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
12163 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
12164 return value.
12165 (struct deferred_write): Upgrade type of `extent' and `size' to
12166 `uint64_t'. Update all users.
12167 (last_extent_written): Upgrade type to `uint64_t'. Update all
12168 users.
12169 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
12170 Update all users. Upgrade type of `remain' to `int64_t' and
12171 `use' to `size_t'. Use error() to handle fread() errors.
12172 (write_files): Rely on write_one_file() rather than calling
12173 xfwrite() directly.
12174
6a9cead5
FZ
121752009-11-09 Felix Zielcke <fzielcke@z-51.de>
12176
12177 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
12178
4825d790
RM
121792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12180
12181 * util/mkisofs/fnmatch.c: Remove.
12182 * util/mkisofs/getopt1.c: Likewise.
12183 * util/mkisofs/getopt.c: Likewise.
12184 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
12185 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
12186 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
12187 `gnulib/getopt1.c' and `gnulib/getopt.c'.
12188 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
12189
12190 * configure.ac: Detect `mingw32msvc' host_os.
12191 Check for lstat(), getuid() and getgid().
12192
12193 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
12194 instances of `u_char' with `uint8_t'.
12195
12196 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
12197 [!HAVE_GETUID] (getuid): New function (stub).
12198 [!HAVE_GETGID] (getgid): Likewise.
12199 [!HAVE_LSTAT] (lstat): Likewise.
12200 [!S_IROTH] (S_IROTH): New macro (dummy).
12201 [!S_IRGRP] (S_IRGRP): Likewise.
12202
84b860d8
RM
122032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12204
12205 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
12206 conditional expression).
12207
66e9b712
RM
122082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12209
12210 Import from Gnulib.
12211
12212 * gnulib/fnmatch.c: New file.
12213 * gnulib/fnmatch.h: Likewise.
12214 * gnulib/fnmatch_loop.c: Likewise.
12215 * gnulib/getopt.c: Likewise.
12216 * gnulib/getopt.h: Likewise.
12217 * gnulib/getopt1.c: Likewise.
12218 * gnulib/getopt_int.h: Likewise.
12219 * gnulib/gettext.h: Likewise.
12220
34f4a5b0
RM
122212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12222
12223 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
12224 * normal/handler.c (read_handler_list): Likewise.
12225
ac451143
RM
122262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12227
12228 Misc cleanup.
12229
12230 * kern/command.c (grub_register_command_prio): Use
12231 grub_zalloc() instead of explicitly zeroing data.
12232 * kern/list.c: Include `<grub/mm.h>'.
12233 (grub_named_list_find): Replace `0' with `NULL'.
12234 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
12235 (fs_module_list): Change type to `grub_named_list_t'. Update all
12236 users.
12237 * normal/dyncmd.c (read_command_list): Add space between function
12238 call and parenthesis.
12239 * normal/handler.c (read_handler_list): Likewise.
12240
4089b167
RM
122412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12242
12243 * normal/auth.c (punishment_delay): Moved from here ...
12244 (grub_auth_strcmp): ... to here (inside function).
12245
325f5037
RM
122462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12247
12248 * include/grub/list.h (struct grub_named_list): Remove `const'
12249 qualifier from `name'.
12250 (struct grub_prio_list): Likewise.
12251
7aea29a3
RM
122522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12253
12254 * normal/auth.c: Include `<grub/time.h>'.
12255 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
12256
3fd6f044
RM
122572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12258
12259 * normal/auth.c (punishment_delay): New variable.
12260 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
12261 (grub_auth_check_authentication): Punish failed login attempts with
12262 an incremental (2^N) delay.
12263
a4cd68e4
RM
122642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12265
12266 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
12267 path with $(srcdir).
12268
7ad12f43
VS
122692009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
12272
c1129f03
RM
122732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12274
12275 * util/i386/coreboot/grub-mkrescue.in: New file.
12276 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
12277 variables.
12278
12279 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
12280 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
12281 * configure.ac: Add header and function checks to satisfy grub-mkisofs
12282 requirements.
12283 * util/mkisofs/defaults.h: New file.
12284 * util/mkisofs/eltorito.c: Likewise.
12285 * util/mkisofs/exclude.h: Likewise.
12286 * util/mkisofs/fnmatch.c: Likewise.
12287 * util/mkisofs/getopt.c: Likewise.
12288 * util/mkisofs/getopt1.c: Likewise.
12289 * util/mkisofs/hash.c: Likewise.
12290 * util/mkisofs/include/fctldefs.h: Likewise.
12291 * util/mkisofs/include/mconfig.h: Likewise.
12292 * util/mkisofs/include/prototyp.h: Likewise.
12293 * util/mkisofs/include/statdefs.h: Likewise.
12294 * util/mkisofs/iso9660.h: Likewise.
12295 * util/mkisofs/joliet.c: Likewise.
12296 * util/mkisofs/match.c: Likewise.
12297 * util/mkisofs/match.h: Likewise.
12298 * util/mkisofs/mkisofs.c: Likewise.
12299 * util/mkisofs/mkisofs.h: Likewise.
12300 * util/mkisofs/multi.c: Likewise.
12301 * util/mkisofs/name.c: Likewise.
12302 * util/mkisofs/rock.c: Likewise.
12303 * util/mkisofs/tree.c: Likewise.
12304 * util/mkisofs/write.c: Likewise.
12305
ec8bb77d
VS
123062009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
12309 being insecure.
12310
3716b12c
RM
123112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12312
12313 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
12314 `grub-mkimage' (and use $0 when possible).
12315
b97b7b91
RM
123162009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12317
12318 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
12319 error message for excessively large memory map.
12320
04114812
RM
123212009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12322
12323 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
12324 executable bit.
12325
e4eb2373
RM
123262009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12327
12328 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
12329 message for coreboot users.
12330
c926e1d5 123312009-11-07 Robert Millan <rmh.grub@aybabtu.com>
12332
12333 Fix build with GNU gold.
12334
12335 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
12336 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12337 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
12338 link addresses.
12339 * aclocal.m4: Likewise.
12340
86e5b1db 123412009-11-04 Felix Zielcke <fzielcke@z-51.de>
12342
12343 * configure.ac (AC_PREREQ): Bump to 2.59d.
12344 * INSTALL: Make it more clear when Autoconf and Ruby are
12345 needed and when to run `./autogen.sh'.
12346
246cd78f 123472009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
12348
12349 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
12350 OSes.
12351
4f9dfb37 123522009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12353
12354 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
12355
b82bd5e1 123562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12357
12358 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
12359 giving it to GNU Mach.
12360
ff1a9bca 123612009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12362
12363 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
12364 GNU partition number to get internal GRUB partition number.
12365
61697d9c 123662009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12367
12368 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
12369 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
12370
a50569e1 123712009-11-01 Robert Millan <rmh.grub@aybabtu.com>
12372
12373 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
12374 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
12375 case.
12376
5b153867 123772009-11-01 Felix Zielcke <fzielcke@z-51.de>
12378
12379 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
12380
d9e2cd70 123812009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12382
12383 Fix build problem.
12384
12385 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
12386 `-isystem=$(srcdir)/include'.
12387
805111a4 123882009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12389
12390 * util/i386/pc/grub-install.in: Remove hint that device.map should be
12391 checked (grub-install doesn't currently rely on it).
12392
fa6e945f 123932009-10-29 Robert Millan <rmh.grub@aybabtu.com>
12394
12395 Revert SVN r2660.
12396
12397 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
12398 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12399 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
12400 * conf/i386-ieee1275.rmk: Likewise.
12401 * conf/i386-pc.rmk: Likewise.
12402 * conf/powerpc-ieee1275.rmk: Likewise.
12403 * conf/sparc64-ieee1275.rmk: Likewise.
12404 * conf/x86_64-efi.rmk: Likewise.
12405
cee15086 124062009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12407
12408 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
12409
95b9239e 124102009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12411
12412 * include/grub/misc.h: Stop checking for APPLE_CC.
12413
2ed19dfd 124142009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12415
12416 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
12417 doesn't cause an infinite call loop.
12418
fdcdde19 124192009-10-28 Felix Zielcke <fzielcke@z-51.de>
12420
12421 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
12422 strings.
12423
cefabfe1 124242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12425
12426 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
12427 variable.
12428 * Makefile.in: Likewise.
12429
ed96ab6d 124302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12431
12432 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
12433
0579b753 124342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12435
12436 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
12437
478df409 124382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12439
12440 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
12441
083d1679 124422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12443
12444 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
12445 from here ...
12446 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
12447
5947ae32 124482009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12449
12450 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
12451 in $(MAKEINFO) invocation. This makes it clear in output that
12452 errors are being ignored.
12453
94180ff6 124542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12455
12456 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
12457 from here ...
12458 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12459 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
12460 * conf/i386-ieee1275.rmk: Likewise.
12461 * conf/i386-pc.rmk: Likewise.
12462 * conf/powerpc-ieee1275.rmk: Likewise.
12463 * conf/sparc64-ieee1275.rmk: Likewise.
12464 * conf/x86_64-efi.rmk: Likewise.
12465
9031b03a 124662009-10-26 Colin Watson <cjwatson@ubuntu.com>
12467
12468 * util/grub-editenv.c (main): If only a command is given, use
12469 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
12470 (usage): FILENAME is now optional and has a default.
12471
e4f6809b 124722009-10-26 Colin Watson <cjwatson@ubuntu.com>
12473
12474 Improve grub-mkconfig performance when there are several menu
12475 entries on a single filesystem.
12476
12477 * util/grub.d/10_linux.in (linux_entry): Cache the output of
12478 prepare_grub_to_access_device.
12479 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12480 * util/grub.d/30_os-prober.in: Likewise.
12481
67937d4d 124822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12483
12484 * util/grub.d/10_freebsd.in: Remove.
12485 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
12486 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
12487
ee3756cc 124882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12489
5c35048e 12490 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 12491
4dea1c6f 124922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12493
12494 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
12495 grub_util_error() call.
12496
042484d7 124972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12498
12499 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
12500 `reserved_first_sector' member.
12501 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
12502 `reserved_first_sector' to 1.
12503 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
12504 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
12505 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
12506 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
12507 filesystems which begin at first sector.
12508 (options): New option --skip-fs-probe.
12509 (main): Handle --skip-fs-probe and pass it to setup().
12510
d64448a7 125112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12512
12513 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
12514 (memset): Fix function prototype.
12515
508d42ec 125162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
125172009-10-25 Vasily Averin <vvs@parallels.com>
12518
12519 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
12520 `dirent.direntlen == 0'.
12521
b240e30c 125222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12523
12524 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
12525 `cpio'.
12526 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
12527
346e7fbe 125282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12529
12530 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
12531 `__trampoline_setup' and `__ucmpdi2'.
12532 * include/grub/powerpc/libgcc.h: Only export symbols for functions
12533 that libgcc provides.
12534
cdb308b0 125352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12536
12537 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
12538 * include/grub/sparc64/libgcc.h (memset): Likewise.
12539 * include/grub/misc.h (memset, memcmp): New function prototypes.
12540
fb26abc2 125412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12542
12543 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
12544 `cpio'.
12545 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
12546
f6693890 125472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12548
12549 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
12550 * docs/grub.cfg: Compensate for recent change in multiboot
12551 loader (since 2009-08-14 it won't pass filename to payload).
12552 * util/grub.d/10_hurd.in: Likewise.
12553
0933cdc0 125542009-10-21 Felix Zielcke <fzielcke@z-51.de>
12555
12556 * config.guess: Update to latest version from config git
12557 repository.
12558 * config.sub: Likewise.
12559
3b2fe8c2 125602009-10-20 Robert Millan <rmh.grub@aybabtu.com>
12561
12562 Fix build on sparc64.
12563
12564 * configure.ac: Perform checks for libgcc symbols before
12565 adding `-nostdlib' to LDFLAGS.
12566
46695a62 125672009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 Let user specify OpenBSD root device.
12570
12571 * loader/i386/bsd.c (openbsd_root): New variable.
12572 (openbsd_opts): New option 'root'.
12573 (OPENBSD_ROOT_ARG): New macro.
12574 (grub_openbsd_boot): Use 'openbsd_root'.
12575 (grub_cmd_openbsd): Fill 'openbsd_root'.
12576
d2b6b7fc 125772009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12578
12579 * NEWS: Misc adjustments.
12580
421bd7ac 125812009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12582
12583 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
12584
f1d29d87 125852009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12586
12587 * configure.ac: Bump version to 1.97.
12588
6f3cd880 125892009-10-16 Colin Watson <cjwatson@ubuntu.com>
12590
12591 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
12592 -mno-3dnow on x86 architectures. Some toolchains enable these
12593 features by default, but they rely on registers that aren't enabled
12594 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
12595
035f7122 125962009-10-15 Robert Millan <rmh.grub@aybabtu.com>
12597
12598 Make entry text a bit more readable.
12599
12600 * util/grub.d/10_linux.in: Add `with' before `Linux'.
12601
44998e58 126022009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12603
12604 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
12605
cd2851b3 126062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
12609 operations.
12610
c6f3b249 126112009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 * configure.ac: Add missing dollar.
12614
6b5886ba 126152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
12618
12619 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
12620 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
12621 exports.
12622 * include/grub/sparc64/libgcc.h: Likewise. Use
12623 preprocessor conditionals.
12624
e9d66f6d 126252009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12626
12627 * conf/common.rmk (grub-dumpbios): Remove rule.
12628 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
12629 * util/grub-dumpbios.in: Remove file.
12630
9155bc17 126312009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12632
12633 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
12634 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
12635
12636 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
12637 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
12638 users.
12639
12640 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
12641 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
12642 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
12643 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
12644 users.
12645
bf7f7a18 126462009-10-12 Robert Millan <rmh.grub@aybabtu.com>
12647
12648 * term/tparm.c: Switch to GPLv3.
12649
86564c26 126502009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12651
12652 * include/grub/i386/cpuid.h: Add header protection.
12653
5c936493 126542009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12655
12656 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
12657
12658 * include/grub/i386/cpuid.h: New file.
12659 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
12660 (has_longmode): Rename to ...
12661 (grub_cpuid_has_longmode): ... this. Update all users. Remove
12662 `static' attribute.
12663 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
12664 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
12665 on a CPU that doesn't implement AMD64 instruction set.
12666
186e7cf2 126672009-10-06 Colin Watson <cjwatson@ubuntu.com>
12668
12669 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
12670 that version.texi is rebuilt on version number changes.
12671
83b65c4a 126722009-10-06 Colin Watson <cjwatson@ubuntu.com>
12673
12674 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
12675 Fixes bug #27602.
12676
d244281c 126772009-10-06 Colin Watson <cjwatson@ubuntu.com>
12678
12679 * util/i386/pc/grub-install.in: Source
12680 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
12681 that the --grub-probe option will work.
12682 * util/sparc64/ieee1275/grub-install.in: Likewise.
12683
da25306d 126842009-10-05 Robert Millan <rmh.grub@aybabtu.com>
12685
12686 * configure.ac: Bump version to 1.97~beta4.
12687
e8ee83c0 126882009-10-03 Robert Millan <rmh.grub@aybabtu.com>
12689
12690 Resync grub-mkdevicemap in x86_64-efi.
12691
12692 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
12693 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
12694 `util/devicemap.c'.
12695
50dcabcf 126962009-10-01 Colin Watson <cjwatson@ubuntu.com>
12697
12698 * util/grub-editenv.c (create_envblk_file): Write new block with a
12699 .new suffix and then rename it into place, to ensure atomic
12700 creation.
12701
0e51c3a7 127022009-09-28 Robert Millan <rmh.grub@aybabtu.com>
12703
12704 Do not automatically install headers.
12705
12706 * Makefile.in (include_DATA): Remove. Update all users.
12707
31299a95 127082009-09-26 Robert Millan <rmh.grub@aybabtu.com>
12709
12710 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
12711 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
12712
12713 * util/osdetect.lua: Remove.
12714 * script/lua/lauxlib.c: Likewise.
12715 * script/lua/ldebug.c: Likewise.
12716 * script/lua/grub_main.c: Likewise.
12717 * script/lua/lauxlib.h: Likewise.
12718 * script/lua/ldebug.h: Likewise.
12719 * script/lua/ltablib.c: Likewise.
12720 * script/lua/liolib.c: Likewise.
12721 * script/lua/lstrlib.c: Likewise.
12722 * script/lua/lualib.h: Likewise.
12723 * script/lua/ldo.c: Likewise.
12724 * script/lua/ldump.c: Likewise.
12725 * script/lua/ldo.h: Likewise.
12726 * script/lua/loslib.c: Likewise.
12727 * script/lua/lundump.c: Likewise.
12728 * script/lua/grub_lib.c: Likewise.
12729 * script/lua/ldblib.c: Likewise.
12730 * script/lua/lundump.h: Likewise.
12731 * script/lua/lmem.c: Likewise.
12732 * script/lua/grub_lib.h: Likewise.
12733 * script/lua/lmathlib.c: Likewise.
12734 * script/lua/lstate.c: Likewise.
12735 * script/lua/ltm.c: Likewise.
12736 * script/lua/lvm.c: Likewise.
12737 * script/lua/lmem.h: Likewise.
12738 * script/lua/lstate.h: Likewise.
12739 * script/lua/ltm.h: Likewise.
12740 * script/lua/ltable.c: Likewise.
12741 * script/lua/lvm.h: Likewise.
12742 * script/lua/llex.c: Likewise.
12743 * script/lua/lgc.c: Likewise.
12744 * script/lua/grub_lua.h: Likewise.
12745 * script/lua/loadlib.c: Likewise.
12746 * script/lua/lfunc.c: Likewise.
12747 * script/lua/lopcodes.c: Likewise.
12748 * script/lua/lparser.c: Likewise.
12749 * script/lua/ltable.h: Likewise.
12750 * script/lua/llex.h: Likewise.
12751 * script/lua/lgc.h: Likewise.
12752 * script/lua/lfunc.h: Likewise.
12753 * script/lua/lbaselib.c: Likewise.
12754 * script/lua/lopcodes.h: Likewise.
12755 * script/lua/lparser.h: Likewise.
12756 * script/lua/lzio.c: Likewise.
12757 * script/lua/linit.c: Likewise.
12758 * script/lua/lobject.c: Likewise.
12759 * script/lua/llimits.h: Likewise.
12760 * script/lua/lstring.c: Likewise.
12761 * script/lua/lzio.h: Likewise.
12762 * script/lua/lapi.c: Likewise.
12763 * script/lua/lcode.c: Likewise.
12764 * script/lua/lua.h: Likewise.
12765 * script/lua/lobject.h: Likewise.
12766 * script/lua/lstring.h: Likewise.
12767 * script/lua/lapi.h: Likewise.
12768 * script/lua/lcode.h: Likewise.
12769 * script/lua/luaconf.h: Likewise.
12770
cb8a2c38 127712009-09-26 Colin Watson <cjwatson@ubuntu.com>
12772
12773 * docs/grub.texi (Command-line and menu entry commands): Document
12774 date and echo commands.
12775
6b9b6276 127762009-09-24 Pavel Roskin <proski@gnu.org>
12777
12778 * include/grub/kernel.h (struct grub_module_header): Remove
12779 `grub_module_header_types'. Make `type' unsigned. Make `size'
12780 32-bit on all platforms.
12781 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
12782 8-bit field. Use grub_host_to_target32() for `size'.
12783 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
12784 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
12785 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
12786
4e5a02a7 127872009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12788
12789 Fix "lost keypress" bug in at_keyboard.
12790
12791 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
12792 Checks for readyness of input buffer (without flushing it).
12793 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
12794 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
12795
c6dcedf6 127962009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12797
12798 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
12799 size check within GRUB_MACHINE_PCBIOS section.
12800
74c958b1 128012009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12802
12803 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
12804 return value.
12805 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
12806 KEYBOARD_ISREADY check.
12807 (grub_at_keyboard_checkkey): Rename to ...
12808 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
12809 Remove gratuitous cast.
12810
ff420223 128112009-09-23 Colin Watson <cjwatson@ubuntu.com>
12812
12813 * configure.ac: Call AC_PROG_MKDIR_P.
12814 * Makefile.in (docs/stamp-vti): Create docs directory. Create
12815 version.texi in $(builddir) rather than $(srcdir).
12816 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
12817 to makeinfo's @include search path.
12818
d96875df 128192009-09-23 Felix Zielcke <fzielcke@z-51.de>
12820
12821 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
12822
9b3f8365 128232009-09-23 Felix Zielcke <fzielcke@z-51.de>
12824
12825 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
12826 for `*.dpkg-new'.
12827
c44c90db 128282009-09-21 Colin Watson <cjwatson@ubuntu.com>
12829
12830 Build info documentation. Some code borrowed from Automake.
12831
12832 * configure.ac: Check for makeinfo.
12833 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
12834 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
12835 docs/version.texi.
12836 (MOSTLYCLEANFILES): Add vti.tmp.
12837 (docs/version.texi, docs/stamp-vti): Update automatically.
12838 (docs/grub.info): Build info documentation. Use --force and ignore
12839 errors for now.
12840 (all-local): Add $(INFOS).
12841 (install-local): Install info files.
12842 (uninstall): Uninstall info files.
12843 * docs/version.texi: Remove from revision control. This file is
12844 automatically generated on build now.
12845 * gendistlist.sh: Add `*.info'.
12846
e0b37bb5 128472009-09-21 Felix Zielcke <fzielcke@z-51.de>
12848
12849 * kern/term.c: Fix indentation.
12850
5a78865b 128512009-09-21 Felix Zielcke <fzielcke@z-51.de>
12852
12853 * util/hostdisk.c: Fix a comment.
12854
dace7e8a 128552009-09-20 Robert Millan <rmh.grub@aybabtu.com>
12856
12857 Fix regression introduced in r2539.
12858
12859 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
12860 to 0xA1.
12861
a83d079b 128622009-09-19 Colin Watson <cjwatson@ubuntu.com>
12863
12864 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 12865 os-prober. Under normal operation, it does not print anything to
12866 stderr; if it does, we need to debug it, and throwing away stderr
12867 makes that excessively difficult.
a83d079b 12868
be94a509 128692009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
12872
63f745e8 128732009-09-16 Robert Millan <rmh.grub@aybabtu.com>
12874
12875 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
12876 AC_LANG_PROGRAM from autoconf.
12877 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
12878 prototypes (fixes warning).
12879
12880 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
12881 `--disable-werror' was used.
12882
bbb2a70f 128832009-09-16 Robert Millan <rmh.grub@aybabtu.com>
12884
12885 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
12886 uninitialized `lastaddr'.
12887
77c24f1d 128882009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12889
0f0b8c87 12890 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 12891
07197f23 128922009-09-14 Colin Watson <cjwatson@ubuntu.com>
12893
12894 * commands/test.c (get_fileinfo): Return immediately if
12895 grub_fs_probe fails.
12896
dabf1798 128972009-09-14 José Martínez <xosemp@gmail.com>
12898
12899 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
12900
d52109a7 129012009-09-14 Colin Watson <cjwatson@ubuntu.com>
12902
12903 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
12904 output.
12905
56532179 129062009-09-13 Robert Millan <rmh.grub@aybabtu.com>
12907
12908 * configure.ac: Remove --enable-grub-pe2elf. Only build
12909 grub-pe2elf when needed by the build system itself.
12910 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
12911
8ef070f5 129122009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12913
12914 * configure.ac: Bump version to 1.97~beta3.
12915 * docs/version.texi: Likewise.
12916
61229557 129172009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12918
12919 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
12920 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
12921 from here ...
12922 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
12923 (grub_linux_setup_video): ... to here (with some adjustments).
12924
5c9f8d84 129252009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12926
12927 Fix memory corruption issue (spotted by Colin Watson).
12928
12929 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
12930 causing returned size to be stored in an incorrect memory location.
12931 Fix use of uninitialized value when storing the returned size.
12932
e8f5d6e9 129332009-09-12 Yves Blusseau <blusseau@zetam.org>
12934
12935 Change clean rules to properly remove files
12936
12937 * genmk.rb: add new clean rules
12938 * Makefile.in (clean): add the new targets
12939 (mostlyclean): likewise
12940
cda2a409 129412009-09-11 Colin Watson <cjwatson@ubuntu.com>
12942
12943 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
12944 to grub_uint64_t.
12945 * fs/ntfs.c (init_file): Understand 64-bit sizes for
12946 non-resident files.
12947
86695375 129482009-09-11 Colin Watson <cjwatson@ubuntu.com>
12949
12950 * configure.ac: Don't look for help2man when cross-compiling. Fixes
12951 part of bug #27349.
12952
8aa1541a 129532009-09-10 Felix Zielcke <fzielcke@z-51.de>
12954
12955 * util/grub-mkconfig.in: Make the created config mode 400 and
12956 print a warning if it fails.
12957
48d9bb0a 129582009-09-10 Robert Millan <rmh.grub@aybabtu.com>
12959
12960 * util/grub.d/40_custom.in: Ask user to type custom entries below
12961 comment, rather than below 'exec tail' line.
12962
3b0521be 129632009-09-10 Colin Watson <cjwatson@ubuntu.com>
12964
12965 * util/grub.d/40_custom.in: Make sure that the explanatory text is
12966 visible in grub.cfg.
12967
50051d55 129682009-09-10 Colin Watson <cjwatson@ubuntu.com>
12969
12970 * util/grub.d/40_custom.in: Make it a little clearer how to use this
12971 file.
12972
c0d34387 129732009-09-10 Felix Zielcke <fzielcke@z-51.de>
12974
12975 * docs/grub.cfg: Add an example menu entry for memtest86+.
12976
80a608f3 129772009-09-09 Felix Zielcke <fzielcke@z-51.de>
12978
a2094832 12979 * config.guess: Update to latest version from config git.
80a608f3 12980 * config.sub: Likewise.
12981
99423078 129822009-09-08 Colin Watson <cjwatson@ubuntu.com>
12983
12984 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
12985 unknown-command case. Fixes bug #27320.
12986
44454e4c 129872009-09-08 Felix Zielcke <fzielcke@z-51.de>
12988
12989 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
12990 `help' if the command exists.
12991
e30d87ad 129922009-09-06 Robert Millan <rmh.grub@aybabtu.com>
12993
12994 * INSTALL: Require GCC 4.1.3 or later.
12995
9a86f1ec 129962009-09-06 Yves Blusseau <blusseau@zetam.org>
12997
12998 * Makefile.in (RMKFILES): add i386-qemu.rmk
12999 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
13000 $(srcdir)/stamp-h.in
13001
7f26d466 130022009-09-05 Robert Millan <rmh.grub@aybabtu.com>
13003
13004 * util/grub-probe.c (probe): Comment out buggy codepath, which
13005 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
13006 should be re-enabled after 1.97.
13007
3a613259 130082009-09-05 Felix Zielcke <fzielcke@z-51.de>
13009
13010 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
13011 find searches for.
13012
197f76c7 130132009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
13016 unnecessary calls to grub_error.
13017
70ba68ce 130182009-09-04 Colin Watson <cjwatson@ubuntu.com>
13019
13020 * NEWS: Mention `keystatus' and Unicode fonts.
13021
4ff0d7a4 130222009-09-04 Robert Millan <rmh.grub@aybabtu.com>
13023
13024 * configure.ac: Bump version to 1.97~beta2.
13025 * docs/version.texi: Likewise.
13026
77c55a87 130272009-09-03 Colin Watson <cjwatson@ubuntu.com>
13028
13029 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
13030 containing unwind information in some cases where it previously did
13031 not. Use -fno-dwarf2-cfi-asm if available to restore the old
13032 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
13033 discussion.
13034
f79572cd 130352009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
13036
13037 Embedding loadenv module into grub-emu
13038
13039 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
13040 commands/loadenv.c
13041 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
13042 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
13043 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
13044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
13045 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
13046 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
13047
93a81088 130482009-09-03 Magnus Granberg <zorry@ume.nu>
13049
13050 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
13051 include -fPIE in the default specs.
13052 * configure.ac: Check if pie_possible is yes and add -fno-PIE
13053 to TARGET_CFLAGS.
13054
160034b2 130552009-09-03 Felix Zielcke <fzielcke@z-51.de>
13056
13057 * INSTALL: Note that GNU Bison 2.3 or later is required.
13058
087c07c4 130592009-09-03 Colin Watson <cjwatson@ubuntu.com>
13060
13061 * kern/i386/pc/startup.S: Fix typo.
13062
cbf978c0 130632009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
13066 according to GCS.
13067
130682009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 13069
13070 * docs/grub.texi (Naming convention): Describe one-based partition
13071 numbering.
13072 (Device syntax): Likewise.
13073 (File name syntax): Likewise.
13074 (Block list syntax): Likewise.
13075 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
13076 menu.lst.
13077 (File name syntax): Likewise.
13078 (Command-line and menu entry commands): Document acpi, blocklist,
13079 crc, export, insmod, keystatus, ls, set, and unset commands.
13080
f3e8cdfd 130812009-09-02 Colin Watson <cjwatson@ubuntu.com>
13082
13083 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
13084 to avoid implying that only one of --shift, --ctrl, or --alt may be
13085 used.
13086
c0bc232b 130872009-09-02 Colin Watson <cjwatson@ubuntu.com>
13088
13089 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
13090 rather than comparing against S_IFREG, which will almost never work.
13091
aa0f752d 130922009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13093
13094 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
13095 (write_blocklists): Likewise.
13096
ecb3166a 130972009-09-01 Colin Watson <cjwatson@ubuntu.com>
13098
13099 * script/lua/grub_lua.h (fputs): Supply a format string as the first
13100 argument to grub_printf.
13101
c403a125 131022009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 13103
13104 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 13105 non GNU test.
31aba781 13106
b5e7312c 131072009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * kern/file.c (grub_file_read): Spelling fix
13110
fe00f472 131112009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
13114 loading of headers in some cases.
13115
cc55302e 131162009-08-30 Robert Millan <rmh.grub@aybabtu.com>
13117
13118 * configure.ac: Bump version to 1.97~beta1.
13119 * docs/version.texi: Likewise.
13120
5c90cdd2 131212009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 13122
13123 * include/grub/i386/xnu.h: Add license header.
13124 include grub/err.h explicitly.
13125
c90edae4 131262009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13127
13128 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
13129 to `ufs' in the vfs.root.mountfrom kernel parameter.
13130
d8888b5c 131312009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13132
13133 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
13134
13135 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
13136 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
13137
13138 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
13139 `ARRAY_SIZE' macro.
13140
6f07b921 131412009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13142
13143 * kern/file.c (grub_file_read): Check offset.
13144 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
13145 * fs/jfs.c (grub_jfs_read_file): Likewise.
13146 * fs/ntfs.c (grub_ntfs_read): Likewise.
13147 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
13148 * fs/minix.c (grub_minix_read_file): Correct offset check.
13149 * fs/ufs.c (grub_ufs_read_file): Likewise.
13150
b4f34077 131512009-08-28 Colin Watson <cjwatson@ubuntu.com>
13152
13153 * term/i386/pc/console.c (bios_data_area): Cast
13154 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
13155
e7c69859 131562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13157
13158 1-bit optimised blitters.
13159
13160 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
13161 prototype.
13162 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13163 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13164 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13165 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13166 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13167 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13168 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
13169 function.
13170 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13171 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13172 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13173 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13174 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13175 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13176 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
13177 when possible.
13178 * video/video.c (grub_video_get_blit_format): Return
13179 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
13180
a57da43f 131812009-08-28 Colin Watson <cjwatson@ubuntu.com>
13182
13183 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
13184 the first argument to grub_printf.
13185
4cbe67e5 131862009-08-28 Colin Watson <cjwatson@ubuntu.com>
131872009-08-28 Robert Millan <rmh.grub@aybabtu.com>
13188
13189 Add `getkeystatus' terminal method. Add a new `keystatus' command
13190 to query it.
13191
13192 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
13193 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
13194 modifier key bitmasks.
13195 (struct grub_term_input): Add `getkeystatus' member.
13196 (grub_getkeystatus): Add prototype.
13197 * kern/term.c (grub_getkeystatus): New function.
13198
13199 * include/grub/i386/pc/memory.h
13200 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
13201 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
13202 Data Area layout.
13203 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
13204 (grub_console_term_input): Set `getkeystatus' member.
13205 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
13206 constants.
13207 (grub_usb_keyboard_getreport): Likewise.
13208 (grub_usb_keyboard_checkkey): Likewise.
13209 (grub_usb_keyboard_getkeystatus): New function.
13210 (grub_usb_keyboard_term): Set `getkeystatus' member.
13211
13212 * commands/keystatus.c: New file.
13213 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
13214 (keystatus_mod_SOURCES): New variable.
13215 (keystatus_mod_CFLAGS): Likewise.
13216 (keystatus_mod_LDFLAGS): Likewise.
13217 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
13218 commands/keystatus.c.
13219 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13220 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13221 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13223 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13224 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 13225
6e2a9085 132262009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 Split befs.mod and afs.mod into *_be.mod and *.mod
13229
13230 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
13231 (grub_fstest_SOURCES): Likewise.
13232 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
13233 (afs_be_mod_SOURCES): New variable.
13234 (afs_be_mod_CFLAGS): Likewise.
13235 (afs_be_mod_LDFLAGS): Likewise.
13236 (befs_be_mod_SOURCES): Likewise.
13237 (befs_be_mod_CFLAGS): Likewise.
13238 (befs_be_mod_LDFLAGS): Likewise.
13239 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
13240 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13241 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13242 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13243 (grub_emu_SOURCES): Likewise.
13244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13245 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13246 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13247 * fs/afs_be.c: New file.
13248 * fs/befs_be.c: New file.
13249 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
13250 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
13251 (U16): Replaced with ...
13252 (grub_afs_to_cpu16): ...this. All users updated.
13253 (U32): Replaced with ...
13254 (grub_afs_to_cpu32): ...this. All users updated.
13255 (U64): Replaced with ...
13256 (grub_afs_to_cpu64): ...this. All users updated.
13257 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
13258 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 13259 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 13260 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13261 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13262 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13263 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13264 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13265 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13266 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13267 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13268
32a71655 132692009-08-26 Bean <bean123ch@gmail.com>
13270
13271 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
13272 64-bit number.
13273 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13274 (grub_xfs_inode_block): Change return type to grub_uint64_t.
13275 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
13276
552bf6c5 132772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 NetBSD memory map support.
13280
13281 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
13282 (grub_netbsd_btinfo_mmap_header): New structure.
13283 (grub_netbsd_btinfo_mmap_entry): Likewise.
13284 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
13285
1ae2078c 132862009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 Enable bsd.mod on coreboot.
13289
13290 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
13291 (bsd_mod_SOURCES): New variable.
13292 (bsd_mod_CFLAGS): Likewise.
13293 (bsd_mod_LDFLAGS): Likewise.
13294 (bsd_mod_ASFLAGS): Likewise.
13295 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
13296 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
13297
beefc598 132982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 Cleanup NetBSD root support.
13301
13302 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
13303 grub_bsd_get_device.
13304 Fix typo.
13305
3b76e68b 133062009-08-25 Felix Zielcke <fzielcke@z-51.de>
13307
13308 * util/grub.d/00_header.in: Move check for the video backend of
13309 gfxterm from here ...
13310 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
13311 a suitable video backend.
13312
aea664ea 133132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 Fix breakage in grub-setup.
13316
13317 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
13318 "msdos_partition_map".
13319
ff747d50 133202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 Fix breakage in normal/auth.c.
13323
13324 * normal/auth.c (grub_iswordseparator): New function.
13325
e7e1f93f 133262009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 Authentication support.
13329
13330 * commands/password.c: New file.
13331 * conf/common.rmk (pkglib_MODULES): Add password.mod.
13332 (password_mod_SOURCES): New variable.
13333 (password_mod_CFLAGS): Likewise.
13334 (password_mod_LDFLAGS): Likewise.
13335 (normal_mod_SOURCES): Add normal/auth.c.
13336 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
13337 normal/auth.c.
13338 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13339 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13340 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13341 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13342 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13343 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13344 * include/grub/auth.h: New file.
13345 * include/grub/err.h (grub_err_t): New enum value
13346 GRUB_ERR_ACCESS_DENIED.
13347 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
13348 'users'.
13349 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
13350 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
13351 users updated.
13352 * normal/auth.c: New file.
13353 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
13354 (grub_cmdline_run): Don't allow to go to command line without
13355 authentication.
13356 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
13357 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
13358 menuentry without superuser rights.
13359 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
13360 user isn't a superuser.
13361
70f1161d 133622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 Save space by inlining misc.c functions.
13365
13366 * kern/misc.c (grub_iswordseparator): Made static.
13367 * kern/misc.c (grub_strcat): Moved from here ...
13368 * include/grub/misc.h (grub_strcat): ... here. Inlined.
13369 * kern/misc.c (grub_strncat): Moved from here ...
13370 * include/grub/misc.h (grub_strncat): ... here. Inlined.
13371 * kern/misc.c (grub_strcasecmp): Moved from here ...
13372 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
13373 * kern/misc.c (grub_strncasecmp): Moved from here ...
13374 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
13375 * kern/misc.c (grub_isalpha): Moved from here ...
13376 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
13377 * kern/misc.c (grub_isdigit): Moved from here ...
13378 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
13379 * kern/misc.c (grub_isgraph): Moved from here ...
13380 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
13381 * kern/misc.c (grub_tolower): Moved from here ...
13382 * include/grub/misc.h (grub_tolower): ... here. Inlined.
13383
48e40bff 133842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * script/sh/function.c (grub_script_function_find): Cut error message
13387 not to flood terminal.
13388 * script/sh/lexer.c (grub_script_yylex): Remove command line length
13389 limit.
13390 * script/sh/script.c (grub_script_arg_add): Duplicate string.
13391
c385bfc3 133922009-08-24 Colin Watson <cjwatson@ubuntu.com>
13393
13394 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
13395 `report' grub_uint8_t *.
13396 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
13397 Use a 50-millisecond timeout rather than just repeating
13398 grub_usb_keyboard_getreport 50 times.
13399 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
13400
2d21e3e8 134012009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 Rename *_partition_map to part_*
13404
13405 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
13406 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
13407 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
13408 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
13409 All users updated.
13410 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
13411 All users updated.
13412 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
13413 * util/grub-probe.c (probe_partmap): Don't transform partition name
13414 to get module name.
13415
dd103c4e 134162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 Fix OpenBSD and NetBSD support.
13419
13420 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
13421 memory address conflict.
13422 (OPENBSD_MMAP_ACPI): New definition.
13423 (OPENBSD_MMAP_NVS): Likewise.
13424 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
13425 and OPENBSD_MMAP_NVS.
13426 Add memory map terminator
13427 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 13428 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 13429
16c84d74 134302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13431
13432 Let user specify NetBSD root device.
13433
13434 * loader/i386/bsd.c (netbsd_root): New variable.
13435 (netbsd_opts): New option 'root'.
13436 (NETBSD_ROOT_ARG): New macro.
13437 (grub_netbsd_boot): Use 'netbsd_root'.
13438 (grub_bsd_unload): Free 'netbsd_root'.
13439 (grub_cmd_netbsd): Fill 'netbsd_root'.
13440
adb29902 134412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 Support for 64-bit NetBSD.
13444
13445 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
13446 point when booting non-FreeBSD.
13447
f5ae9f74 134482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 Support --no-smp and --no-acpi for NetBSD.
13451
13452 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
13453 (NETBSD_AB_NOACPI): Likewise.
13454 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
13455 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
13456
de74f136 134572009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
13460 errors.
13461 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
13462 errors. Call grub_error when needed.
13463
e9a925da 134642009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * commands/search.c (search_fs): Try searching without autoload first.
13467 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13468 filesystem module explicitly for faster booting.
13469
5174302b 134702009-08-23 Colin Watson <cjwatson@ubuntu.com>
13471
13472 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
13473
c8c80635 134742009-08-23 Colin Watson <cjwatson@ubuntu.com>
13475
13476 * util/grub.d/30_os-prober.in: Disable os-prober if
13477 `GRUB_DISABLE_OS_PROBER' was set to true.
13478
71acf5e5 134792009-08-23 Robert Millan <rmh.grub@aybabtu.com>
13480
13481 * partmap/pc.c: Rename to ...
13482 * partmap/msdos.c: ... this. Update all users.
13483 (grub_pc_partition_map): Rename to ...
13484 (grub_msdos_partition_map): ... this. Update all users.
13485
13486 * parttool/pcpart.c: Rename to ...
13487 * parttool/msdospart.c: ... this. Update all users.
13488
13489 * include/grub/pc_partition.h: Rename to ...
13490 * include/grub/msdos_partition.h: ... this. Update all users.
13491 (grub_pc_partition_bsd_entry): Rename to ...
13492 (grub_msdos_partition_bsd_entry): ... this. Update all users.
13493 (grub_pc_partition_disk_label): Rename to ...
13494 (grub_msdos_partition_disk_label): ... this. Update all users.
13495 (grub_pc_partition_entry): Rename to ...
13496 (grub_msdos_partition_entry): ... this. Update all users.
13497 (grub_pc_partition_mbr): Rename to ...
13498 (grub_msdos_partition_mbr): ... this. Update all users.
13499 (grub_pc_partition): Rename to ...
13500 (grub_msdos_partition): ... this. Update all users.
13501 (grub_pc_partition_is_empty): Rename to ...
13502 (grub_msdos_partition_is_empty): ... this. Update all users.
13503 (grub_pc_partition_is_extended): Rename to ...
13504 (grub_msdos_partition_is_extended): ... this. Update all users.
13505 (grub_pc_partition_is_bsd): Rename to ...
13506 (grub_msdos_partition_is_bsd): ... this. Update all users.
13507
13508 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
13509 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
13510 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
13511 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
13512 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
13513 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
13514 (gpt_mod_LDFLAGS): Rename to ...
13515 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
13516 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
13517 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
13518 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
13519 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
13520 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
13521 (part_gpt_mod_LDFLAGS): ... this.
13522 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
13523 `pcpart.mod' to `msdospart.mod'.
13524 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
13525 to ...
13526 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
13527 (msdospart_mod_LDFLAGS): ... this.
13528
c11fded5 135292009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
13532 (openbsd_opts): Likewise.
13533 (netbsd_opts): Likewise.
13534 (freebsd_flags): Added 0 terminator.
13535 (openbsd_flags): Likewise.
13536 (netbsd_flags): Likewise.
13537 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
13538 (grub_cmd_freebsd): Transformed into extended command.
13539 (grub_cmd_openbsd): Likewise.
13540 (grub_cmd_netbsd): Likewise.
13541 (cmd_freebsd): Changed type to grub_extcmd_t.
13542 (cmd_openbsd): Likewise.
13543 (cmd_netbsd): Likewise.
13544 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
13545 grub_cmd_openbsd as extended commands.
13546 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
13547 cmd_netbsd and cmd_openbsd
13548
11d1c769 135492009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
13552
7a9094e5 135532009-08-21 Pavel Roskin <proski@gnu.org>
13554
5496c37e 13555 * Makefile.in (install-local): When checking if a file is in the
13556 build directory, use "test -e" to detect symlinks.
13557
7a9094e5 13558 * Makefile.in (install-local): Remove all files in
13559 $(DESTDIR)$(pkglibdir) before installing new files there.
13560
e53cea11 135612009-08-18 Felix Zielcke <fzielcke@z-51.de>
13562
13563 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
13564 grub-mkelfimage.
13565
9aced544 135662009-08-18 Felix Zielcke <fzielcke@z-51.de>
13567
13568 * util/grub-mkconfig.in: Don't use gfxterm by default if not
13569 explicitly specified by the user.
13570
b7da6bab 135712009-08-18 Pavel Roskin <proski@gnu.org>
13572
13573 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
13574 grub_uint8_t pointer for data.
13575 * include/grub/fbutil.h (struct grub_video_fbblit_info):
13576 Likewise.
13577 * video/fb/fbutil.c: Remove unnecessary casts.
13578
19f1b335 135792009-08-17 Michal Suchanek <hramrach@centrum.cz>
13580
13581 VBE cleanup.
13582
13583 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
13584 (grub_vbe_set_video_mode): Save active mode info
13585 only after setting the mode.
13586 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
13587 second argument.
13588
2f467aa9 135892009-08-17 Michal Suchanek <hramrach@centrum.cz>
13590
13591 Rename variables for clarity.
13592
13593 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
13594 (active_vbe_mode_info): ... this. All users updated.
13595 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
13596 All users updated.
13597 (initial_mode): Rename to ...
13598 (initial_vbe_mode): ... this. All users updated.
13599 (mode_in_use): Rename to ..
13600 (vbe_mode_in_use): ... this. All users updated.
13601 (mode_list): Rename to ..
13602 (vbe_mode_list): ... this. All users updated.
13603 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
13604 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
13605 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
13606 'mode_list_size' to 'vbe_mode_list_size'.
13607 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
13608 'best_mode_info' to 'best_vbe_mode_info' and
13609 'best_mode' to 'best_vbe_mode'
13610
6025fcd7 136112009-08-17 Michal Suchanek <hramrach@centrum.cz>
13612
13613 Remove duplicate grub_video_fb_get_video_ptr.
13614
13615 * include/grub/fbutil.h (get_data_ptr): Rename to ...
13616 (grub_video_fb_get_video_ptr): ... this.
13617 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
13618 * video/fb/fbutil.c: Add comment about addressing.
13619 (get_data_ptr): Rename to ...
13620 (grub_video_fb_get_video_ptr): ... this. All users updated.
13621 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
13622
cc8c6faf 136232009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13624
13625 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
13626 grub_dprintf() that was just added.
13627
08aa61f0 136282009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13629
13630 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
13631 (DEFAULT_VIDEO_MODE): Remove macros.
13632 (grub_linux_boot): Remove assumption that Linux has FB support,
13633 and use "text" as default video mode.
13634
7cef4f75 136352009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
13638 grub_dprintf.
13639 * fs/fat.c (grub_fat_read_data): Likewise.
13640
e1f39873 136412009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
13644 payload.
13645 (grub_module): Likewise.
13646
c166d79e 136472009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
13650 mbi->cmdline but free playground.
13651
c60cee8e 136522009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 Handle group offset on UFS1.
13655
13656 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
13657 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
13658
c0d8b5d4 136592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13660
13661 Split ufs.mod into ufs1.mod and ufs2.mod.
13662
13663 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
13664 (grub_fstest_SOURCES): Likewise.
13665 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
13666 (ufs_mod_SOURCES): Remove.
13667 (ufs_mod_CFLAGS): Likewise.
13668 (ufs_mod_LDFLAGS): Likewise.
13669 (ufs1_mod_SOURCES): New variable.
13670 (ufs1_mod_CFLAGS): Likewise.
13671 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 13672 (ufs2_mod_SOURCES): New variable.
13673 (ufs2_mod_CFLAGS): Likewise.
13674 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 13675 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
13676 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13677 Likewise.
13678 (grub_emu_SOURCES): Likewise.
13679 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13680 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13681 (grub_setup_SOURCES): Likewise.
13682 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13683 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
13684 (grub_setup_SOURCES): Likewise.
13685 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13686 Likewise.
13687 * fs/ufs2.c: New file.
13688 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
13689
d3539132 136902009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13691
13692 Framebuffer split.
13693
13694 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
13695 subsystem at the end.
13696 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
13697 (video_fb_mod_SOURCES): New variable.
13698 (video_fb_mod_CFLAGS): Likewise.
13699 (video_fb_mod_LDFLAGS): Likewise.
13700 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
13701 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
13702 * video/i386/pc/vbeblit.c: Moved from here ...
13703 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
13704 * video/i386/pc/vbefill.c: Moved from here ...
13705 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
13706 * video/i386/pc/vbeutil.c: Moved from here ...
13707 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
13708 * include/grub/i386/pc/vbeblit.h: Moved from here ...
13709 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
13710 * include/grub/i386/pc/vbefill.h: Moved from here ...
13711 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
13712 * include/grub/i386/pc/vbeutil.h: Moved from here ...
13713 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
13714 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
13715 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
13716 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
13717 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
13718 (grub_video_adapter): Added 'get_info_and_fini'.
13719 (grub_video_get_info_and_fini): New prototype.
13720 (grub_video_set_mode): make modestring const char *.
13721 * loader/i386/linux.c (grub_linux_setup_video): Use
13722 grub_video_get_info_and_fini.
13723 (grub_linux_boot): Move modesetting just before booting.
13724 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
13725 grub_video_get_info_and_fini.
13726 * video/i386/pc/vbe.c: Moved framebuffer part ...
13727 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
13728 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
13729 grub_video_fbstd_colors and grub_video_fb_set_palette.
13730 (grub_video_vbe_init): Clear 'framebuffer' variable and use
13731 grub_video_fb_init.
13732 (grub_video_vbe_fini): Use grub_video_fb_fini.
13733 (grub_video_vbe_setup): Use framebuffer.render_target instead of
13734 render_target and use grub_video_fb_set_active_render_target and
13735 grub_video_fb_set_palette.
13736 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
13737 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
13738 (grub_video_vbe_adapter): Use framebuffer.
13739 * video/video.c (grub_video_get_info_and_fini): New function.
13740 (grub_video_set_mode): Make modestring const char *.
13741 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
13742 values are already initialised.
13743
d404ee56 137442009-08-14 Pavel Roskin <proski@gnu.org>
13745
13746 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
13747 ABS and APPLE_CC.
13748 * boot/i386/pc/diskboot.S: Likewise.
13749 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
13750 sectors allow compilation on MacOSX.
13751 * conf/i386-pc.rmk: Enable unconditional compilation of
13752 lnxboot.img.
13753
9a10df16 137542009-08-13 Colin Watson <cjwatson@ubuntu.com>
13755
13756 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
13757 * util/grub.d/00_header.in: Enter interruptible sleep if
13758 GRUB_HIDDEN_TIMEOUT is set.
13759
be3c9ca7 137602009-08-13 Yves Blusseau <blusseau@zetam.org>
13761
13762 * include/grub/symbol.h: Add the LOCAL macro.
13763 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
13764 starting with "L_".
13765
1f9e557e 137662009-08-13 Pavel Roskin <proski@gnu.org>
13767
9ca62843 13768 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
13769 any modern compilers we support.
13770
1f9e557e 13771 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
13772 Use local labels starting with "L_" so that Apple assembler
13773 knows they are local.
13774
81623db6 137752009-08-10 Robert Millan <rmh.grub@aybabtu.com>
13776
13777 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
13778 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
13779 (bsd_kernel_types): ... this enum.
13780
13781 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
13782 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
13783 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
13784
13785 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
13786 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
13787 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
13788 messages.
13789
f5d35e7a 137902009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13791
13792 * util/grub-dumpdevtree: Moved from here ...
13793 * util/i386/efi/grub-dumpdevtree: ... to here.
13794 (hexify): New function. Converts a string to its hex version.
13795 Generate hex versions of "efi" and "device-properties" by calling
13796 hexify() on the ASCII strings rather than by hardcoding numbers.
13797
d1e1d527 137982009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13799
13800 * fs/jfs.c: Update copyright year.
13801
1ebbe064 138022009-08-08 Felix Zielcke <fzielcke@z-51.de>
13803
13804 * util/grub.d/00_header.in: Fix a comment.
13805 * util/grub.d/10_linux.in: Likewise.
13806 * util/grub.d/10_windows.in: Likewise.
13807 * util/grub.d/10_hurd.in: Likewise.
13808
a78c8d24 138092009-08-08 Felix Zielcke <fzielcke@z-51.de>
13810
13811 * util/grub-mkconfig.in: Allow the user to specify the used font
13812 with GRUB_FONT.
13813
29a6b9e8 138142009-08-08 Pavel Roskin <proski@gnu.org>
13815
b5f16cc4 13816 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
13817 available, xfs.mod needs it now.
13818
2f5cb827 13819 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
13820 the "g" modifier in sed when the intention is to strip something
13821 once. This fixes comparison of kernels with multiple dashes.
13822
29a6b9e8 13823 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
13824 on it. Add missing space before closing bracket. Fix
13825 misleading formatting.
13826
892a3d98 138272009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13828
13829 * docs/grub.texi: Major overhaul. Remove all sections that are
13830 specific to GRUB Legacy, or mostly composed of Legacy-specific
13831 information.
13832
ed94253f 138332009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13834
13835 * docs/version.texi: New file. Provides version information for
13836 grub.texi.
13837
126d6628 138382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13839
13840 * docs/grub.texi: Update CVS information to SVN.
13841 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
13842
998b5aa9 138432009-08-07 Felix Zielcke <fzielcke@z-51.de>
13844
13845 * util/grub-mkconfig.in: Remove a wrong `fi'.
13846
818e094a 138472009-08-07 Felix Zielcke <fzielcke@z-51.de>
13848
13849 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
13850 (grub_jfs_uuid): New function.
13851 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
13852
b969c52f 138532009-08-07 Felix Zielcke <fzielcke@z-51.de>
13854
13855 * util/grub-mkconfig_lib.in (font_path): Move the functionality
13856 of it to ...
13857 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
13858 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
13859
7a4894cc 138602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13861
13862 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
13863 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
13864 Update all users.
13865
13866 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
13867 not just "vmlinu[zx]".
13868 Moved from here ...
13869 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
13870 all users.
13871
13872 * util/grub.d/10_linux.in (find_latest): Moved from here ...
13873 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
13874 all users.
13875
4e2171f8 138762009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13877
13878 * util/grub.d/10_freebsd.in: Use an absolute device path for
13879 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
13880
6dcfcb32 138812009-08-06 Felix Zielcke <fzielcke@z-51.de>
13882
13883 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
13884 handling of multiple abstraction modules.
13885
f56a8756 138862009-08-04 Robert Millan <rmh.grub@aybabtu.com>
13887
13888 Fix a bug resulting in black screen when loading Linux using a
13889 packed video mode.
13890
13891 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
13892 function.
13893
13894 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
13895 (grub_vbe_bios_getset_dac_palette_width): New function.
13896 (grub_vbe_bios_get_dac_palette_width)
13897 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
13898 grub_vbe_bios_getset_dac_palette_width()).
13899
13900 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
13901 check for return status.
13902 (grub_vbe_get_video_mode_info): When getting information for a packed
13903 mode (<= 8 bpp), obtain DAC palette width using
13904 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
13905 {red,green,blue}_mark_size.
13906
222671b2 139072009-08-04 Felix Zielcke <fzielcke@z-51.de>
13908
ecb1a6d9 13909 * commands/search.c (options): Fix help output to match actual code.
222671b2 13910
f84114f5 139112009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
13912
13913 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
13914 of homegrown code.
13915
bd288a20 139162009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 13917
13918 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
13919 on XFS or ReiserFS.
13920
8aab5e25 139212009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13922
13923 Support Apple partition map with sector size different from 512 bytes.
13924
13925 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
13926 (apple_partition_map_iterate): Respect 'aheader.blocksize'
13927 and 'apart.partmap_size'.
13928
6ad6258a 139292009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
139302009-08-01 Robert Millan <rmh.grub@aybabtu.com>
13931
13932 Fix cpuid command.
13933
13934 * commands/i386/cpuid.c (options): New variable.
13935 (grub_cmd_cpuid): Return real error.
13936 (GRUB_MOD_INIT(cpuid)): Declare options.
13937
67459bc6 139382009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
13939
13940 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
13941 valid.
13942
fbc6ab54 139432009-07-31 Bean <bean123ch@gmail.com>
13944
13945 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
13946 log2_inode.
13947 (grub_fshelp_node): Move inode field to the end.
13948 (grub_xfs_data): Remove inode field.
13949 (grub_xfs_inode_block): Calculate inode size using sblock.
13950 (grub_xfs_inode_offset): Likewise.
13951 (grub_xfs_read_inode): Calculate inode size using sblock.
13952 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
13953 (grub_xfs_iterate_dir): Calculate inode size using sblock.
13954 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
13955 to match inode size.
13956 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
13957 not accessible when data is null.
13958 (grub_xfs_open): Likewise.
13959
f45d6cfc 139602009-07-31 Bean <bean123ch@gmail.com>
13961
13962 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
13963 Don't change pv->disk if it's already set.
13964
13965 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
13966 (grub_raid_register): ... here.
13967 (grub_raid_rescan): Removed.
13968
13969 * include/grub/raid.h (grub_raid_rescan): Removed.
13970
13971 * util/grub-fstest.c: Remove include file <grub/raid.h>.
13972 (fstest): Replace grub_raid_rescan with module fini function followed
13973 by init function.
13974
13975 * util/grub-probe.c: Add include file <grub/raid.h>.
13976 (probe_raid_level): New function.
13977 (probe): Detect abstraction by walking the disk device, support two
13978 level of abstraction (LVM on RAID) when detecting partition map.
13979
24443b5a 139802009-07-31 Pavel Roskin <proski@gnu.org>
13981
13982 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
13983 to grub_zalloc(), it was erroneous.
13984 Reported by Bean <bean123ch@gmail.com>
13985
a275d9e7 139862009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 13989 embedding zone, not only the first one.
a275d9e7 13990
56c5a47f 139912009-07-29 Joe Auricchio <jauricchio@gmail.com>
13992
13993 * term/gfxterm.c (clear_char): New function.
13994 (grub_virtual_screen_setup): Use clear_char.
13995 (scroll_up): Likewise.
13996 (grub_virtual_screen_cls): Likewise.
13997
67bb323a 139982009-07-29 Felix Zielcke <fzielcke@z-51.de>
13999
14000 * util/deviceiter.c (get_acceleraid_disk_name): New static
14001 function.
14002 (grub_util_iterate_devices): Handle Accelraid devices.
14003 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
14004
388a7c75 140052009-07-28 Robert Millan <rmh.grub@aybabtu.com>
14006
14007 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
14008 separator for the suggested gfxpayload string (';' collides with the
14009 parser and needs escaping).
14010
3bb7abcf 140112009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
14014 Clear direction flag before jumping to OS.
14015 (grub_multiboot2_real_boot): Likewise.
14016
2ddd36d7 140172009-07-28 Felix Zielcke <fzielcke@z-51.de>
14018
14019 * util/i386/pc/grub-install: Fix parsing of --disk-module
14020 option.
14021
c521b62b 140222009-07-28 Felix Zielcke <fzielcke@z-51.de>
14023
14024 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
14025 when embedding.
14026
880e0a0c 140272009-07-26 Felix Zielcke <fzielcke@z-51.de>
14028
14029 * util/grub-mkconfig.in (package_version): New variable.
14030 Use it do display the version.
14031
2366e356 140322009-07-25 Felix Zielcke <fzielcke@z-51.de>
14033
14034 * kern/file.c (grub_file_open): Revert to previous check with
14035 grub_errno.
14036
7ad8c80e 140372009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
14040 from help line. It's out of sync with code.
14041
72b9658b 140422009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
14045 entries on failed boot.
14046
77435277 140472009-07-25 Felix Zielcke <fzielcke@z-51.de>
14048
14049 * kern/file.c (grub_file_open): Fix an error check.
14050
fcaa8b21 140512009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
14052
35d16c74 14053 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
14054 partition map couldn't be identified.
fcaa8b21 14055
48904cd1 140562009-07-23 Pavel Roskin <proski@gnu.org>
14057
ef3c317f 14058 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
14059 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
14060 case of little endian words becomes just an optimization.
14061 Respect const modifier.
ad8ea1f4 14062 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 14063
48904cd1 14064 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
14065 to avoid loss of upper bits if align is unsigned and shorter
14066 than addr.
14067
260c9a89 140682009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 UUID support for UFS
14071
14072 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
14073 (grub_ufs_uuid): New function.
14074 (grub_ufs_fs): add .uuid
14075
f76ce889 140762009-07-21 Pavel Roskin <proski@gnu.org>
14077
14078 * kern/dl.c (grub_dl_check_header): Make static.
14079
6a6cbcaf 140802009-07-21 Felix Zielcke <fzielcke@z-51.de>
14081
14082 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
14083 add drivemap for Vista. It breaks Windows 7.
14084
cffcddb2 140852009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
14088 128 bytes
14089
1ef44b80 140902009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 Add BFS support
14093
14094 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
14095 (grub_fstest_SOURCES): Likewise.
14096 (pkglib_MODULES): Add befs.mod.
14097 (befs_mod_SOURCES): New variable.
14098 (befs_mod_CFLAGS): Likewise.
14099 (befs_mod_LDFLAGS): Likewise.
14100 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14101 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14102 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14103 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14104 (grub_setup_SOURCES): Likewise.
14105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14106 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14107 (grub_setup_SOURCES): Likewise.
14108 * fs/befs.c: New file.
14109 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
14110 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
14111 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
14112 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
14113 (B_KEY_INDEX_ALIGN): New declaration.
14114 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
14115 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
14116 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
14117 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
14118 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
14119 (grub_afs_mount) [MODE_BFS]: Likewise.
14120 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
14121 (grub_afs_fs): Use GRUB_AFS_FSNAME
14122 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
14123 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
14124 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
14125 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
14126
4f253044 141272009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
14128
14129 * util/getroot.c (find_root_device): Add support for MacOSX.
14130 * util/hostdisk.c: Likewise.
14131
57a55913 141322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14133
14134 * font/font.c (find_glyph): Check whether a font is present to avoid
14135 segmentation fault.
75421ca9 14136
141372009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 14138
14139 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
14140
e98cd0c2 141412009-07-20 Pavel Roskin <proski@gnu.org>
14142
14143 * configure.ac: Trim excessively wordy excuses.
14144
1d2d169a 141452009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 Add symlink, mtime and label support to AtheFS.
14148
14149 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
14150 (grub_afs_iterate_dir): Handle symlinks.
14151 (grub_afs_open): Use grub_afs_read_symlink.
14152 (grub_afs_dir): Likewise.
14153 Pass mtime.
14154 (grub_afs_label): New function.
14155 (grub_afs_fs): Add grub_afs_label.
14156 (grub_afs_read_symlink): New function.
14157
186f3189 141582009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 Fix AtheFS support.
14161
14162 * fs/afs.c: Fix comments style.
14163 (grub_afs_blockrun): Declare as packed.
14164 (grub_afs_datastream): Likewise.
14165 (grub_afs_bnode): Likewise.
14166 (grub_afs_btree): Likewise.
14167 (grub_afs_sblock): Likewise.
14168 Declare `name' as char.
14169 (grub_afs_inode): Declare as packed.
14170 Change void *vnode to grub_uint32_t unused.
14171 (grub_afs_iterate_dir): Check that key_size is positive.
14172 (grub_afs_mount): Don't read superblock twice.
75421ca9 14173 (grub_afs_dir): Don't free node in case of error,
186f3189 14174 grub_fshelp_find_file already handles this.
14175 (grub_afs_open): Likewise.
14176
5680109e 141772009-07-19 Pavel Roskin <proski@gnu.org>
14178
14179 * Makefile.in: Remove LIBLZO and enable_lzo.
14180 * conf/i386-pc.rmk: Remove lzo support.
14181 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
14182 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
14183 support.
14184 * kern/i386/pc/lzo1x.S: Remove.
14185 * kern/i386/pc/startup.S: Remove lzo support.
14186 * util/i386/pc/grub-mkimage.c: Likewise.
14187
ac70fa32 141882009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
14189
14190 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
14191 * fs/xfs.c (grub_xfs_dir): Likewise.
14192 * fs/afs.c (grub_afs_dir): Likewise.
14193 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
14194 (grub_iso9660_open): Likewise.
14195 * fs/jfs.c (grub_jfs_open): Likewise.
14196 * fs/ext2.c (grub_ext2_dir): Likewise.
14197 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
14198 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 14199
eab58da2 142002009-07-16 Pavel Roskin <proski@gnu.org>
14201
d2838156 14202 * configure.ac: Never add "-c" to CFLAGS.
14203
55c70904 14204 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
14205
43e6200c 14206 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
14207 grub_cv_cc_efiemu should be used.
14208
ce7a733d 14209 * configure.ac: Typo fixes.
14210
eab58da2 14211 * kern/mm.c (grub_zalloc): New function.
14212 (grub_debug_zalloc): Likewise.
14213 * include/grub/mm.h: Declare grub_zalloc() and
14214 grub_debug_zalloc().
14215 * util/misc.c (grub_zalloc): New function.
14216 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
14217 instead of grub_malloc(), remove unneeded initializations.
14218 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
14219 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
14220 * commands/parttool.c (grub_cmd_parttool): Likewise.
14221 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14222 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
14223 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
14224 * disk/usbms.c (grub_usbms_finddevs): Likewise.
14225 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
14226 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
14227 (grub_cmd_efiemu_pnvram): Likewise.
14228 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
14229 * fs/iso9660.c (grub_iso9660_mount): Likewise.
14230 (grub_iso9660_iterate_dir): Likewise.
14231 * fs/jfs.c (grub_jfs_opendir): Likewise.
14232 * fs/ntfs.c (list_file): Likewise.
14233 (grub_ntfs_mount): Likewise.
14234 * kern/disk.c (grub_disk_open): Likewise.
14235 * kern/dl.c (grub_dl_load_core): Likewise.
14236 * kern/elf.c (grub_elf_file): Likewise.
14237 * kern/env.c (grub_env_context_open): Likewise.
14238 (grub_env_set): Likewise.
14239 (grub_env_set_data_slot): Likewise.
14240 * kern/file.c (grub_file_open): Likewise.
14241 * kern/fs.c (grub_fs_blocklist_open): Likewise.
14242 * loader/i386/multiboot.c (grub_module): Likewise.
14243 * loader/xnu.c (grub_xnu_create_key): Likewise.
14244 (grub_xnu_create_value): Likewise.
14245 * normal/main.c (grub_normal_add_menu_entry): Likewise.
14246 (read_config_file): Likewise.
14247 * normal/menu_entry.c (make_screen): Likewise.
14248 * partmap/sun.c (sun_partition_map_iterate): Likewise.
14249 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
14250 * script/sh/script.c (grub_script_parse): Likewise.
14251 * video/bitmap.c (grub_video_bitmap_create): Likewise.
14252 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14253 * video/readers/png.c (grub_png_output_byte): Likewise.
14254 (grub_video_reader_png): Likewise.
14255
830afef7 142562009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 14257
14258 Enable all targets that can be built by default
14259
830afef7 14260 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 14261 grub-mkfont and grub-fstest if they can be built
14262
ee293aee 142632009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14264
14265 Fix hang and segmentation fault in grub-emu-usb
14266
14267 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
14268 * util/usb.c (grub_libusb_devices): likewise
14269 (grub_libusb_init): rename to ...
14270 (GRUB_MOD_INIT (libusb)):...this
14271 (grub_libusb_fini): rename to ..
14272 (GRUB_MOD_FINI (libusb)):...this
14273 * disk/usbms.c (grub_usbms_transfer): fix retry logic
14274 * include/grub/disk.h (grub_raid_init): removed, it's useless
14275 (grub_raid_fini): likewise
14276 (grub_lvm_init): likewise
14277 (grub_lvm_fini): likewise
14278 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
14279 by grub_init_all
14280
94414221 142812009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14282
14283 Fix libusb
14284
14285 * Makefile.in (LIBUSB): new macro
14286 * genmk.rb (Utility/print_tail): new method
14287 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
14288 (top level): call util.print_tail at the end.
14289
59ade63d 142902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14291
14292 Make FreeBSD accept zpool.cache
14293
14294 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
14295 type is /boot/zfs/zpool.cache
14296
a58da8c7 142972009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14298
14299 Fix 64-bit efiemu
14300
14301 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
14302 correct wrong typedef
14303 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
14304
20591577 143052009-07-15 Pavel Roskin <proski@gnu.org>
14306
560ca572 14307 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
14308 * kern/disk.c (struct grub_disk_cache): Likewise.
14309
e8e8e4fd 14310 * commands/probe.c (options): Typo fix.
14311
fde24e10 14312 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
14313 Increase to 0x5a to accommodate FAT32. Adjust other offsets
14314 accordingly.
14315 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
14316
379c54c1 14317 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
14318 the end of "Error" to make the message more readable.
14319
7bd8f5bf 14320 * boot/i386/pc/boot.S (kernel_segment): Remove.
14321 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
14322 for destination.
14323
40b132c5 14324 * boot/i386/pc/boot.S (boot_version): Remove.
14325 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14326 Remove.
14327
20591577 14328 * include/grub/i386/pc/boot.h: Sort all offsets.
14329 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
14330 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
14331 * boot/i386/pc/boot.S: Assert location of every offset listed in
14332 include/grub/i386/pc/boot.h.
14333
2df32b2c 143342009-07-13 Pavel Roskin <proski@gnu.org>
14335
44b5d879 14336 * include/grub/i386/coreboot/machine.h: Rename
14337 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
14338 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
14339 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
14340
17dc3751 14341 * kern/dl.c: Force native word size to suppress warnings when
14342 compiling grub-emu.
14343
2df32b2c 14344 * kern/device.c (grub_device_iterate): Change struct part_ent to
14345 hold the name, not a pointer to it. Use one grub_malloc() per
14346 partition, not two. Free partition_name if grub_malloc() fails.
14347 Set ents to NULL only before grub_partition_iterate() is called.
14348
75c59f59 143492009-07-11 Bean <bean123ch@gmail.com>
14350
14351 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
14352 childname.
14353
0ae1bf88 143542009-07-10 Bean <bean123ch@gmail.com>
143552009-07-10 Robert Millan <rmh.grub@aybabtu.com>
14356
14357 * kern/ieee1275/openfw.c (grub_children_iterate)
14358 (grub_devalias_iterate): Fix size evaluation for property or path
14359 strings, which was broken since r2132.
14360
8279cade 143612009-07-07 Pavel Roskin <proski@gnu.org>
14362
7d8a52d3 14363 * commands/search.c (search_file): Merge into ...
14364 (search_fs): ... this. Accept search type as argument.
14365 (grub_cmd_search): Pass search type to search_fs().
14366
25f9a05a 14367 * include/grub/util/console.h: New file.
14368 * util/console.c: Use it instead of grub/machine/console.h.
14369 * util/grub-emu.c: Likewise.
14370
8279cade 14371 * lib/arg.c (find_long_option): Remove.
14372 (find_long): Add `len' argument, make `s' const char *.
14373 (grub_arg_parse): Parse long options in place, not in a
14374 temporary buffer.
14375
4a11b60f 143762009-07-06 Pavel Roskin <proski@gnu.org>
14377
99f68041 14378 * commands/search.c (search_fs): Fix potential NULL pointer
14379 dereference.
14380
4a11b60f 14381 * commands/search.c (search_fs): Replace QUID macro with quid_fn
14382 function pointer.
14383
e110f4de 143842009-07-06 Daniel Mierswa <impulze@impulze.org>
14385
14386 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
14387 comparison.
14388
46eeb6a2 143892009-07-05 Pavel Roskin <proski@gnu.org>
14390
bab74958 14391 * include/grub/i386/linux.h (struct linux_kernel_params):
14392 Restore padding3, it's still needed.
14393
46eeb6a2 14394 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
14395 FreeBSD.
14396 * util/osdetect.lua: Likewise.
14397
b4a1dc79 143982009-07-05 Bean <bean123ch@gmail.com>
14399
14400 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
14401
14402 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
14403 (grub_lua_getenv): Likewise.
14404 (grub_lua_setenv): Likewise.
14405 (save_errno): New function.
14406 (push_result): Likewise.
14407 (grub_lua_enum_device): Likewise.
14408 (grub_lua_enum_file): Likewise.
14409 (grub_lua_file_open): Likewise.
14410 (grub_lua_file_close): Likewise.
14411 (grub_lua_file_seek): Likewise.
14412 (grub_lua_file_read): Likewise.
14413 (grub_lua_file_getline): Likewise.
14414 (grub_lua_file_getsize): Likewise.
14415 (grub_lua_file_getpos): Likewise.
14416 (grub_lua_file_eof): Likewise.
14417 (grub_lua_file_exist): Likewise.
14418 (grub_lua_add_menu): Likewise.
14419
14420 * script/lua/grub_lua.h (isupper): New inline function.
14421 (islower): Likewise.
14422 (ispunct): Likewise.
14423 (isxdigit): Likewise.
14424 (strcspn): Change to normal function.
14425 (strpbkr): New function declaration.
14426 (memchr): Likewise.
14427
14428 * script/lua/grub_main.c (scan_str): New function.
14429 (strcspn): Likewise.
14430 (strpbrk): Likewise.
14431 (memchr): Likewise.
14432
14433 * script/lua/linit.c (lualibs): Enable the string library.
14434
14435 * util/osdetect.lua: New file.
14436
2da92295 144372009-07-04 Robert Millan <rmh.grub@aybabtu.com>
14438
14439 * include/grub/i386/linux.h (struct linux_kernel_params): Add
14440 `capabilities' member.
14441
b2582ec9 144422009-07-02 Pavel Roskin <proski@gnu.org>
14443
14444 * genparttoollist.sh: Add missing newline at the end.
14445
32622956 144462009-07-01 Pavel Roskin <proski@gnu.org>
14447
87a7339e 14448 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
14449
d23af54e 14450 * util/hostdisk.c (open_device): Remove `const' from
14451 `sysctl_size', as sysctlbyname() can change it (in this case it
14452 doesn't actually happen).
14453
c94b18a9 14454 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
14455 using signed long int constants.
14456
c6cd3ef0 14457 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
14458 constant to avoid a warning on FreeBSD.
14459
0df63420 14460 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
14461 where it's needed.
14462
999577f1 14463 * Makefile.in: Install include/grub/machine symlink.
14464
6f41557f 14465 * Makefile.in: When installing symlinks, use "cp -fR", which
14466 works on FreeBSD and MacOSX.
14467 From Yves Blusseau <cl7m42e02@sneakemail.com>
14468
c8d22988 14469 * kern/dl.c (grub_dl_resolve_symbol): Make static.
14470 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
14471
1b96e952 14472 * util/misc.c: Move grub_reboot() and grub_halt() ...
14473 * util/grub-emu.c: ... here. Make main_env static.
14474 * include/grub/util/misc.h: Remove main_env.
14475
2ef0084d 14476 * kern/mm.c: Use correct format to print size_t.
14477
32622956 14478 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
14479 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
14480 * kern/powerpc/dl.c: Likewise.
14481 * kern/sparc64/dl.c: Likewise.
14482 * kern/x86_64/dl.c: Likewise.
14483
3f7f0cd0 144842009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14485
14486 Fix grub-emu build on sparc64-ieee1275.
14487
75421ca9 14488 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 14489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
14490
211d06b5 144912009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14492
14493 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
14494 (grub_reboot, grub_halt): New functions.
14495
14496 * util/i386/pc/misc.c: Delete. Update all users.
14497 * util/sparc64/ieee1275/misc.c: Likewise.
14498 * util/powerpc/ieee1275/misc.c: Likewise.
14499
aaf53e3c 145002009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14501
14502 * conf/i386.rmk (setjmp_mod_SOURCES)
14503 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
14504 * conf/common.rmk (setjmp_mod_SOURCES)
14505 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
14506 to use $(target_cpu).
14507 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
14508 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
14509 * conf/powerpc-ieee1275.rmk: Likewise.
14510 * conf/sparc64-ieee1275.rmk: Likewise.
14511
14512 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
14513 $(target_cpu) for kern/$(target_cpu)/dl.c.
14514 * conf/i386-efi.rmk: Likewise.
14515 * conf/i386-ieee1275.rmk: Likewise.
14516 * conf/x86_64-efi.rmk: Likewise.
14517 * conf/i386-coreboot.rmk: Likewise.
14518 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
14519 $(target_cpu) for kern/$(target_cpu)/dl.c and for
14520 kern/$(target_cpu)/cache.S.
14521 * conf/sparc64-ieee1275.rmk: Likewise.
14522
a337130b 145232009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14524
14525 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
14526 type to `grub_uint8_t', and adjust `padding9' accordingly.
14527
c6fe4d53 145282009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14529
b09db61d 14530 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
14531
c6fe4d53 14532 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
14533 assembly in final jump, using register constraints.
14534
b09db61d 14535 (grub_linux_boot): For text mode, initialize `have_vga' using
14536 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
14537
14538 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
14539 right before the final jump.
14540
14541 Set `video_mode' to 0x3.
14542
14543 Document initialization of `video_page', `video_mode' and
14544 `video_ega_bx'.
14545
28333ad0 145462009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14547
14548 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
14549 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 14550 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 14551
02164e1b 145522009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14553
14554 Fix build on Debian / sparc.
14555
14556 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
14557
18b6c557 145582009-06-28 Pavel Roskin <proski@gnu.org>
14559
85f2aab6 14560 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
14561 fix a warning.
14562
18b6c557 14563 * util/grub.d/10_linux.in: Match SUSE style initrd names.
14564
ad760f81 145652009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14566
14567 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
14568 `err'.
14569
87a4623b 145702009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14571
14572 Revert r2338.
14573
14574 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
14575 file can't be opened. grub_file_open() is already supposed to set
75421ca9 14576 grub_errno / grub_errmsg appropriately.
87a4623b 14577 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14578
8231fb77 145792009-06-27 Pavel Roskin <proski@gnu.org>
145802009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14581
14582 * include/grub/dl.h: Include grub/elf.h.
14583 (struct grub_dl): Add symtab field.
14584 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
14585 GRUB_MODULES_MACHINE_READONLY.
14586 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
14587 of the header for read-only modules.
14588 (grub_dl_unload): Free mod->symtab for read-only modules.
14589 * kern/i386/dl.c: Use mod->symtab.
14590 * kern/powerpc/dl.c: Likewise.
14591 * kern/sparc64/dl.c: Likewise.
14592 * kern/x86_64/dl.c: Likewise.
14593
14594 * conf/i386-qemu.rmk: New file.
14595 * kern/i386/qemu/startup.S: Likewise.
14596 * kern/i386/qemu/mmap.c: Likewise.
14597 * boot/i386/qemu/boot.S: Likewise.
14598 * include/grub/i386/qemu/time.h: Likewise.
14599 * include/grub/i386/qemu/serial.h: Likewise.
14600 * include/grub/i386/qemu/kernel.h: Likewise.
14601 * include/grub/i386/qemu/console.h: Likewise.
14602 * include/grub/i386/qemu/boot.h: Likewise.
14603 * include/grub/i386/qemu/init.h: Likewise.
14604 * include/grub/i386/qemu/machine.h: Likewise.
14605 * include/grub/i386/qemu/loader.h: Likewise.
14606 * include/grub/i386/qemu/memory.h: Likewise.
14607
14608 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
14609 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
14610 [qemu] (pkglib_IMAGES): Add `boot.img'.
14611 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
14612 [qemu] (boot_img_FORMAT): New variables.
14613 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
14614 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
14615 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
14616 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14617 [qemu] (kernel_img_FORMAT): New variables.
14618
14619 * configure.ac: Recognise `i386-qemu'.
14620
14621 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
14622 (for no compression).
14623 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
14624 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
14625 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
14626 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
14627 ifdefs).
14628
97fe384e 146292009-06-27 Pavel Roskin <proski@gnu.org>
14630
14631 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
14632 read.
14633 * efiemu/prepare32.c: Likewise.
14634 * efiemu/prepare64.c: Likewise.
14635
c402ab17 146362009-06-26 Pavel Roskin <proski@gnu.org>
14637
14638 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
14639 * include/grub/elf.h: Define symbols without "32" or "64" based
14640 on GRUB_TARGET_WORDSIZE.
14641 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
14642 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
14643 ELF definitions.
14644 * efiemu/loadcore64.c: Likewise.
14645 * loader/i386/bsd32.c: Likewise.
14646 * loader/i386/bsd64.c: Likewise.
14647 * kern/dl.c: Remove own ELF definitions.
14648 * util/i386/efi/grub-mkimage.c: Likewise.
14649
9bbdfd4d 146502009-06-23 Robert Millan <rmh.grub@aybabtu.com>
14651
14652 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
14653 segment 0x0 unconditionally, because the reference generated by
14654 GAS is an absolute address.
14655
a42ce6e9 146562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14657
14658 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
14659 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
14660
c952cf92 146612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14662
14663 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
14664 indexes. Check for -f explicitly.
cc3752ad 14665 (search_file): Improve error message.
14666 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 14667
132a0a59 146682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14669
14670 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
14671 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
14672
387a140c 146732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14674
14675 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
14676 * conf/i386-ieee1275.rmk: Likewise.
14677 * conf/i386-coreboot.rmk: Likewise.
14678
14679 * kern/i386/pc/startup.S (grub_stop): Remove function.
14680 * kern/i386/ieee1275/startup.S: Likewise.
14681 * kern/i386/coreboot/startup.S: Likewise.
14682 * kern/i386/misc.S (grub_stop): New function.
14683
41da9665 146842009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14685
14686 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
14687 * kern/i386/realmode.S (real_to_prot): ... to here.
14688
bf337234 146892009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14690
14691 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
14692 with `kernel.img'.
14693 (kernel_elf_SOURCES): Rename to ...
14694 (kernel_img_SOURCES): ... this.
14695 (kernel_elf_HEADERS): Rename to ...
14696 (kernel_img_HEADERS): ... this. Update all users.
14697 (kernel_elf_ASFLAGS): Rename to ...
14698 (kernel_img_ASFLAGS): ... this.
14699 (kernel_elf_CFLAGS): Rename to ...
14700 (kernel_img_CFLAGS): ... this.
14701 (kernel_elf_LDFLAGS): Rename to ...
14702 (kernel_img_LDFLAGS): ... this.
14703 * conf/i386-coreboot.rmk: Likewise.
14704 * conf/powerpc-ieee1275.rmk: Likewise.
14705
14706 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
14707 with "kernel.img".
14708
f52196ff 147092009-06-21 Pavel Roskin <proski@gnu.org>
14710
c3cee413 14711 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
14712 to match nested functions.
14713 * loader/sparc64/ieee1275/linux.c: Likewise.
14714
f52196ff 14715 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
14716
58750afc 147172009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14718
14719 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
14720 all i386 platforms.
14721
15355c7d 147222009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14723
14724 Fix asm file handling on ELF, and remove workarounds.
14725
14726 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 14727 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 14728 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
14729 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
14730
3f3ec72b 147312009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 Load BSD ELF modules
14734
14735 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
14736 and loader/i386/bsd64.c
14737 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
14738 (FREEBSD_MODTYPE_ELF_MODULE): New definition
14739 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
14740 (grub_freebsd_load_elfmodule32): New declaration
14741 (grub_freebsd_load_elfmoduleobj64): Likewise
14742 (grub_freebsd_load_elf_meta32): Likewise
14743 (grub_freebsd_load_elf_meta64): Likewise
14744 (grub_freebsd_add_meta): Likewise
14745 (grub_freebsd_add_meta_module): Likewise
14746 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
14747 (grub_freebsd_add_meta_module): Likewise and move module-specific
14748 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
14749 (grub_cmd_freebsd): Add elf-kernel specific parts
14750 based on grub_freebsd_add_meta_module
14751 (grub_cmd_freebsd_module): Add type parsing moved from
14752 grub_freebsd_add_meta_module
14753 (grub_cmd_freebsd_module_elf): New function
14754 (cmd_freebsd_module_elf): New variable
14755 (GRUB_MOD_INIT): Register freebsd_module_elf
14756 * loader/i386/bsd32.c: New file
14757 * loader/i386/bsd64.c: Likewise
14758 * loader/i386/bsdXX.c: Likewise
14759 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
14760 (grub_elf64_load): Likewise
14761 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
14762 All users updated
14763 (grub_elf64_load_hook_t): Likewise
14764
0db15301 147652009-06-21 Colin Watson <cjwatson@ubuntu.com>
14766
14767 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
14768 variable.
14769 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
14770 don't write a menu entry for recovery mode.
14771
546796c1 147722009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14773
14774 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
14775 after it's no longer needed.
14776
cd7310d5 147772009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14778
14779 * include/grub/i386/loader.h (grub_linux_prot_size)
14780 (grub_linux_tmp_addr, grub_linux_real_addr)
14781 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
14782 GRUB_MACHINE_PCBIOS.
14783 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
14784 common grub_util_info() call to ...
14785 (generate_image): ... here.
14786 Fix use of uninitialized memory, comparison of signed with
14787 unsigned integers and memory leak.
14788 Remove bogus module address message.
14789
ab32d3b5 147902009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14791
14792 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
14793 grub_raid_register
14794 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
14795
024ef597 147962009-06-19 Pavel Roskin <proski@gnu.org>
14797
14798 * configure.ac: Remove stray AC_MSG_CHECKING.
14799
3ac72b51 148002009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
14801
14802 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 14803
e14cd814 148042009-06-18 Pavel Roskin <proski@gnu.org>
14805
14806 * conf/common.rmk: Add fs_file.mod.
14807 * disk/fs_file.c: New file.
14808 * include/grub/disk.h (enum grub_disk_dev_id): Add
14809 GRUB_DISK_DEVICE_FILE_ID.
14810
26586d98 148112009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 Fix build with Apple's toolchain. Part 2
14814
14815 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
14816 a fake start
14817
26de2bcd 148182009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14819
14820 Fix build with Apple's toolchain. Part 1
14821
14822 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
14823 for long calls
14824 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 14825 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 14826 Apple's toolchain
14827
09b3490b 148282009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 Fix warnings
14831
14832 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
14833 (decomp_block): initialize ch
14834 use grub_memcpy instead of memcpy
14835
c22a006a 148362009-06-17 Pavel Roskin <proski@gnu.org>
14837
d3638678 14838 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
14839 version, use declarations needed to use vga_text as the startup
14840 console.
14841
c22a006a 14842 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
14843 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
14844 the kernel.
14845 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
14846 and grub_at_keyboard_fini(), it's done on module load and
14847 unload.
14848
05b129e0 148492009-06-17 Felix Zielcke <fzielcke@z-51.de>
14850
14851 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
14852 file can't be found.
14853 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14854
cf24ed9e 148552009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 Fix newline handling
14858
14859 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 14860 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 14861 (grub_script_yylex): don't segfault on unterminated script
14862 newline terminates command and variable
14863
74aa8e4b 148642009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 avoid double grub_adjust_range call. Bug reported by David Simner
14867
14868 * kern/disk.c (grub_disk_write): change to raw disk access before
14869 calling disk_read
14870
1bd265f3 148712009-06-17 Colin Watson <cjwatson@ubuntu.com>
14872
14873 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
14874 spaces, for the benefit of help2man.
14875 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14876
a2d08c06 148772009-06-16 Pavel Roskin <proski@gnu.org>
14878
14879 * kern/i386/halt.c: Include grub/machine/init.h.
14880 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
14881
b97bcb19 148822009-06-16 Felix Zielcke <fzielcke@z-51.de>
14883
14884 * util/grub.d/30_os-prober.in: Use ${root} in the generated
14885 drivemap menuentry.
14886
0644f96c 148872009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
14888
14889 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
14890 `echo' command.
14891
3ef17a2e 148922009-06-16 Pavel Roskin <proski@gnu.org>
14893
14894 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
14895 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
14896 save %dx, we only need %dl and we never change it.
14897 * boot/i386/pc/cdboot.S: Don't set the root drive.
14898 * boot/i386/pc/pxeboot.S: Likewise.
14899 * include/grub/i386/pc/boot.h: Remove
14900 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
14901 GRUB_BOOT_MACHINE_DRIVE_CHECK.
14902 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
14903 * kern/i386/pc/init.c (make_install_device): Remove references
14904 to grub_root_drive.
14905 * kern/i386/pc/startup.S: Likewise.
14906 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
14907
693fe637 149082009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 xnu_uuid command
14911
14912 * commands/xnu_uuid.c: new file
14913 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
14914 (xnu_uuid_mod_SOURCES): new variable
14915 (xnu_uuid_mod_CFLAGS): likewise
14916 (xnu_uuid_mod_LDFLAGS): likewise
14917 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
14918 * conf/i386-ieee1275.rmk: likewise
14919 * conf/i386-pc.rmk: likewise
14920 * conf/powerpc-ieee1275.rmk: likewise
14921 * conf/sparc64-ieee1275.rmk: likewise
14922 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
14923
c9da87d0 149242009-06-16 Pavel Roskin <proski@gnu.org>
14925
14926 * configure.ac: Avoid '==' in test command, it's not portable.
14927
9c6f4596 149282009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 Probe command
14931
14932 * commands/probe.c: new file
14933 * conf/common.rmk (pkglib_MODULES): add probe.mod
14934 (probe_mod_SOURCES): new variable
14935 (probe_mod_CFLAGS): likewise
14936 (probe_mod_LDFLAGS): likewise
14937 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
14938 * conf/i386-ieee1275.rmk: likewise
14939 * conf/i386-pc.rmk: likewise
14940 * conf/powerpc-ieee1275.rmk: likewise
14941 * conf/sparc64-ieee1275.rmk: likewise
14942
70b7f9fd 149432009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 Fix handling of string like \"hello\" and "a
14946 b"
14947
14948 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
14949 (grub_script_yylex): fix parsing of quoting, escaping and newline
14950
71c79a6b 149512009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
14952
dd74360c 14953 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 14954 handling
dd74360c 14955
0644f96c 149562009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 14957
14958 * util/grub-mkconfig.in: Fix parsing of --output option.
14959
e40893c3 149602009-06-12 Pavel Roskin <proski@gnu.org>
14961
14962 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
14963 genmk.rb don't need to be generated or installed.
14964
3a1acfe2 149652009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 * commands/i386/pc/drivemap_int13h.S: add more comments
14968
3a4575d4 149692009-06-11 Pavel Roskin <proski@gnu.org>
14970
0658e928 14971 * Makefile.in (uninstall): Uninstall manuals.
14972
ca0388f0 14973 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
14974 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
14975 and update-grub_lib in two places.
14976 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
14977
e3b27c39 14978 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
14979 a compiler warning.
14980
3a4575d4 14981 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
14982 `entry_lo' to fix variable shadowing.
14983
af1f4f55 149842009-06-11 Christian Franke <franke@computer.org>
14985
14986 * kern/misc.c (__enable_execute_stack): Add missing return type
14987 to prevent gcc warning.
14988
5225e649 149892009-06-11 Felix Zielcke <fzielcke@z-51.de>
14990
14991 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
14992
7d83bd47 149932009-06-11 Pavel Roskin <proski@gnu.org>
14994
c1cb63ba 14995 * Makefile.in: Don't rely on any scripts being executable.
14996 Always use $(SHELL) to run shell scripts.
14997
7d83bd47 14998 * configure.ac: Always define ___main if using -nostdlib. This
14999 fixes tests on Cygwin.
15000
948f48e7 150012009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
15002
15003 UDF fix
15004
7d83bd47 15005 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 15006 is in bytes and not in blocks
7d83bd47 15007
8ada9bc1 150082009-06-11 Pavel Roskin <proski@gnu.org>
15009
15010 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
15011 warning.
15012
25ad2323 150132009-06-11 Felix Zielcke <fzielcke@z-51.de>
15014
15015 * util/grub.d/30_os-prober.in: Fix a comment. Source
15016 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
15017 to set the root device. Place drivemap command in the generated
15018 chain entry.
15019
e65acb0c 150202009-06-11 Pavel Roskin <proski@gnu.org>
15021
15022 * configure.ac: Remove host_m32. Issues with 64-bit utilities
15023 have long been resolved.
15024
f285fe2d 150252009-06-11 Colin Watson <cjwatson@ubuntu.com>
15026
bd47b0b5 15027 * util/grub.d/10_linux.in: Capitalise "Linux".
15028
f285fe2d 15029 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
15030
a0c62e4e 150312009-06-11 Pavel Roskin <proski@gnu.org>
15032
b6783cb2 15033 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
15034 fix a gcc warning and ensure that the function won't ever exit.
15035
dde032e8 15036 * kern/i386/ieee1275/init.c: Add missing prototype for
15037 grub_stop_floppy().
15038
22cd079d 15039 * loader/ieee1275/multiboot2.c [__i386__]: Include
15040 grub/cpu/multiboot.h.
15041
a0c62e4e 15042 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
15043 casts to short - they are not portable and cause warnings. Fix
15044 use of uninitialized values in input_buf. Use ARRAY_SIZE.
15045
63963d17 150462009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 Drivemap fixes
15049
15050 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
15051 new function
15052 (grub_get_root_biosnumber_saved): new variable
15053 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
15054 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 15055 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 15056 %dx after the call if necessary
15057 * conf/common.rmk (pkglib_MODULES): remove boot.mod
15058 (boot_mod_SOURCES): remove
15059 (boot_mod_CFLAGS): remove
15060 (boot_mod_LDFLAGS): remove
15061 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
15062 (boot_mod_SOURCES): new variable
15063 (boot_mod_CFLAGS): likewise
15064 (boot_mod_LDFLAGS): likewise
15065 * conf/i386-efi.rmk: likewise
15066 * conf/i386-ieee1275.rmk: likewise
15067 * conf/i386-pc.rmk: likewise
15068 * conf/powerpc-ieee1275.rmk: likewise
15069 * conf/sparc64-ieee1275.rmk: likewise
15070 * conf/x86_64-efi.rmk: likewise
15071 * include/grub/i386/pc/biosnum.h: new file
15072 * lib/i386/pc/biosnum.c: likewise
15073 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
15074 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
15075 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 15076
33abf7ae 150772009-06-10 Pavel Roskin <proski@gnu.org>
15078
5ac35b35 15079 * io/gzio.c (test_header): Don't reuse one buffer for all data.
15080 Use separate variables. Read only the file size at the end, but
15081 not the checksum that we don't use.
15082
5c5215d5 15083 * kern/file.c (grub_file_read): Use void pointer for the buffer.
15084 Adjust all callers.
15085
27d5fef7 15086 * kern/ieee1275/openfw.c: Remove libc includes.
15087 * kern/ieee1275/cmain.c: Likewise.
15088 * include/grub/ieee1275/ieee1275.h: Likewise.
15089
33abf7ae 15090 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
15091 compiler warnings.
15092
19d50c2b 150932009-06-10 Felix Zielcke <fzielcke@z-51.de>
15094
15095 * Makefile.in: Remove all trailing whitespace.
15096 * conf/i386-pc.rmk: Likewise.
15097 * conf/powerpc-ieee1275.rmk: Likewise.
15098 * conf/sparc64-ieee1275.rmk: Likewise.
15099 * docs/grub.texi: Likewise.
15100 * docs/texinfo.tex: Likewise.
15101 * disk/fs_uuid.c: Likewise.
15102 * disk/lvm.c: Likewise.
15103 * disk/scsi.c: Likewise.
15104 * disk/ata.c: Likewise.
15105 * disk/ieee1275/ofdisk.c: Likewise.
15106 * disk/i386/pc/biosdisk.c: Likewise.
15107 * disk/host.c: Likewise.
15108 * disk/raid.c: Likewise.
15109 * disk/efi/efidisk.c: Likewise.
15110 * disk/usbms.c: Likewise.
15111 * disk/memdisk.c: Likewise.
15112 * disk/loopback.c: Likewise.
15113 * kern/powerpc/dl.c: Likewise.
15114 * kern/device.c: Likewise.
15115 * kern/dl.c: Likewise.
15116 * kern/sparc64/dl.c: Likewise.
15117 * kern/ieee1275/ieee1275.c: Likewise.
15118 * kern/term.c: Likewise.
15119 * kern/fs.c: Likewise.
15120 * kern/i386/dl.c: Likewise.
15121 * kern/i386/pc/startup.S: Likewise.
15122 * kern/i386/pc/init.c: Likewise.
15123 * kern/i386/pc/mmap.c: Likewise.
15124 * kern/i386/pc/lzo1x.S: Likewise.
15125 * kern/i386/ieee1275/init.c: Likewise.
15126 * kern/i386/realmode.S: Likewise.
15127 * kern/i386/tsc.c: Likewise.
15128 * kern/partition.c: Likewise.
15129 * kern/corecmd.c: Likewise.
15130 * kern/file.c: Likewise.
15131 * kern/efi/efi.c: Likewise.
15132 * kern/efi/init.c: Likewise.
15133 * kern/efi/mm.c: Likewise.
15134 * kern/main.c: Likewise.
15135 * kern/err.c: Likewise.
15136 * kern/env.c: Likewise.
15137 * kern/disk.c: Likewise.
15138 * kern/generic/millisleep.c: Likewise.
15139 * kern/generic/rtc_get_time_ms.c: Likewise.
15140 * kern/misc.c: Likewise.
15141 * kern/parser.c: Likewise.
15142 * genmk.rb: Likewise.
15143 * configure.ac: Likewise.
15144 * boot/i386/pc/diskboot.S: Likewise.
15145 * boot/i386/pc/pxeboot.S: Likewise.
15146 * boot/i386/pc/boot.S: Likewise.
15147 * boot/i386/pc/lnxboot.S: Likewise.
15148 * boot/i386/pc/cdboot.S: Likewise.
15149 * parttool/pcpart.c: Likewise.
15150 * video/readers/tga.c: Likewise.
15151 * video/video.c: Likewise.
15152 * video/bitmap.c: Likewise.
15153 * lib/envblk.c: Likewise.
15154 * lib/i386/setjmp.S: Likewise.
15155 * fs/xfs.c: Likewise.
15156 * fs/afs.c: Likewise.
15157 * fs/fat.c: Likewise.
15158 * fs/ntfs.c: Likewise.
15159 * fs/udf.c: Likewise.
15160 * fs/affs.c: Likewise.
15161 * fs/iso9660.c: Likewise.
15162 * fs/hfs.c: Likewise.
15163 * fs/fshelp.c: Likewise.
15164 * fs/ext2.c: Likewise.
15165 * fs/jfs.c: Likewise.
15166 * fs/reiserfs.c: Likewise.
15167 * fs/hfsplus.c: Likewise.
15168 * fs/minix.c: Likewise.
15169 * fs/cpio.c: Likewise.
15170 * fs/sfs.c: Likewise.
15171 * fs/ufs.c: Likewise.
15172 * efiemu/prepare.c: Likewise.
15173 * efiemu/loadcore_common.c: Likewise.
15174 * efiemu/runtime/efiemu.sh: Likewise.
15175 * efiemu/runtime/efiemu.S: Likewise.
15176 * efiemu/runtime/efiemu.c: Likewise.
15177 * efiemu/pnvram.c: Likewise.
15178 * efiemu/main.c: Likewise.
15179 * efiemu/i386/pc/cfgtables.c: Likewise.
15180 * efiemu/i386/loadcore64.c: Likewise.
15181 * efiemu/i386/loadcore32.c: Likewise.
15182 * efiemu/loadcore.c: Likewise.
15183 * efiemu/symbols.c: Likewise.
15184 * efiemu/mm.c: Likewise.
15185 * include/grub/autoefi.h: Likewise.
15186 * include/grub/datetime.h: Likewise.
15187 * include/grub/term.h: Likewise.
15188 * include/grub/hfs.h: Likewise.
15189 * include/grub/lvm.h: Likewise.
15190 * include/grub/i386/tsc.h: Likewise.
15191 * include/grub/i386/linux.h: Likewise.
15192 * include/grub/i386/xnu.h: Likewise.
15193 * include/grub/i386/efiemu.h: Likewise.
15194 * include/grub/i386/pc/biosdisk.h: Likewise.
15195 * include/grub/i386/pc/memory.h: Likewise.
15196 * include/grub/i386/pc/vbe.h: Likewise.
15197 * include/grub/parttool.h: Likewise.
15198 * include/grub/video.h: Likewise.
15199 * include/grub/memory.h: Likewise.
15200 * include/grub/fs.h: Likewise.
15201 * include/grub/partition.h: Likewise.
15202 * include/grub/xnu.h: Likewise.
15203 * include/grub/efi/api.h: Likewise.
15204 * include/grub/efi/pe32.h: Likewise.
15205 * include/grub/efi/memory.h: Likewise.
15206 * include/grub/multiboot.h: Likewise.
15207 * include/grub/usbdesc.h: Likewise.
15208 * include/grub/multiboot2.h: Likewise.
15209 * include/grub/acpi.h: Likewise.
15210 * include/grub/efiemu/efiemu.h: Likewise.
15211 * include/grub/disk.h: Likewise.
15212 * include/grub/ieee1275/ieee1275.h: Likewise.
15213 * include/grub/net.h: Likewise.
15214 * include/grub/machoload.h: Likewise.
15215 * include/grub/macho.h: Likewise.
15216 * include/multiboot.h: Likewise.
15217 * genmoddep.awk: Likewise.
15218 * normal/main.c: Likewise.
15219 * normal/menu_entry.c: Likewise.
15220 * normal/menu_viewer.c: Likewise.
15221 * normal/completion.c: Likewise.
15222 * normal/cmdline.c: Likewise.
15223 * normal/misc.c: Likewise.
15224 * normal/datetime.c: Likewise.
15225 * bus/usb/usbtrans.c: Likewise.
15226 * bus/usb/ohci.c: Likewise.
15227 * bus/usb/uhci.c: Likewise.
15228 * bus/usb/usb.c: Likewise.
15229 * mmap/efi/mmap.c: Likewise.
15230 * mmap/i386/pc/mmap_helper.S: Likewise.
15231 * mmap/i386/pc/mmap.c: Likewise.
15232 * mmap/i386/mmap.c: Likewise.
15233 * mmap/i386/uppermem.c: Likewise.
15234 * mmap/mmap.c: Likewise.
15235 * commands/acpi.c: Likewise.
15236 * commands/echo.c: Likewise.
15237 * commands/blocklist.c: Likewise.
15238 * commands/loadenv.c: Likewise.
15239 * commands/usbtest.c: Likewise.
15240 * commands/boot.c: Likewise.
15241 * commands/parttool.c: Likewise.
15242 * commands/search.c: Likewise.
15243 * commands/cat.c: Likewise.
15244 * commands/i386/pc/play.c: Likewise.
15245 * commands/i386/pc/drivemap.c: Likewise.
15246 * commands/i386/pc/vbeinfo.c: Likewise.
15247 * commands/i386/pc/acpi.c: Likewise.
15248 * commands/i386/pc/vbetest.c: Likewise.
15249 * commands/ls.c: Likewise.
15250 * commands/cmp.c: Likewise.
15251 * commands/test.c: Likewise.
15252 * commands/efi/acpi.c: Likewise.
15253 * commands/gptsync.c: Likewise.
15254 * commands/help.c: Likewise.
15255 * partmap/amiga.c: Likewise.
15256 * partmap/apple.c: Likewise.
15257 * partmap/acorn.c: Likewise.
15258 * partmap/pc.c: Likewise.
15259 * partmap/sun.c: Likewise.
15260 * partmap/gpt.c: Likewise.
15261 * script/sh/lexer.c: Likewise.
15262 * script/sh/function.c: Likewise.
15263 * font/font.c: Likewise.
15264 * font/font_cmd.c: Likewise.
15265 * loader/powerpc/ieee1275/linux.c: Likewise.
15266 * loader/efi/chainloader.c: Likewise.
15267 * loader/multiboot_loader.c: Likewise.
15268 * loader/macho.c: Likewise.
15269 * loader/i386/multiboot.c: Likewise.
15270 * loader/i386/linux.c: Likewise.
15271 * loader/i386/pc/linux.c: Likewise.
15272 * loader/i386/pc/multiboot2.c: Likewise.
15273 * loader/i386/pc/chainloader.c: Likewise.
15274 * loader/i386/pc/xnu.c: Likewise.
15275 * loader/i386/bsd_trampoline.S: Likewise.
15276 * loader/i386/efi/linux.c: Likewise.
15277 * loader/i386/multiboot_elfxx.c: Likewise.
15278 * loader/i386/bsd_helper.S: Likewise.
15279 * loader/i386/bsd.c: Likewise.
15280 * loader/i386/linux_trampoline.S: Likewise.
15281 * loader/i386/xnu_helper.S: Likewise.
15282 * loader/i386/xnu.c: Likewise.
15283 * loader/i386/bsd_pagetable.c: Likewise.
15284 * loader/i386/multiboot_helper.S: Likewise.
15285 * loader/xnu.c: Likewise.
15286 * loader/xnu_resume.c: Likewise.
15287 * io/gzio.c: Likewise.
15288 * term/efi/console.c: Likewise.
15289 * term/terminfo.c: Likewise.
15290 * term/ieee1275/ofconsole.c: Likewise.
15291 * term/i386/pc/serial.c: Likewise.
15292 * term/i386/pc/vesafb.c: Likewise.
15293 * term/i386/pc/vga.c: Likewise.
15294 * term/usb_keyboard.c: Likewise.
15295 * term/gfxterm.c: Likewise.
15296 * aclocal.m4: Likewise.
15297 * util/lvm.c: Likewise.
15298 * util/grub.d/30_os-prober.in: Likewise.
15299 * util/grub.d/10_hurd.in: Likewise.
15300 * util/console.c: Likewise.
15301 * util/grub-macho2img.c: Likewise.
15302 * util/grub-probe.c: Likewise.
15303 * util/hostfs.c: Likewise.
15304 * util/i386/pc/grub-mkimage.c: Likewise.
15305 * util/i386/pc/grub-setup.c: Likewise.
15306 * util/i386/efi/grub-mkimage.c: Likewise.
15307 * util/grub-mkconfig.in: Likewise.
15308 * util/raid.c: Likewise.
15309 * util/resolve.c: Likewise.
15310 * util/grub-mkdevicemap.c: Likewise.
15311 * util/grub-emu.c: Likewise.
15312 * util/getroot.c: Likewise.
15313 * util/hostdisk.c: Likewise.
15314 * util/usb.c: Likewise.
15315 * util/grub-editenv.c: Likewise.
15316 * util/misc.c: Likewise.
15317
d2d49665 153182009-06-10 Felix Zielcke <fzielcke@z-51.de>
15319
15320 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
15321 `genparttoollist.sh'.
15322 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
15323 Add `*.sh' to the list find searches for and change `mdate.sh'
15324 to `mdate-sh'.
15325
fe052e37 153262009-06-10 Pavel Roskin <proski@gnu.org>
15327
2763ac18 15328 * include/grub/multiboot2.h: Provide compatibility defines for
15329 multiboot2.h.
15330 * include/multiboot2.h: Include stdint.h only if needed, using
15331 angle brackets.
15332 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
15333 grub/multiboot2.h.
15334 * loader/ieee1275/multiboot2.c: Likewise.
15335 * loader/multiboot2.c: Likewise.
15336 * loader/multiboot_loader.c: Likewise.
15337
437e6adc 15338 * configure.ac: Use -nostdlib when probing for the target. It
15339 should not be required to have libc for the target.
15340
06a6836c 15341 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
15342 they fail without libc headers for the target.
15343 * include/grub/powerpc/libgcc.h: Use weak attribute for all
15344 exports.
15345 * include/grub/sparc64/libgcc.h: Likewise. Don't use
15346 preprocessor conditionals.
15347
fe052e37 15348 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
15349 build system doesn't need to be aware of the tar.c internals.
15350
afd22553 153512009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 15352
afd22553 15353 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 15354
6b787c4f 153552009-06-09 Robert Millan <rmh.grub@aybabtu.com>
15356
15357 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
15358 disk limit to 26 for IDE, Virtio, Xen and SCSI.
15359
153602009-06-09 Felix Zielcke <fzielcke@z-51.de>
15361
15362 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 15363 aren't available if ata.mod gets used.
6b787c4f 15364
473d1e45 153652009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 15366
473d1e45 15367 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 15368 initialising controller.
473d1e45 15369 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 15370
255a27d4 153712009-06-08 Felix Zielcke <fzielcke@z-51.de>
15372
15373 * util/i386/pc/grub-install.in: Add a parameter --disk-module
15374 to choose between ata and biosdisk module on i386-pc.
15375
473d1e45 153762009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 15377
d55842d8 15378 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
15379 Subclass and Programming Interface fields in terms of the 3 byte
15380 Class Code register.
15381 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15382
fa5db0b1 15383 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
15384 interface is OHCI. Add grub_dprintf for symmetry with
15385 bus/usb/uhci.c.
15386 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
15387 interface is UHCI. Add interf variable for programming
15388 interface. Print interface with class/subclass.
15389
c0947beb 15390 * bus/usb/ohci.c: Set interf with correct field.
15391
69da8877 15392 * bus/usb/uhci.c: Remove unneeded doubled lines.
15393 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
15394 Remove whitespace inside comment.
15395
9e172e30 153962009-06-08 Robert Millan <rmh.grub@aybabtu.com>
15397
15398 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
15399 as fallback an equivalent option without depth.
15400
de65ee2b 154012009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15402
15403 Not fail if unable to retrieve C/H/S on LBA disks
15404
473d1e45 15405 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 15406 if unable to retrieve C/H/S on LBA disks
15407
b57ea2c9 154082009-06-08 Pavel Roskin <proski@gnu.org>
15409
15410 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
15411 about aliasing.
15412
af361263 154132009-06-08 Felix Zielcke <fzielcke@z-51.de>
15414
15415 * Makefile.in (uninstall): Remove all $lib_DATA files.
15416
4c9ec6b3 154172009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 Bugfix: install on partitionless device
15420
15421 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
15422 is a whole disk
15423
e76fc924 154242009-06-08 Felix Zielcke <fzielcke@z-51.de>
15425
15426 * Makefile.in (uninstall): Remove all $include_DATA files.
15427
ba5a0d05 154282009-06-08 Felix Zielcke <fzielcke@z-51.de>
15429
15430 * commands/true.c: New file. Implement the true and false commands.
15431 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
15432 (true_mod_SOURCES): New variable.
15433 (true_mod_CFLAGS): Likewise.
15434 (true_mod_LDFLAGS): Likewise.
15435
c8048e32 154362009-06-05 Colin D Bennett <colin@gibibit.com>
15437
15438 Optimized font character lookup using binary search instead of linear
15439 search. Fonts now are required to have the character index ordered by
15440 code point.
15441
15442 * font/font.c (load_font_index): Verify that fonts have ordered
15443 character indices.
15444 (find_glyph): Use binary search instead of linear search to find a
15445 character in a font.
15446
408305be 154472009-06-05 Michael Scherer <misc@mandriva.org>
15448
15449 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
15450 uses case sensitive btree.
15451 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
15452 only for case insensitive filesystems.
15453
8ee1e0d9 154542009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
15457 * conf/common.rmk (search_mod_CFLAGS): likewise
15458
a9966eb1 154592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15460
473d1e45 15461 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 15462 compensate a compiler bug
15463
9e7100fb 154642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15465
473d1e45 15466 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 15467 instead of '\b'
473d1e45 15468
ede21d71 154692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15470
15471 Definitions for creating asm symbols with Apple's CC
15472
15473 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
15474 [APPLE_CC] (VARIABLE): likewise
15475
9dbf7653 154762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 Disable lnxboot.img when compiled
15479 with Apple's CC
15480
15481 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
15482 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
15483 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
15484 [! APPLE_CC] (CODE_LENG): skip
15485 [! APPLE_CC] (setup_sects): likewise
15486 [! APPLE_CC]: skip filling
473d1e45 15487
e93cdc3d 154882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 Address in trampolines based on 32-bit registers when compiled
15491 with Apple's CC
15492
473d1e45 15493 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 15494 for addresses
15495 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
15496
6c688477 154972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 Avoid aliases when compiling with Apple's CC for PCBIOS machine
15500
15501 * kern/misc.c [APPLE_CC] (memcpy): new function
15502 [APPLE_CC] (memmove): likewise
15503 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 15504 (memcpy): define alias conditionally on !APPLE_CC
6c688477 15505 (memset): likewise
15506 (abort): likewise
15507 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
15508 APPLE_CC are defined
15509 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
15510 (grub_assert_fail): make prototype conditional
15511
e37ffc5c 155122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
15515
473d1e45 15516 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
15517 grub-macho2img
e37ffc5c 15518 (CLEANFILES): add grub-macho2img
15519 (grub_macho2img_SOURCES): new variable
15520 * kern/i386/pc/startup.S (bss_start): new variable
15521 (bss_end): likewise
15522 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
15523 * util/grub-macho2img.c: new file
15524
cf00df31 155252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15526
15527 Use objconv when compiling with Apple's CC
15528
15529 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
15530 (efiemu64.o): likewise
15531 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
15532 when compiling with Apple's CC
15533 (efiemu64_s.o): likewise
15534 * configure.ac: check for objconv when compiling with Apple's CC
15535 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 15536
d119a20c 155372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 Define segment as well as section when compiling with
15540 Apple's CC
15541
15542 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
15543 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
15544 (efiemu_convert_pointer): likewise
15545 (efiemu_set_virtual_address_map): likewise
15546 (efiemu_convert_pointer): likewise
15547 (efiemu_getcrc32): likewise
15548 (init_crc32_table): likewise
15549 (reflect): likewise
15550 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
15551 (GRUB_MOD_DEP): likewise
473d1e45 15552
c8600122 155532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15554
15555 Allow a compilation without -mcmodel=large
15556
15557 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
15558 when compiled without -mcmodel=large
473d1e45 15559 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 15560 without -mcmodel=large
473d1e45 15561 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 15562 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 15563
e8df1d4e 155642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 Remove nested functions in efiemu core
15567
15568 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 15569
cc6c3ac1 155702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
15573
15574 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
15575 temporary storage
473d1e45 15576 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
15577 using Apple's CC
cc6c3ac1 15578 (grub_cpu_is_tsc_supported): likewise
15579 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 15580
3e325901 155812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15582
15583 Absolute addressing through constant with Apple's cc
15584
15585 * kern/i386/pc/startup.S: Define necessary constants
15586 and address through it when using ABS with Apple's CC
15587 * boot/i386/pc/diskboot.S: likewise
15588 * boot/i386/pc/boot.S: likewise
15589 * boot/i386/pc/lnxboot.S: likewise
15590 * boot/i386/pc/cdboot.S: likewise
15591 * mmap/i386/pc/mmap_helper.S: likewise
15592 * commands/i386/pc/drivemap_int13h.S: likewise
15593
2b167a72 155942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 Check if compiler is apple cc
15597
15598 * Makefile.in (ASFLAGS): new variable
15599 (TARGET_ASFLAGS): likewise
15600 (TARGET_MODULE_FORMAT): likewise
15601 (TARGET_APPLE_CC): likewise
15602 (OBJCONV): likewise
15603 (TARGET_IMG_CFLAGS): likewise
15604 (TARGET_CPPFLAGS): add includedir
15605 * configure.ac: call grub_apple_cc and grub_apple_target_cc
15606 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
15607 Check for linker script only if compiler isn't Apple's CC
15608 (TARGET_MODULE_FORMAT): set
15609 (TARGET_APPLE_CC): likewise
15610 (TARGET_ASFLAGS): likewise
15611 (ASFLAGS): likewise
15612 Check for objcopy only if compiler isn't Apple's CC
15613 Check for BSS symbol only if compiler isn't Apple's CC
15614 * genmk.rb: adapt nm options if we use Apple's utils
15615 * aclocal.m4 (grub_apple_cc): new test
15616 (grub_apple_target_cc): likewise
473d1e45 15617
fb14123e 156182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15619
15620 Simplify sed expressions and improve awk
15621
15622 * Makefile.in (install-local): simplify sed expression
15623 * gencmdlist.sh: likewise
15624 * genmoddep.awk: avoid adding module as a dependency of itself
15625
5b889789 156262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 Add missing start symbols
15629
15630 * boot/i386/pc/boot.S: add start
fb14123e 15631 * boot/i386/pc/pxeboot.S: likewise
473d1e45 15632
fd2bf2e3 156332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15634
15635 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 15636
15637 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 15638 (relocate_addresses): consider both r_addend and value at offset
15639 (make_mods_section): zerofill modinfo and header
15640 (convert_elf): write prefix here
473d1e45 15641
5389763d 156422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 Use .asciz instead of .string
15645
15646 * i386/pc/diskboot.S: use .asciz instead of .string
15647 * i386/pc/boot.S: likewise
15648 * include/grub/dl.h (GRUB_MOD_DEP): likewise
15649 (GRUB_MOD_NAME): likewise
473d1e45 15650
3eb5ed4e 156512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 gfxpayload support
15654
15655 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
15656 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
15657 (grub_video_setup): remove
15658 (grub_video_set_mode): new prototype
15659 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
15660 (vid_mode): remove
15661 (linux_vesafb_res): compile only on PCBIOS
15662 (grub_linux_boot): support gfxpayload
15663 * loader/i386/pc/xnu.c (video_hook): new function
15664 (grub_xnu_set_video): support gfxpayload
15665 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
15666 (DEFAULT_VIDEO_HEIGHT): likewise
15667 (DEFAULT_VIDEO_FLAGS): likewise
15668 (DEFAULT_VIDEO_MODE): new definition
15669 (video_hook): new function
15670 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 15671 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 15672 loading xnu
15673 * video/video.c (grub_video_setup): removed
473d1e45 15674 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 15675 grub_video_setup
15676
4b0e1143 156772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 Avoid calling biosdisk in drivemap
15680
15681 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
15682 (revparse_biosdisk): likewise
15683 (list_mappings): derive name from id directly
15684 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 15685
fda6cb98 156862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 Script fixes
15689
15690 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
15691 (grub_lexer_param): add tokenonhold
15692 (grub_script_create_cmdline): remove cmdline. All callers updated
15693 (grub_script_function_create): make functionname
15694 grub_script_arg. All callers updated
15695 (grub_script_execute_argument_to_string): new prototype
15696 * kern/parser.c (state_transitions): reorder
15697 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 15698 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 15699 make global
15700 (grub_script_execute_cmdline): use new format
15701 * script/sh/function.c (grub_script_function_create): make functionname
15702 grub_script_arg. All callers updated
473d1e45 15703 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 15704 (grub_script_yylex): remove
15705 (grub_script_yylex2): renamed to ...
15706 (grub_script_yylex): ...renamed
15707 parse the expressions like a${b}c
15708 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
15709 (GRUB_PARSER_TOKEN_VAR): remove
15710 (GRUB_PARSER_TOKEN_NAME): likewise
15711 ("if"): declare as typeless
15712 ("while"): likewise
15713 ("function"): likewise
15714 ("else"): likewise
15715 ("then"): likewise
15716 ("fi"): likewise
15717 (text): remove
15718 (argument): likewise
15719 (script): accept empty scripts and make exit on error
15720 (arguments): use GRUB_PARSER_TOKEN_ARG
15721 (function): likewise
15722 (command): move error handling to script
15723 (menuentry): move grub_script_lexer_ref before
473d1e45 15724 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 15725 argument. All callers updated
15726
f4448a07 157272009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15728
15729 Prevent GRUB from probing floppies during boot.
15730
15731 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
15732 * commands/search.c (options): Add --no-floppy.
15733 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
15734 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
15735 --no-floppy when searching for UUIDs.
15736
2bf5885a 157372009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15738
15739 Simplify the code duplication in commands/search.c.
15740
15741 * commands/search.c (search_label, search_fs_uuid): Merge into ...
15742 (search_fs): ... this. Update all users.
15743
f6fd460a 157442009-06-03 Felix Zielcke <fzielcke@z-51.de>
15745
15746 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
15747
cbb3c83e 157482009-05-28 Pavel Roskin <proski@gnu.org>
15749
57788cfd 15750 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
15751 Remove the original symlink explicitly.
15752
cbb3c83e 15753 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
15754 just one slash. That's how grub_fshelp_find_file() does it.
15755
cd0d5e30 157562009-05-26 Pavel Roskin <proski@gnu.org>
15757
f0f8bbe2 15758 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
15759 to `str'.
15760
cd0d5e30 15761 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
15762 possibly unused.
15763
8c2cab51 157642009-05-25 Christian Franke <franke@computer.org>
15765
15766 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
15767 register.
15768 (grub_atapi_identify): Add wait after drive select.
15769 (grub_ata_identify): Do more strict status register check before
15770 calling grub_atapi_identify (). Suppress error message if status
15771 register is 0x00 after command failure. Add status register
15772 check after PIO read to avoid bogus identify due to stuck DRQ.
15773 Thanks to Pavel Roskin for testing.
15774 (grub_device_initialize): Remove unsafe status register check.
15775 Thanks to 'phcoder' for problem report and patch.
15776 Prevent sign extension in debug message.
15777
230c0ad6 157782009-05-23 Colin D Bennett <colin@gibibit.com>
15779
15780 Cleaned up `include/grub/normal.h'. Grouped prototypes by
15781 definition file, and functions defined in `normal/menu.c' have had
15782 their prototypes moved to `include/grub/menu.h' for consistency.
15783
15784 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
15785 from normal.h.
15786 (grub_menu_get_entry): Likewise.
15787 (grub_menu_get_timeout): Likewise.
15788 (grub_menu_set_timeout): Likewise.
15789 (grub_menu_execute_entry): Likewise.
15790 (grub_menu_execute_with_fallback): Likewise.
15791 (grub_menu_entry_run): Likewise.
15792
15793 * include/grub/normal.h: Re-ordered and grouped function
15794 prototypes by file that the function is defined in.
15795 (grub_menu_execute_callback): Removed; moved to menu.h.
15796 (grub_menu_get_entry): Likewise.
15797 (grub_menu_get_timeout): Likewise.
15798 (grub_menu_set_timeout): Likewise.
15799 (grub_menu_execute_entry): Likewise.
15800 (grub_menu_execute_with_fallback): Likewise.
15801 (grub_menu_entry_run): Likewise.
15802 (grub_menu_addentry): Renamed from this ...
15803 (grub_normal_add_menu_entry): ... to this.
15804
15805 * normal/main.c (grub_menu_addentry): Renamed from this ...
15806 (grub_normal_add_menu_entry): ... to this.
15807
15808 * script/sh/execute.c (grub_script_execute_menuentry): Update
15809 reference to renamed grub_menu_addentry function.
15810
861f03a5 158112009-05-23 Felix Zielcke <fzielcke@z-51.de>
15812
15813 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
15814
96b1619a 158152009-05-22 Pavel Roskin <proski@gnu.org>
15816
bf6a5fb2 15817 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
15818 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
15819 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
15820 compiling for the i386 targets, but not for the utilities.
15821
96b1619a 15822 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
15823 to grub_uint8_t.
15824 (grub_root_drive): Likewise.
15825 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
15826 remove alignment.
15827 (grub_root_drive): Change size to byte.
15828 (grub_start_addr): Remove.
15829 (grub_end_addr): Likewise.
15830 (grub_apm_bios_info): Likewise.
15831
b729776b 158322009-05-21 Felix Zielcke <fzielcke@z-51.de>
15833
15834 * normal/i386: Remove.
15835 * normal/powerpc: Likewise.
15836 * normal/sparc64: Likewise.
15837 * normal/x86_64: Likewise.
15838
0a15ce80 158392009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 15842 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 15843 * loader/i386/xnu_helper.S: Likewise
d6da58e6 15844
33db9015 158452009-05-18 Colin D Bennett <colin@gibibit.com>
15846
d6da58e6 15847 Display error messages when parsing a Lua statement fails.
15848 Previously, executing a syntactically invalid statement like
15849 ")foo" or "bar;" would silently fail.
33db9015 15850
15851 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 15852 (grub_lua_parse_line): Improved reporting of Lua parser and
15853 execution errors.
33db9015 15854
46422c89 158552009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 Remove -Werror which causes build to fail on some systems
15858
15859 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
15860 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
15861 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 15862
22f53a96 158632009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 trampoline for linux on 64-bit platform
15866
18f547ad 15867 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
15868 loader/i386/efi/linux_trampoline.S
15869 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 15870 declaration
d6da58e6 15871 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
15872 here
22f53a96 15873 * loader/i386/linux_trampoline.S: moved here
d6da58e6 15874 * loader/i386/efi/linux.c (allocate_pages): reserve space for
15875 trampoline
22f53a96 15876 (jumpvector): removed
15877 (grub_linux_trampoline_start): new declaration
15878 (grub_linux_trampoline_end): likewise
15879 (grub_linux_boot): use trampoline when on 64-bit platform
15880 * loader/i386/linux.c: likewise
15881
cb5a0f40 158822009-05-16 Pavel Roskin <proski@gnu.org>
15883
15884 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
15885 const to avoid a warning.
15886 (grub_lua_setenv): Likewise.
15887 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
15888 lmsg to fix a warning.
15889
334f2c28 158902009-05-16 Felix Zielcke <fzielcke@z-51.de>
15891
15892 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 15893 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15894 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
15895 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15896 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
15897 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15898 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
15899 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 15900
59e5d3ec 159012009-05-16 Felix Zielcke <fzielcke@z-51.de>
15902
15903 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
15904
9d87a1ba 159052009-05-16 Bean <bean123ch@gmail.com>
15906
15907 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
15908 (lua_mod_SOURCES): New variable.
15909 (lua_mod_CFLAGS): Likewise.
15910 (lua_mod_LDFLAGS): Likewise.
15911
15912 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
15913 (setjmp_mod_SOURCES): New variable.
15914 (setjmp_mod_CFLAGS): Likewise.
15915 (setjmp_LDFLAGS): Likewise.
15916
15917 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
15918 (setjmp_mod_SOURCES): New variable.
15919 (setjmp_mod_CFLAGS): Likewise.
15920 (setjmp_LDFLAGS): Likewise.
15921
15922 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
15923 (setjmp_mod_SOURCES): New variable.
15924 (setjmp_mod_CFLAGS): Likewise.
15925 (setjmp_LDFLAGS): Likewise.
15926
15927 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
15928 (setjmp_mod_SOURCES): New variable.
15929 (setjmp_mod_CFLAGS): Likewise.
15930 (setjmp_LDFLAGS): Likewise.
15931
15932 * normal/i386/setjmp.S: Moved from here ...
15933 * lib/i386/setjmp.S: ... Moved here
15934 * normal/x86_64/setjmp.S: Moved from here ...
15935 * lib/x86_64/setjmp.S: ... Moved here
15936 * normal/powerpc/setjmp.S: Moved from here ...
15937 * lib/powerpc/setjmp.S: ... Moved here
15938 * normal/sparc64/setjmp.S: Moved from here ...
15939 * lib/sparc64/setjmp.S: ... Moved here
15940
15941 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
15942 returns_twice in mingw.
15943
15944 * script/lua/grub_lib.c: New file.
15945 * script/lua/grub_lib.h: Likewise.
15946 * script/lua/grub_lua.h: Likewise.
15947 * script/lua/grub_main.c: Likewise.
15948 * script/lua/lapi.c: Likewise.
15949 * script/lua/lapi.h: Likewise.
15950 * script/lua/lauxlib.c: Likewise.
15951 * script/lua/lauxlib.h: Likewise.
15952 * script/lua/lbaselib.c: Likewise.
15953 * script/lua/lcode.c: Likewise.
15954 * script/lua/lcode.h: Likewise.
15955 * script/lua/ldblib.c: Likewise.
15956 * script/lua/ldebug.c: Likewise.
15957 * script/lua/ldebug.h: Likewise.
15958 * script/lua/ldo.c: Likewise.
15959 * script/lua/ldo.h: Likewise.
15960 * script/lua/ldump.c: Likewise.
15961 * script/lua/lfunc.c: Likewise.
15962 * script/lua/lfunc.h: Likewise.
15963 * script/lua/lgc.c: Likewise.
15964 * script/lua/lgc.h: Likewise.
15965 * script/lua/linit.c: Likewise.
15966 * script/lua/liolib.c: Likewise.
15967 * script/lua/llex.c: Likewise.
15968 * script/lua/llex.h: Likewise.
15969 * script/lua/llimits.h: Likewise.
15970 * script/lua/lmathlib.c: Likewise.
15971 * script/lua/lmem.c: Likewise.
15972 * script/lua/lmem.h: Likewise.
15973 * script/lua/loadlib.c: Likewise.
15974 * script/lua/lobject.c: Likewise.
15975 * script/lua/lobject.h: Likewise.
15976 * script/lua/lopcodes.c: Likewise.
15977 * script/lua/lopcodes.h: Likewise.
15978 * script/lua/loslib.c: Likewise.
15979 * script/lua/lparser.c: Likewise.
15980 * script/lua/lparser.h: Likewise.
15981 * script/lua/lstate.c: Likewise.
15982 * script/lua/lstate.h: Likewise.
15983 * script/lua/lstring.c: Likewise.
15984 * script/lua/lstring.h: Likewise.
15985 * script/lua/lstrlib.c: Likewise.
15986 * script/lua/ltable.c: Likewise.
15987 * script/lua/ltable.h: Likewise.
15988 * script/lua/ltablib.c: Likewise.
15989 * script/lua/ltm.c: Likewise.
15990 * script/lua/ltm.h: Likewise.
15991 * script/lua/lua.h: Likewise.
15992 * script/lua/luaconf.h: Likewise.
15993 * script/lua/lualib.h: Likewise.
15994 * script/lua/lundump.c: Likewise.
15995 * script/lua/lundump.h: Likewise.
15996 * script/lua/lvm.c: Likewise.
15997 * script/lua/lvm.h: Likewise.
15998 * script/lua/lzio.c: Likewise.
15999 * script/lua/lzio.h: Likewise.
16000
5e898c9d 160012009-05-16 Bean <bean123ch@gmail.com>
16002
16003 * include/grub/kernel.h (grub_module_header_types): Add type
16004 OBJ_TYPE_CONFIG.
16005
16006 * kern/main.c (grub_load_config): New function.
16007 (grub_main): Call grub_load_config to read boot config.
16008
16009 * grub-mkimage (generate_image): New parameter config_path.
16010 (options): New option --config.
16011 (main): Parse --config option, and pass it to generate_image.
16012
cf353a47 160132009-05-14 Christian Franke <franke@computer.org>
16014
16015 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
16016 This fixes build on Cygwin.
16017
3834887f 160182009-05-14 Pavel Roskin <proski@gnu.org>
16019
16020 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
16021 jump. This saves two bytes, so the typical case of 2 swapped
16022 drives would fit 32 bytes.
16023
8090fc01 160242009-05-13 Pavel Roskin <proski@gnu.org>
16025
ac963883 16026 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
16027 grub_uint32_t to avoid a warning.
16028
8090fc01 16029 * loader/i386/linux.c (allocate_pages): When assigning
16030 real_mode_mem, cast through grub_size_t to fix a warning. The
16031 code already makes sure that the value would fit a pointer.
16032 (grub_linux_setup_video): Cast render_target->data to
16033 grub_size_t to fix a warning.
16034
18f547ad 160352009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 16036
16037 * commands/i386/pc/drivemap.c: New file - implement drivemap
16038 command.
16039 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
16040 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
16041
6f6a8b28 160422009-05-13 Pavel Roskin <proski@gnu.org>
16043
16044 * util/i386/pc/grub-setup.c (setup): Remove unused variable
16045 embedding_area_exists.
16046
15fbf4c4 160472009-05-13 Robert Millan <rmh.grub@aybabtu.com>
16048
16049 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
16050 it easier to understand / work with.
59978c8a 16051 Improve warning messages for cases where there's no embedding area,
16052 or when it is too small (or core.img too large).
15fbf4c4 16053
238e871f 160542009-05-13 Pavel Roskin <proski@gnu.org>
16055
0ab3a9a4 16056 * loader/i386/pc/multiboot2.c: Add necessary includes for
16057 grub_multiboot2_real_boot().
16058
a2c8c5f8 16059 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
16060 PX record is always little-endian. We only need the lower 2
16061 bytes of the mode.
16062
faec96af 16063 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
16064 facilitate code reuse.
16065 (grub_cpio_mount): Use "struct head", not a char buffer. This
16066 fixes a warning reported by gcc 4.4.
16067
238e871f 16068 * kernel/disk.c (grub_disk_read): Use void pointer for the
16069 buffer.
16070 (grub_disk_write): Use const void pointer for the buffer.
16071 Adjust all callers. Remove unnecessary casts.
16072
901d2f0c 160732009-05-10 Robert Millan <rmh.grub@aybabtu.com>
16074
16075 * util/i386/pc/grub-install.in: Update copyright year.
16076
18f547ad 160772009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 16078
16079 gptsync
16080
16081 * commands/gptsync.c: new file
16082 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
16083 (gptsync_mod_SOURCES): new variable
16084 (gptsync_mod_CFLAGS): likewise
16085 (gptsync_mod_LDFLAGS): likewise
18f547ad 16086 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 16087 new definition
16088 (GRUB_PC_PARTITION_TYPE_HFS): likewise
16089 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
16090 * conf/i386-ieee1275.rmk: likewise
16091 * conf/i386-pc.rmk: likewise
16092 * conf/powerpc-ieee1275.rmk: likewise
16093
b4ba690a 160942009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 Fixed grub-emu
16097
16098 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
16099 (grub_dl_ref): likewise
16100
317e1a44 161012009-05-08 Robert Millan <rmh.grub@aybabtu.com>
16102
16103 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
16104 split in two functions (one for msdos and one for gpt).
16105
041b8094 161062009-05-08 Pavel Roskin <proski@gnu.org>
16107
752473c2 16108 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
16109 not modified.
16110
041b8094 16111 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
16112 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
16113 Initialize them with -1. Add sanity check for bad1. Eliminate
16114 nerr variable.
16115
172800ce 161162009-05-08 David S. Miller <davem@davemloft.net>
16117
16118 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
16119
29aa5e81 161202009-05-06 Robert Millan <rmh.grub@aybabtu.com>
16121
16122 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 16123 existence.
29aa5e81 16124
96613b62 161252009-05-05 Felix Zielcke <fzielcke@z-51.de>
16126
16127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 16128 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 16129
eef73c8a 161302009-05-05 David S. Miller <davem@davemloft.net>
16131
16132 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
16133
119494b5 161342009-05-05 Pavel Roskin <proski@gnu.org>
16135
16136 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
16137 of grub_dl_ref() and grub_dl_unref().
16138 * commands/parttool.c: Remove preprocessor conditionals around
16139 grub_dl_ref() and grub_dl_unref().
16140 * fs/affs.c: Likewise.
16141 * fs/afs.c: Likewise.
16142 * fs/cpio.c: Likewise.
16143 * fs/ext2.c: Likewise.
16144 * fs/fat.c: Likewise.
16145 * fs/hfs.c: Likewise.
16146 * fs/hfsplus.c: Likewise.
16147 * fs/iso9660.c: Likewise.
16148 * fs/jfs.c: Likewise.
16149 * fs/minix.c: Likewise.
16150 * fs/ntfs.c: Likewise.
16151 * fs/reiserfs.c: Likewise.
16152 * fs/sfs.c: Likewise.
16153 * fs/udf.c: Likewise.
16154 * fs/ufs.c: Likewise.
16155 * fs/xfs.c: Likewise.
16156 * include/grub/dl.h: Likewise.
16157 * loader/xnu.c: Likewise.
16158
de5fd76e 161592009-05-04 Pavel Roskin <proski@gnu.org>
16160
16161 * commands/acpi.c: Remove unused variable my_mod.
16162 * partmap/amiga.c: Likewise.
16163 * partmap/apple.c: Likewise.
16164 * partmap/gpt.c: Likewise.
16165 * partmap/pc.c: Likewise.
16166 * partmap/sun.c: Likewise.
16167 * term/gfxterm.c: Likewise.
16168 * term/i386/pc/vesafb.c: Likewise.
16169 * term/i386/pc/vga.c: Likewise.
16170
983598ad 161712009-05-04 David S. Miller <davem@davemloft.net>
16172
16173 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
16174 pointer args to grub_ieee1275_get_property().
16175
8aadec43 16176 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
16177
9554b15e 16178 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
16179 devices, and do not traverse down under controller nodes.
16180
67e23c90 16181 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
16182 (grub_ofdisk_open): Use it to un-escape "," characters.
16183 * kern/disk.c (find_part_sep): New.
16184 (grub_disk_open): Use it to find the first non-escaped ','
16185 character in the disk name.
16186 * util/ieee1275/devicemap.c (escape_of_path): New.
16187 (grub_util_emit_devicemap_entry): Use it.
16188 * util/sparc64/ieee1275/grub-install.in: Update script to
16189 strip partition specifiers properly by not triggering on
16190 '\' escaped ',' characters.
16191
74bfdd2f 161922009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16193
16194 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
16195 to 0x300.
16196 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
16197 resolutions.
16198 (linux_vesafb_modes): Add a lot of additional modes to the list (based
16199 on documentation from Wikipedia).
16200
4241d2b1 162012009-05-04 Pavel Roskin <proski@gnu.org>
16202
16203 * disk/ata.c: Spelling fixes.
16204 * disk/raid.c: Likewise.
16205 * disk/usbms.c: Likewise.
16206 * disk/dmraid_nvidia.c: Likewise.
16207 * kern/ieee1275/openfw.c: Likewise.
16208 * kern/ieee1275/init.c: Likewise.
16209 * kern/ieee1275/cmain.c: Likewise.
16210 * boot/i386/pc/cdboot.S: Likewise.
16211 * video/readers/png.c: Likewise.
16212 * video/i386/pc/vbe.c: Likewise.
16213 * fs/udf.c: Likewise.
16214 * fs/hfs.c: Likewise.
16215 * fs/reiserfs.c: Likewise.
16216 * efiemu/runtime/efiemu.c: Likewise.
16217 * efiemu/main.c: Likewise.
16218 * efiemu/mm.c: Likewise.
16219 * include/grub/elf.h: Likewise.
16220 * include/grub/xnu.h: Likewise.
16221 * include/grub/usbdesc.h: Likewise.
16222 * include/grub/usb.h: Likewise.
16223 * include/grub/script_sh.h: Likewise.
16224 * include/grub/lib/LzmaEnc.h: Likewise.
16225 * include/grub/efiemu/efiemu.h: Likewise.
16226 * include/grub/command.h: Likewise.
16227 * normal/menu.c: Likewise.
16228 * normal/main.c: Likewise.
16229 * normal/datetime.c: Likewise.
16230 * bus/usb/uhci.c: Likewise.
16231 * mmap/i386/uppermem.c: Likewise.
16232 * mmap/mmap.c: Likewise.
16233 * commands/acpi.c: Likewise.
16234 * commands/test.c: Likewise.
16235 * partmap/apple.c: Likewise.
16236 * font/font.c: Likewise.
16237 * loader/sparc64/ieee1275/linux.c: Likewise.
16238 * loader/macho.c: Likewise.
16239 * loader/i386/bsd_trampoline.S: Likewise.
16240 * loader/i386/bsd.c: Likewise.
16241 * loader/xnu.c: Likewise.
16242 * term/i386/pc/vesafb.c: Likewise.
16243 * term/usb_keyboard.c: Likewise.
16244 * util/resolve.c: Likewise.
16245 * util/getroot.c: Likewise.
16246
0cfc0083 162472009-05-04 Felix Zielcke <fzielcke@z-51.de>
16248
16249 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
16250
7c1d00cd 162512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16252
16253 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
16254 build error.
16255
b01f0548 162562009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16257
16258 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
16259 parameter only available on BIOS.
16260
ecc3eb22 162612009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 Removed wrong semicolon in declaration
16264
16265 * grub/misc.h (grub_dprintf): remove semicolon
16266
112972a9 162672009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16268
16269 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
16270 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
16271 is done by grub_cmd_linux() now).
16272 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
16273 restore video to text mode.
16274 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
16275 indicates lack of "vga=" parameter. "vga=0" is mapped to
16276 `GRUB_LINUX_VID_MODE_NORMAL'.
16277
afd5c115 162782009-05-04 Felix Zielcke <fzielcke@z-51.de>
16279
16280 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
16281 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
16282 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 16283 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 16284 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
16285 `grub_script.tab.c'.
16286
16287 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16288 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16290 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16291 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16292
faa517ce 16293 * Makefile.in: Remove duplicated 2008 in Copyright line.
16294
ae0c0bdc 162952009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16296
473d1e45 16297 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 16298 unconditionally.
16299 * include/grub/util/misc.h (grub_util_warn): New declaration.
16300
16301 * util/i386/pc/grub-install.in: Understand --force and pass it down
16302 to grub-setup.
16303
16304 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
16305 down to setup().
16306 (setup): Improve error messages and add warnings when requested to
16307 install in odd layouts. Refuse to install using blocklists unless
16308 --force was set.
16309
18f547ad 163102009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 16311
16312 * disk/raid.c (grub_raid_scan_device): Improve debug message.
16313
6d260daa 163142009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 Updated copyright year
16317
16318 * fs/hfsplus.c: updated copyright year
18f547ad 16319
69f853f8 163202009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 HFS+ UUID
16323
18f547ad 16324 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 16325 in the space previously used by unused3
16326 (grub_hfsplus_uuid): new function
16327 (grub_hfsplus_fs): added uuid field
16328
4c402e73 163292009-05-03 Pavel Roskin <proski@gnu.org>
16330
16331 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
16332 suppress warnings. It's no longer needed.
16333 * disk/host.c: Likewise.
16334 * disk/ata_pthru.c: Likewise.
16335 * disk/loopback.c: Likewise.
16336 * hook/datehook.c: Likewise.
16337 * parttool/pcpart.c: Likewise.
16338 * fs/i386/pc/pxe.c: Likewise.
16339 * fs/ntfscomp.c: Likewise.
16340 * efiemu/main.c: Likewise.
16341 * mmap/mmap.c: Likewise.
16342 * commands/crc.c: Likewise.
16343 * commands/hexdump.c: Likewise.
16344 * commands/hdparm.c: Likewise.
16345 * commands/acpi.c: Likewise.
16346 * commands/echo.c: Likewise.
16347 * commands/minicmd.c: Likewise.
16348 * commands/blocklist.c: Likewise.
16349 * commands/memrw.c: Likewise.
16350 * commands/loadenv.c: Likewise.
16351 * commands/usbtest.c: Likewise.
16352 * commands/lsmmap.c: Likewise.
16353 * commands/boot.c: Likewise.
16354 * commands/parttool.c: Likewise.
16355 * commands/configfile.c: Likewise.
16356 * commands/search.c: Likewise.
16357 * commands/ieee1275/suspend.c: Likewise.
16358 * commands/cat.c: Likewise.
16359 * commands/i386/pc/pxecmd.c: Likewise.
16360 * commands/i386/pc/play.c: Likewise.
16361 * commands/i386/pc/halt.c: Likewise.
16362 * commands/i386/pc/vbeinfo.c: Likewise.
16363 * commands/i386/pc/vbetest.c: Likewise.
16364 * commands/lspci.c: Likewise.
16365 * commands/date.c: Likewise.
16366 * commands/handler.c: Likewise.
16367 * commands/ls.c: Likewise.
16368 * commands/test.c: Likewise.
16369 * commands/cmp.c: Likewise.
16370 * commands/efi/loadbios.c: Likewise.
16371 * commands/efi/fixvideo.c: Likewise.
16372 * commands/halt.c: Likewise.
16373 * commands/help.c: Likewise.
16374 * commands/reboot.c: Likewise.
16375 * hello/hello.c: Likewise.
16376 * script/sh/main.c: Likewise.
16377 * loader/xnu.c: Likewise.
16378 * term/terminfo.c: Likewise.
16379 * term/i386/pc/serial.c: Likewise.
16380 * term/usb_keyboard.c: Likewise.
16381
515b5079 163822009-05-03 David S. Miller <davem@davemloft.net>
16383
16384 * normal/menu.c: Include grub/parser.h
16385
dfc31a22 163862009-05-03 Pavel Roskin <proski@gnu.org>
16387
2fee74f1 16388 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
16389 not char*.
16390 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
16391 Suggested by Javier Martín <lordhabbit@gmail.com>
16392
dfc31a22 16393 * util/i386/pc/grub-mkrescue.in: Allow for the case when
16394 efiemu??.o doesn't exist.
16395 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
16396 copying.
16397
18f547ad 163982009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 16399
16400 FreeBSD 64-bit support
16401
18f547ad 16402 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 16403 and loader/i386/bsd_trampoline.S
16404 (bsd_mod_ASFLAGS): new variable
16405 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
16406 (FREEBSD_MODTYPE_KERNEL64): likewise
16407 (grub_bsd64_trampoline_start): likewise
16408 (grub_bsd64_trampoline_end): likewise
16409 (grub_bsd64_trampoline_selfjump): likewise
16410 (grub_bsd64_trampoline_gdt): likewise
16411 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
16412 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
16413 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
16414 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 16415 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 16416 of "attrib" member
16417 * loader/i386/bsd_pagetable.c: new file
16418 * loader/i386/bsd_trampoline.S: likewise
16419 * loader/i386/bsd.c (ALIGN_QWORD): new macro
16420 (ALIGN_VAR): likewise
16421 (entry_hi): new variable
16422 (kern_end_mdofs): likewise
16423 (is_64bit): likewise
16424 (grub_freebsd_add_meta): use ALIGN_VAR
16425 (grub_e820_mmap): new declaration
16426 (grub_freebsd_add_mmap): new function
16427 (grub_freebsd_add_meta_module): support 64 bit kernels
16428 (grub_freebsd_list_modules): use ALIGN_VAR
16429 (gdt_descriptor): new declaration
16430 (grub_freebsd_boot): support 64 bit kernels
16431 (grub_bsd_elf64_hook): new function
16432 (grub_bsd_load_elf): support elf64
16433
038c5720 164342009-05-03 Bean <bean123ch@gmail.com>
16435
16436 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
16437 after we get the result of if statement.
16438
fc45fb58 164392009-05-03 Bean <bean123ch@gmail.com>
16440
16441 * Makefile.in (enable_efiemu): New variable.
16442
16443 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
16444 set.
16445 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
16446 path.
16447 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
16448 path, add -mno-red-zone option.
16449 (efiemu64_s.o): Likewise.
16450 (efiemu64.o): Use macro $^ for source file.
16451
16452 * configure.ac (--enable-efiemu): New option.
16453
bbee0f2b 164542009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16455
16456 xnu support
16457
16458 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
16459 (pkglib_MODULES): add xnu.mod
16460 (xnu_mod_SOURCES): new variable
16461 (xnu_mod_CFLAGS): likewise
16462 (xnu_mod_LDFLAGS): likewise
16463 (xnu_mod_ASFLAGS): likewise
16464 * conf/i386-pc.rmk: likewise
16465 * conf/x86_64-efi.rmk: likewise
7dd4a573 16466 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 16467 new declaration
16468 * include/grub/i386/macho.h: new file
16469 * include/grub/i386/xnu.h: likewise
16470 * include/grub/macho.h: likewise
16471 * include/grub/machoload.h: likewise
16472 * include/grub/x86_64/macho.h: likewise
16473 * include/grub/x86_64/xnu.h: likewise
16474 * include/grub/xnu.h: likewise
16475 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
16476 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
16477 * loader/i386/efi/xnu.c: new file
16478 * loader/i386/pc/xnu.c: likewise
16479 * loader/i386/xnu.c: likewise
16480 * loader/i386/xnu_helper.S: likewise
16481 * loader/macho.c: likewise
16482 * loader/xnu.c: likewise
16483 * loader/xnu_resume.c: likewise
16484 * util/grub-dumpdevtree: likewise
16485 * include/grub/i386/pit.h: include grub/err.h
16486 (grub_pit_wait): export
16487 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 16488
5caf964d 164892009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 Efiemu
7dd4a573 16492
5caf964d 16493 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 16494 _linux_efi, linux_efi.
16495 new files in grub-emu
5caf964d 16496 new targets efiemu32.o and efiemu64.o
16497 * loader/linux_normal_efiemu.c: likewise
16498 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 16499 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 16500 files to copy
16501 * include/grub/autoefi.h: new file
7dd4a573 16502 * include/grub/i386/efiemu.h: likewise
5caf964d 16503 * include/grub/i386/pc/efiemu.h: likewise
16504 * include/grub/efi/api.h: add LL suffix when necessary
16505 new definitions relating to tables
16506 * include/grub/efiemu/efiemu.h: new file
16507 * include/grub/efiemu/runtime.h: likewise
16508 * efiemu/prepare.c: likewise
16509 * efiemu/loadcore_common.c: likewise
16510 * efiemu/loadcore64.c: likewise
16511 * efiemu/runtime/efiemu.sh: likewise
16512 * efiemu/runtime/efiemu.S: likewise
16513 * efiemu/runtime/efiemu.c: likewise
16514 * efiemu/runtime/config.h: likewise
16515 * efiemu/prepare32.c: likewise
16516 * efiemu/main.c: likewise
16517 * efiemu/modules/pnvram.c: likewise
16518 * efiemu/modules/i386: likewise
16519 * efiemu/modules/i386/pc: likewise
16520 * efiemu/modules/acpi.c: likewise
16521 * efiemu/i386/pc/cfgtables.c: likewise
16522 * efiemu/i386/loadcore64.c: likewise
16523 * efiemu/i386/loadcore32.c: likewise
16524 * efiemu/prepare64.c: likewise
16525 * efiemu/loadcore.c: likewise
16526 * efiemu/symbols.c: likewise
16527 * efiemu/mm.c: likewise
16528 * efiemu/loadcore32.c: likewise
7dd4a573 16529
165302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 16531
16532 ACPI spoofing
16533
16534 * commands/acpi.c: new file
16535 * commands/i386/pc/acpi.c: likewise
16536 * commands/efi/acpi.c: likewise
16537 * include/grub/acpi.h: likewise
16538 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
16539 (acpi_mod_SOURCES): new variable
16540 (acpi_mod_CFLAGS): likewise
16541 (acpi_mod_LDFLAGS): likewise
16542 * conf/i386-efi.rmk: likewise
16543 * conf/x86_64-efi.rmk: likewise
16544
7dd4a573 165452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 16546
16547 Missing part from mmap patch
16548
16549 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
16550 (grub_mmap_unregister)
16551 (grub_mmap_free_and_unregister): use grub_mmap_register
16552
7dd4a573 165532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 16554
16555 Mmap services
16556
16557 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
16558 * loader/i386/linux.c (find_mmap_size): likewise
16559 (allocate_pages): likewise
16560 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
16561 (grub_fill_multiboot_mmap): likewise
16562 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
16563 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
16564 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
16565 (OPENBSD_MMAP_RESERVED): likewise
16566 * include/grub/i386/pc/memory.h: include grub/memory.h
16567 (grub_lower_mem): removed
16568 (grub_upper_mem): likewise
16569 (GRUB_MACHINE_MEMORY_ACPI): new definition
16570 (GRUB_MACHINE_MEMORY_NVS): likewise
16571 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
16572 (GRUB_MACHINE_MEMORY_HOLE): likewise
16573 (grub_machine_mmap_register): likewise
16574 (grub_machine_mmap_unregister): likewise
16575 (grub_machine_get_upper): likewise
16576 (grub_machine_get_lower): likewise
16577 (grub_machine_get_post64): likewise
16578 * include/grub/i386/efi/memory.h: new file
16579 * include/grub/x86_64/efi/memory.h: likewise
16580 * include/grub/efi/memory.h: likewise
16581 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
16582 (mmap_mod_SOURCES): new variable
16583 (mmap_mod_LDFLAGS): likewise
16584 (mmap_mod_ASFLAGS): likewise
16585 * conf/i386-coreboot.rmk: likewise
16586 * conf/i386-ieee1275.rmk: likewise
16587 * conf/i386-efi.rmk: likewise
16588 * conf/x86_64-efi.rmk: likewise
16589 * include/grub/types.h (UINT_TO_PTR): new macro
16590 (PTR_TO_UINT32): likewise
16591 (PTR_TO_UINT64): likewise
16592 * include/grub/memory.h: new file
16593 * mmap/i386/pc/mmap.c: likewise
16594 * mmap/i386/pc/mmap_helper.S: likewise
16595 * mmap/i386/uppermem.c: likewise
16596 * mmap/mmap.c: likewise
16597 * mmap/efi/mmap.c: likewise
7dd4a573 16598 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 16599 grub_upper_mem
16600 * kern/i386/pc/init.c (grub_lower_mem): removed variable
16601 (grub_upper_mem): likewise
16602 (grub_machine_init): don't use grub_upper_mem,
16603 make grub_lower_mem local
16604 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
16605 grub_mmap_iterate and grub_mmap_get_upper
16606 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
16607
d558e6b5 166082009-05-02 Bean <bean123ch@gmail.com>
16609
16610 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
16611 script/sh/parser.y.
16612 (pkglib_MODULES): Add normal.mod and sh.mod.
16613 (normal_SOURCES): New variable.
16614 (normal_mod_CFLAGS): Likewise.
16615 (normal_mod_LDFLAGS): Likewise.
16616 (sh_mod_SOURCES): Likewise.
16617 (sh_mod_CFLAGS): Likewise.
16618 (sh_mod_LDFLAGS): Likewise.
16619
16620 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
16621 script/sh/lexer.c_DEPENDENCIES.
16622 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
16623 kern/rescue_reader.c and kern/rescue_parser.c.
16624 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
16625 (grub_emu_SOURCES): Change source files.
16626 (pkglib_MODULES): Remove normal.mod.
16627 (normal_SOURCES): Removed.
16628 (normal_mod_CFLAGS): Likewise.
16629 (normal_mod_LDFLAGS): Likewise.
16630 * conf/i386-coreboot.rmk: Likewise.
16631 * conf/i386-efi.rmk: Likewise.
16632 * conf/i386-ieee1276.rmk: Likewise.
16633 * conf/powerpc-ieee1275.rmk: Likewise.
16634 * conf/sparc64-ieee1275.rmk: Likewise.
16635 * conf/x86_64-efi.rmk: Likewise.
16636
16637 * include/grub/command.h (grub_command_execute): New inline function.
16638
16639 * include/grub/menu.h (grub_menu_entry): Removed commands field.
16640
16641 * include/grub/normal.h: Remove <grub/setjmp.h>.
16642 (grub_fs_module_list): Moved to normal/autofs.c.
16643 (grub_exit_env): Removed.
16644 (grub_command_execute): Likewise.
16645 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
16646 parameter script.
16647 (read_command_list): New function declaration.
16648 (read_fs_list): Likewise.
16649
16650 * include/parser.h: Include <grub/reader.h>.
16651 (grub_parser_split_cmdline): Change type of getline parameter.
16652 (grub_parser): New structure.
16653 (grub_parser_class): New variable.
16654 (grub_parser_execute): New function declaration.
16655 (grub_register_rescue_parser): Likewise.
16656 (grub_parser_register): New inline function.
16657 (grub_parser_unregister): Likewise.
16658 (grub_parser_get_current): Likewise.
16659 (grub_parser_set_current): Likewise.
16660
16661 * include/grub/reader.h: New file.
16662 * kern/reader.c: Likewise.
16663 * kern/rescue_parser.c: Likewise.
16664 * kern/rescue_reader.c: Likewise.
16665 * normal/autofs.c: Likewise.
16666 * normal/dyncmd.c: Likewise.
16667
16668 * include/grub/rescue.h: Removed.
16669 * normal/command.h: Likewise.
16670
16671 * include/grub/script.h: Moved to ...
16672 * include/grub/script_sh.h: ... Moved here.
16673 * normal/execute.c: Moved to ...
16674 * script/sh/execute.c: ... Moved here.
16675 * normal/function.c: Moved to ...
16676 * script/sh/function.c: ... Moved here.
16677 * normal/lexer.c: Moved to ...
16678 * script/sh/lexer.c: ... Moved here.
16679 * normal/parser.y: Moved to ...
16680 * script/sh/parser.y: ... Moved here.
16681 * normal/script.c: Moved to ...
16682 * script/sh/script.c: ... Moved here.
16683
16684 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
16685 <grub/reader.h>.
16686 (grub_exit_env): Removed.
16687 (fs_module_list): Moved to normal/autofs.c.
16688 (grub_file_getline): Don't handle comment here.
16689 (free_menu): Skip removed field entry->commands.
16690 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
16691 script parameter.
16692 (read_config_file): Removed nested parameter, change getline function.
16693 (grub_enter_normal_mode): Removed.
16694 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
16695 (read_command_list): Likewise.
16696 (autoload_fs_module): Moved to normal/autofs.c.
16697 (read_fs_list): Likewise.
16698 (reader_nested): New variable.
16699 (grub_normal_execute): Run parser.sh to switch to sh parser.
16700 (grub_cmd_rescue): Removed.
16701 (cmd_normal): Removed.
16702 (grub_cmd_normal): Unregister itself at the beginning. Don't register
16703 rescue command.
16704 (grub_cmdline_run): New function.
16705 (grub_normal_reader_init): Likewise.
16706 (grub_normal_read_line): Likewise.
16707 (grub_env_write_pager): Likewise.
16708 (cmdline): New variable.
16709 (grub_normal_reader): Likewise.
16710 (GRUB_MOD_INIT): Register normal reader and set as current, register
16711 pager hook, register normal command with grub_register_command_prio,
16712 so that it won't show up in command.lst.
16713 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
16714 grub_fs_autoload_hook.
16715
16716 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
16717 (grub_menu_execute_entry): Replace grub_script_execute with
16718 grub_parser_execute, change parameter to grub_command_execute.
16719
16720 * normal/menu_text.c: Remove <grub/script.h>.
16721
16722 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
16723 and <grub/parser.h>.
16724 (run): Change editor_getline to use new parser interface. Change
16725 parameter to grub_command_execute.
16726
16727 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
16728 <grub/reader.h> and <grub/parser.h>.
16729 (grub_load_normal_mode): Execute normal command.
16730 (grub_main): Call grub_register_core_commands,
16731 grub_register_rescue_parser and grub_register_rescue_reader, use
16732 grub_reader_loop to enter input loop.
16733
7dd4a573 16734 * kern/parser.c (grub_parser_split_cmdline): Change type of
16735 getline parameter.
d558e6b5 16736 (grub_parser_class): New variable.
16737 (grub_parser_execute): New function.
16738
16739 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
16740 * loader/multiboot2.c: Likewise.
16741 * loader/sparc64/ieee1275/linux.c: Likewise.
16742
16743 * util/grub-emu.c (read_command_list): New dummy function.
16744
18db813d 167452009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16746
16747 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
16748 count to 16 for CCISS and IDA.
16749
6c67de15 167502009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16751
16752 * normal/menu_text.c (grub_wait_after_message): Print a newline
16753 after waiting for user input.
16754
16755 * loader/i386/linux.c: Include `<grub/normal.h>'.
16756 (grub_cmd_linux): Improve the error message about `ask' mode, by
16757 waiting for user input so it's not missed (we can do this, since
16758 user requested interaction).
16759
d9dc87b0 167602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16761
16762 Added missing lst to grub-mkrescue
16763
16764 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
16765 and ${input_dir}/parttool.lst
16766
ac8a2baa 167672009-04-30 David S. Miller <davem@davemloft.net>
16768
ad22a610 16769 * util/hostdisk.c (device_is_wholedisk): New function.
16770 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
16771 zero only if device_is_wholedisk() returns true.
16772
6966215d 16773 * util/hostdisk.c (convert_system_partition_to_system_disk):
16774 Handle virtual disk devices named /dev/vdiskX as found on sparc
16775 and powerpc.
16776
ac8a2baa 16777 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
16778 lettered partition specifier is found, convert to numbered.
16779
979b4fb4 167802009-04-29 David S. Miller <davem@davemloft.net>
16781
e2bf39b2 16782 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
16783 * include/grub/sparc64/ieee1275/memory.h: Likewise.
16784
3c64e104 16785 * normal/command.c: Add missing newline at end of file.
16786
979b4fb4 16787 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
16788 warnings.
16789 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
16790 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
16791 grub_ofdisk_read): Likewise, and deal similarly with the fact that
16792 ihandles have a 32-bit type but need to be stored in a "void *".
16793
136d9f82 167942009-04-28 Pavel Roskin <proski@gnu.org>
16795
9459c306 16796 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
16797 not disk. Adjust all dependencies.
2e08a26a 16798 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 16799 grub_disk_close().
16800
136d9f82 16801 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
16802 parent's partition, don't copy it by reference, as it gets freed
16803 on close.
16804
7dd4a573 168052009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 16806
16807 Preboot hooks support
16808
16809 * commands/boot.c (struct grub_preboot_t): new declaration
16810 (preboots_head): new variable
16811 (preboots_tail): likewise
16812 (grub_loader_register_preboot_hook): new function
16813 (grub_loader_unregister_preboot_hook): likewise
16814 (grub_loader_set): launch preboot hooks
16815 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
16816 (grub_loader_register_preboot_hook): new declaration
16817 (grub_loader_unregister_preboot_hook): likewise
16818
5af922b5 168192009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16820
16821 Warning fix
16822
7dd4a573 16823 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 16824 calling grub_dprintf
16825
a5562c30 168262009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
16827
16828 Bug and warning fixes
16829
7dd4a573 16830 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 16831 declaration
16832 * commands/test.c (test_parse): fixed bug with file tests and corrected
16833 declaration of find_file
16834
4006f85c 168352009-04-26 Pavel Roskin <proski@gnu.org>
16836
16837 * Makefile.in: Don't install empty manual pages if help2man is
16838 missing. Use help2man option for output, not shell redirection.
16839
5c77c3de 168402009-04-26 David S. Miller <davem@davemloft.net>
16841
16842 * util/grub-mkdevicemap.c (make_device_map): Add missing
16843 NESTED_FUNC_ATTR to process_device().
16844
033b10a8 168452009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16846
16847 Test command
16848
16849 * commands/test.c: rewritten to use bash-like test
16850
e4343593 168512009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 Parttool autoloading and improvements
16854
7dd4a573 16855 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 16856 (parttool.lst): new target
16857 * genmk.rb: generate parttool-*
16858 (CLEANFILES): add #{parttool}
16859 (PARTTOOLFILES): new variable
16860 * genparttoollist.sh: new file
7dd4a573 16861 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 16862 (grub_pcpart_type): likewise
16863 * commands/parttool.c (helpmsg): new variable
16864 (grub_cmd_parttool): output help if not enough arguments are supplied
16865 autoload modules
16866 (GRUB_MOD_INIT(parttool)): use helpmsg
16867
0d312500 168682009-04-24 David S. Miller <davem@davemloft.net>
16869
7dd4a573 16870 Avoiding opening same device multiple times in device iterator.
0d312500 16871
16872 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 16873 and use it to build a list of partitions in iterate_disk() and
0d312500 16874 iterate_partition().
16875
ac20caff 16876 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
16877 on disk->data.
16878
0dcf7495 16879 * disk/ieee1275/nand.c (grub_nand_iterate): Return
16880 grub_devalias_iterate() result instead of unconditional 0.
16881 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
16882 Also, capture hook return value, either directly or via
16883 grub_children_iterate(), and propagate to caller.
16884 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
16885 grub_children_iterate): Return value is now 'int' instead of
16886 'grub_err_t'.
16887 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
16888 like a proper iterator, stopping when hooks return non-zero.
16889 (grub_devalias_iterate): Likewise.
16890
c8c08833 168912009-04-23 David S. Miller <davem@davemloft.net>
16892
16893 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
16894
f01005a8 168952009-04-22 David S. Miller <davem@davemloft.net>
16896
16897 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
16898 is larger than address_cells, use that value for address_cells too.
16899
4e8269da 16900 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
16901 IEEE1275_MAX_PATH_LEN): Define.
16902 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
16903 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
16904 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
16905 'devtype'. Explicitly NULL terminate devalias expansion.
16906
a1447506 16907 * util/sparc64/ieee1275/misc.c: New file.
16908 * util/sparc64/ieee1275/grub-setup.c: New file.
16909 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
16910 * util/sparc64/ieee1275/grub-mkimage.c: New file.
16911 * util/sparc64/ieee1275/grub-install.in: New file.
16912 * util/ieee1275/ofpath.c: New file.
16913 * util/ieee1275/devicemap.c: New file.
16914 * util/devicemap.c: New file.
16915 * util/deviceiter.c: New file.
16916 * kern/sparc64/ieee1275/init.c: New file.
16917 * include/grub/util/ofpath.h: New file.
16918 * include/grub/util/deviceiter.h: New file.
16919 * util/grub-mkdevicemap.c: Include deviceiter.h.
16920 Implement using grub_util_emit_devicemap_entry and
16921 grub_util_iterate_devices.
16922 * conf/i386-corebook.rmk: Build util/deviceiter.c and
16923 util/devicemap.c into grub-mkdevicemap
16924 * conf/i386-efi.rmk: Likewise.
16925 * conf/i386-ieee1275.rmk: Likewise.
16926 * conf/i386-pc.rmk: Likewise.
16927 * conf/powerpc-ieee1275.rmk: Likewise.
16928 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
16929 images and installation utilities. Build kernel as image
16930 instead of as elf binary. Use common rules as much as possible.
16931
7dd4a573 169322009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 16933
16934 Correct GPT definition
16935
7dd4a573 16936 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 16937 of "attrib" member
16938
c6c5219f 169392009-04-19 Felix Zielcke <fzielcke@z-51.de>
16940
16941 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
16942
0552ff9f 169432009-04-19 David S. Miller <davem@davemloft.net>
16944
16945 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
16946 (grub_rescue_cmd_linux): Rename to...
16947 (grub_cmd_linux): and fix prototype.
16948 (grub_rescue_cmd_initrd): Rename to...
16949 (grub_cmd_initrd): and fix prototype.
16950 (cmd_linux, cmd_initrd): New.
16951 (GRUB_MOD_INIT(linux)): Use grub_register_command().
16952 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
16953
d1a282fc 169542009-04-17 Pavel Roskin <proski@gnu.org>
16955
07c5039f 16956 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
16957 format.
16958 (grub_ohci_transfer): Likewise.
16959
b012002d 16960 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
16961
1bc09c35 16962 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
16963 return without a value. Fix inconsistent indentation.
16964
e0ff9126 16965 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
16966 match struct grub_fs.
16967
d1a282fc 16968 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
16969 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
16970 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
16971 * commands/lspci.c (grub_lspci_iter): Likewise.
16972
a96df3f2 169732009-04-16 Bean <bean123ch@gmail.com>
16974
16975 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
16976 value.
16977
41bb0fe9 169782009-04-15 Pavel Roskin <proski@gnu.org>
16979
16980 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
16981 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
16982 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
16983 definitions.
16984
596c6970 169852009-04-15 Felix Zielcke <fzielcke@z-51.de>
16986
16987 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 16988 that no multiple data or metadata areas are supported and `Unknown
596c6970 16989 metadata header'.
16990
7dd4a573 169912009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 16992
16993 Move loader out of the kernel
16994
16995 * kern/loader.c: moved to ...
16996 * commands/boot.c: ... moved here
16997 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
16998 * commands/boot.c (grub_cmd_boot): moved here. All users updated
16999 * include/grub/kernel.h (grub_machine_fini): export
17000 * include/grub/loader.h (grub_loader_is_loaded): update declaration
17001 (grub_loader_set): likewise
17002 (grub_loader_unset): likewise
17003 (grub_loader_boot): likewise
17004 * conf/common.rmk: new module boot.mod
17005 (pkglib_MODULES): add boot.mod
17006 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
17007 (grub_emu_SOURCES): likewise
17008 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
17009 (grub_emu_SOURCES): likewise
17010 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
17011 (grub_emu_SOURCES): likewise
17012 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
17013 (grub_emu_SOURCES): likewise
17014 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
17015 (grub_emu_SOURCES): likewise
7dd4a573 17016 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
17017 (grub_emu_SOURCES): likewise
0d5d5653 17018 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 17019 (grub_emu_SOURCES): likewise
0d5d5653 17020
7dd4a573 170212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 17022
17023 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 17024
5999d619 17025 * kern/misc.c (grub_itoa): Removed function
17026 (grub_ltoa): likewise
17027 (grub_vsprintf): use grub_lltoa
17028
7dd4a573 170292009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 17030
17031 Restore grub-emu
17032
17033 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
17034 * conf/i386-coreboot.rmk: likewise
17035 * conf/i386-ieee1275.rmk: likewise
17036 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17037
20318222 170382009-04-15 Felix Zielcke <fzielcke@z-51.de>
17039
17040 * INSTALL: Add that `./autogen.sh' needs to be run before
17041 `./configure.'.
17042
d05f0df3 170432009-04-14 Bean <bean123ch@gmail.com>
17044
17045 * Makefile.in (pkglib_DATA): Add handler.lst.
17046 (handler.lst): New rule.
17047
17048 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
17049 * conf/i386-coreboot.rmk: Likewise.
17050 * conf/i386-ieee1275.rmk: Likewise.
17051 * conf/i386-efi.rmk: Likewise.
17052 * conf/x86_64-efi.rmk: Likewise.
17053 * conf/powerpc-ieee1275.rmk: Likewise.
17054 * conf/sparc64-ieee1275.rmk: Likewise.
17055
17056 * genhandlerlist.sh: New file.
17057
17058 * genmk.rb: Add rules to generate handler.lst.
17059
17060 * include/grub/normal.h (grub_file_getline): New function definition.
17061 (read_handler_list): Likewise.
17062 (free_handler_list): Likewise.
17063
17064 * include/grub/term.h (grub_term_register_input): Add name parameter
17065 for auto generation of handler.lst.
17066 (grub_term_register_output): Likewise.
17067
17068 * normal/handler.c: New file.
17069
17070 * normal/main.c (get_line): Renamed to grub_file_getline.
17071 (read_config_file): Use the newly renamed grub_file_getline.
17072 (read_command_list): Likewise.
17073 (read_fs_list): Likewise.
17074 (grub_normal_execute): Call read_handler_list to parse handler.lst.
17075 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
17076
17077 * term/efi/console.c (grub_console_init): Add name parameter for auto
17078 generation of handler.lst.
17079 * term/gfxterm.c: Likewise.
17080 * term/i386/pc/at_keyboard.c: Likewise.
17081 * term/i386/pc/console.c: Likewise.
17082 * term/i386/pc/serial.c: Likewise.
17083 * term/i386/pc/vesafb.c: Likewise.
17084 * term/i386/pc/vga.c: Likewise.
17085 * term/i386/pc/vga_text.c: Likewise.
17086 * term/ieee1275/ofconsole.c: Likewise.
17087 * term/usb_keyboard.c: Likewise.
17088
33c846be 170892009-04-14 Bean <bean123ch@gmail.com>
17090
17091 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
17092 properly with null character.
17093
4484e01e 170942009-04-14 Felix Zielcke <fzielcke@z-51.de>
17095
17096 * configure: Remove.
17097 * config.h.in: Likewise.
f93d668e 17098 * stamp-h.in: Likewise.
4484e01e 17099 * DISTLIST: Likewise.
17100 * conf/common.mk: Likewise.
17101 * conf/i386-coreboot.mk: Likewise.
17102 * conf/i386-efi.mk: Likewise.
17103 * conf/i386-ieee1275.mk: Likewise.
17104 * conf/i386.mk: Likewise.
17105 * conf/i386-pc.mk: Likewise.
17106 * conf/powerpc-ieee1275.mk: Likewise.
17107 * conf/sparc64-ieee1275.mk: Likewise.
17108 * conf/x86_64-efi.mk: Likewise.
17109
17110 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
17111 develop on GRUB.
17112
7dd4a573 171132009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 17114 David S. Miller <davem@davemloft.net>
17115
17116 * util/hostdisk.c (make_device_name): Fix buffer length
17117 calculations.
17118
e25b5a8c 171192009-04-14 Felix Zielcke <fzielcke@z-51.de>
17120
17121 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
17122 <sys/param.h> and <sys/sysctl.h>.
17123 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
17124 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
17125 opening the device and reset them afterwards.
17126
1f1f580c 171272009-04-13 Pavel Roskin <proski@gnu.org>
17128
17129 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
17130 Reported by John Stanley <jpsinthemix@verizon.net>
17131
7ebc2d6b 171322009-04-13 Robert Millan <rmh@aybabtu.com>
17133
17134 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 17135 that name for menuentries when appropriate.
7ebc2d6b 17136
d8ba3667 171372009-04-13 Felix Zielcke <fzielcke@z-51.de>
17138
17139 * util/grub.d/10_freebsd.in: Add a missing `fi'.
17140
cba416eb 171412009-04-13 Robert Millan <rmh@aybabtu.com>
17142
17143 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
17144 to Linux, simply abort telling the user it's no longer supported.
17145
a547a745 171462009-04-13 Felix Zielcke <fzielcke@z-51.de>
17147
17148 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 17149 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 17150 `freebsd_loadenv' only when devices.hints exist.
17151
232a769c 171522009-04-13 Pavel Roskin <proski@gnu.org>
17153
17154 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
17155
c3012039 171562009-04-13 Felix Zielcke <fzielcke@z-51.de>
17157
17158 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
17159 partition number.
17160 (grub_drive): Likewise.
17161
234022fe 171622009-04-13 David S. Miller <davem@davemloft.net>
17163
17164 * kern/sparc64/ieee1275/ieee1275.c: New file.
17165 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
17166 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
17167 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
17168 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
17169 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
17170 grub_ieee1275_alloc_physmem): Declare new exported functions.
17171
d8e1836c 17172 * include/grub/sparc64/ieee1275/loader.h: New file.
17173 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17174 * include/grub/sparc64/kernel.h: Likewise.
17175 * loader/sparc64/ieee1275/linux.c: Likewise.
17176
96bd81ec 17177 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
17178 (grub_fstest_SOURCES): Likewise.
17179
6a4737e5 17180 * util/hostdisk.c (make_device_name): Do not make any assumptions
17181 about the length of drive names.
17182
1d7a72fd 17183 * kern/dl.c (grub_dl_load_file): Close file immediately when
17184 we are done using it.
17185
56bc2471 171862009-04-12 David S. Miller <davem@davemloft.net>
17187
17188 * kern/misc.c (grub_ltoa): Fix cast when handling negative
17189 values. Noticed by Pavel Roskin.
17190
df38d0bb 17191 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
17192 target compiler.
7dd4a573 17193
e382e93a 17194 * genmk.rb: Add more flexible image type specification, also
17195 pass --strip-unneeded to objcopy.
17196 * conf/i386-pc.rmk: Use *_FORMAT.
17197 * conf/i386-pc.mk: Rebuilt.
17198
f5dbbca9 17199 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
17200 (OFDISK_HASH_SZ): Define.
17201 (ofdisk_hash): New hash table.
17202 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
17203 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
17204 instead of device phandle which is not unique.
17205
91c88b12 17206 * kern/sparc64/ieee1275/init.c: Delete, replace with...
17207 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
17208 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
17209 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
17210 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
17211 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
17212 GRUB_KERNEL_MACHINE_DATA_END): Define.
17213 (grub_kernel_image_size, grub_total_module_size): Declare.
17214
5b5d4aa5 172152009-04-12 Pavel Roskin <proski@gnu.org>
17216
7dd4a573 17217 * configure.ac: Change the logic when we check for target tools.
17218 Do it when the target is specified and it's different from the
17219 specified value of the host.
5b5d4aa5 17220
c91e1793 172212009-04-11 Felix Zielcke <fzielcke@z-51.de>
17222
17223 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
17224 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
17225 GNU/kFreeBSD. Check if a device is a character device. Use
17226 DIOCGMEDIASIZE to get the size.
17227 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
17228 support for GNU/kFreeBSD.
17229 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
17230 is a character device instead of a block device. Add support for
17231 FreeBSD device names.
17232
17233 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
17234 is a character device instead of a block device.
17235
17236 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
17237 is a character device instead of a block device.
17238
b1ac8644 172392009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
17240
17241 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
17242 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
17243 FreeBSD. Check if a device is a character device. Use
17244 DIOCGMEDIASIZE to get the size.
17245 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
17246 support for FreeBSD.
17247 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
17248 is a character device instead of a block device. Add support for
17249 FreeBSD device names.
17250
17251 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
17252 a character device instead of a block device.
17253 (grub_util_check_char_device): New function.
17254
17255 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
17256 a character device instead of a block device.
17257
17258 * include/grub/util/getroot.h (grub_util_check_char_device): New
17259 prototype.
17260
a3f7515a 172612009-04-11 David S. Miller <davem@davemloft.net>
17262
17263 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
17264 static libgcc.
17265 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
17266 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
17267 function, if present.
17268 (__bswapdi2): Likewise.
17269
0d44993d 17270 * include/grub/sparc64/ieee1275/boot.h: New file.
17271 * boot/sparc64/ieee1275/boot.S: Likewise.
17272 * boot/sparc64/ieee1275/diskboot.S: Likewise.
17273
ed3d2bc2 17274 * kern/misc.c (grub_ltoa): New function.
17275 (grub_vsprintf): Use it to format 'long' integers.
17276
d3bfb59c 172772009-04-10 David S. Miller <davem@davemloft.net>
17278
17279 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
17280 slots are of type grub_ieee1275_cell_t.
17281 (grub_nand_read): Likewise.
17282 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
17283 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
17284 macros are used to compare values in arg/ret block of the call.
17285 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17286 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
17287 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
17288 grub_ieee1275_instance_to_path, grub_ieee1275_write,
17289 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
17290 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
17291 grub_ieee1275_close, grub_ieee1275_set_property,
17292 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
17293 grub_ieee1275_cell_t.
17294 * kern/ieee1275/openfw.c (grub_map): Likewise.
17295 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
17296 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
17297
450e2238 17298 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
17299 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
17300 (grub_devalias_iterate): Likewise.
17301
7dd4a573 173022009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 17303
17304 UFS improvements
17305
17306 * fs/ufs.c (INODE_NBLOCKS): new definition
17307 (struct grub_ufs_dirent): added fields for non-BSD dirents
17308 (grub_ufs_get_file_block): fixed double indirect handling
17309 (grub_ufs_lookup_symlink): use more robust way to determine whether
17310 symlink is inline
17311 (grub_ufs_find_file): support for non-BSD dirents
17312 (grub_ufs_dir): support for non-BSD dirents
17313
e7e6862a 173142009-04-10 Bean <bean123ch@gnail.com>
17315
17316 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
17317 attribute, otherwise the size would be wrong for i386 platform.
17318
17319 * include/grub/pci.h (grub_pci_read_word): New inline function.
17320 (grub_pci_read_byte): Likewise.
17321 (grub_pci_write): Likewise.
17322 (grub_pci_write_word): Likewise.
17323 (grub_pci_write_byte): Likewise.
17324
17325 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
17326
17327 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
17328 (find_framebuf): Scan pci to locate the frame buffer address.
17329
17330 * commands/efi/fixvideo.c: New file.
17331
17332 * commands/efi/loadbios.c: Likewise.
17333
17334 * commands/memrw.c: Likewise.
17335
17336 * util/grub-dumpbios.in: Likewise.
17337
17338 * conf/common.rmk (grub-dumpbios): New utility.
17339 (pkglib_MODULES): New module memrw.mod.
17340 (memrw_mod_SOURCE): New macro.
17341 (memrw_mod_CFLAGS): Likewise.
17342 (memrw_mod_LDFLAGS): Likewise.
17343
7dd4a573 17344 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17345 fixvideo.mod.
17346 (loadbios_mod_SOURCE): New macro.
17347 (loadbios_mod_CFLAGS): Likewise.
17348 (loadbios_mod_LDFLAGS): Likewise.
17349 (fixvideo_mod_SOURCE): Likewise.
17350 (fixvideo_mod_CFLAGS): Likewise.
17351 (fixvideo_mod_LDFLAGS): Likewise.
17352
7dd4a573 17353 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17354 fixvideo.mod.
17355 (loadbios_mod_SOURCE): New macro.
17356 (loadbios_mod_CFLAGS): Likewise.
17357 (loadbios_mod_LDFLAGS): Likewise.
17358 (fixvideo_mod_SOURCE): Likewise.
17359 (fixvideo_mod_CFLAGS): Likewise.
17360 (fixvideo_mod_LDFLAGS): Likewise.
17361
af63ada2 173622009-04-08 Felix Zielcke <fzielcke@z-51.de>
17363
17364 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
17365
c2cdde70 173662009-04-07 David S. Miller <davem@davemloft.net>
17367
17368 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
17369 support for R_SPARC_OLO10 relocations. Fix compile warning for
17370 R_SPARC_WDISP30 case.
ea3f72cf 17371 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 17372
761319cf 173732009-04-06 Pavel Roskin <proski@gnu.org>
17374
1007d1f5 17375 * include/grub/misc.h (ARRAY_SIZE): New macro.
17376 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
17377 New macro.
17378 * loader/i386/linux.c (allocate_pages): Use free_pages().
17379 (grub_linux_unload): Don't use free_pages().
17380 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
17381 wrong index. Treat all other modes as text modes.
17382 (grub_cmd_linux): Initialize vid_mode unconditionally to
17383 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
17384
761319cf 17385 * commands/help.c (print_command_help): Use cmd->prio, not
17386 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
17387
ea761d40 173882009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 17389
ea761d40 17390 Parttool
17391
17392 * parttool/pcpart.c: new file
17393 * commands/parttool.c: likewise
17394 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
17395 (parttool_mod_SOURCES): new variable
17396 (parttool_mod_CFLAGS): likewise
17397 (parttool_mod_LDFLAGS): likewise
17398 (pcpart_mod_SOURCES): likewise
17399 (pcpart_mod_CFLAGS): likewise
17400 (pcpart_mod_LDFLAGS): likewise
7dd4a573 17401 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 17402 and parttool/pcpart.c
17403 * conf/i386-efi.rmk: likewise
17404 * conf/i386-ieee1275.rmk: likewise
17405 * conf/i386-pc.rmk: likewise
17406 * conf/powerpc-ieee1275.rmk: likewise
17407 * conf/sparc64-ieee1275.rmk: likewise
17408 * conf/x86_64-ieee1275.rmk: likewise
17409
05aaebfb 174102009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 Support for mtime and further expandability of dir command
17413
17414 * include/grub/lib/datetime.h: moved to ...
7dd4a573 17415 * include/grub/datetime.h: ... moved here and added
05aaebfb 17416 declaration of grub_unixtime2datetime. All users updated
7dd4a573 17417 * include/grub/fs.h: new syntax for dir and mtime functions in
17418 struct grub_fs
05aaebfb 17419 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
17420 and GRUB_FSHELP_FLAGS_MASK
17421 * commands/ls.c (grub_ls_list_files): Write mtime in long format
17422 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
17423 (grub_ext2_mtime): new function
17424 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
17425 (grub_hfsplus_mtime): new function
17426 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
17427 (GRUB_UFS_ATTR_FILE): likewise
17428 (GRUB_UFS_ATTR_LNK): likewise
17429 (struct grub_ufs_sblock): new fields mtime
17430 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
17431 all users updated
17432 (grub_ufs_dir): mtime support
17433 (grub_ufs_mtime): new function
17434 * fs/affs.c (grub_affs_dir): use new dir syntax
17435 * fs/afs.c (grub_afs_dir): likewise
17436 * fs/cpio.c (grub_cpio_dir): likewise
17437 * fs/fat.c (grub_fat_find_dir): likewise
17438 * fs/hfs.c (grub_hfs_dir): likewise
17439 * fs/iso9660.c (grub_iso9660_dir): likewise
17440 * fs/jfs.c (grub_jfs_dir): likewise
17441 * fs/minix.c (grub_minix_dir): likewise
17442 * fs/ntfs.c (grub_ntfs_dir): likewise
17443 * fs/reiserfs.c (grub_reiserfs_dir): likewise
17444 * fs/sfs.c (grub_sfs_dir): likewise
17445 * fs/xfs.c (grub_xfs_dir): likewise
17446 * util/hostfs.c (grub_hostfs_dir): likewise
17447 * lib/datetime.c: moved to ...
17448 * normal/datetime.c: ... moved here
17449 (grub_unixtime2datetime): new function
17450 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 17451 * normal/completion.c (iterate_dir): use new dir syntax
17452 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 17453 last modification time of a volume
7dd4a573 17454 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 17455 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 17456 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 17457 (normal_mod_SOURCES): likewise
17458 (datetime_mod_SOURCES): Removed lib/datetime.c
17459 * conf/i386-efi.rmk: likewise
7dd4a573 17460 * conf/i386-ieee1275.rmk: likewise
05aaebfb 17461 * conf/i386-pc.rmk: likewise
17462 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17463 * conf/sparc64-ieee1275.rmk: likewise
17464 * conf/x86_64-efi.rmk: likewise
05aaebfb 17465
8a7e1a14 174662009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17467
17468 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 17469
17470 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 17471 on grub_fat_find_dir
17472 (grub_fat_find_dir): use grub_fat_iterate_dir
17473 (grub_fat_label): likewise
17474
04186a9c 174752009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17476
7dd4a573 17477 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 17478 and command.h
17479 remove extraneous kernel_elf_HEADERS
17480
da4c0bb6 174812009-04-04 Bean <bean123ch@gnail.com>
17482
17483 * include/grub/util/misc.h: Add dummy function fsync for mingw.
17484
17485 * util/misc.c: Likewise.
17486
54ad9555 174872009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
17488
17489 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
17490 instead of grub_printf.
17491
7a6bf9f2 174922009-04-03 Robert Millan <rmh@aybabtu.com>
17493
17494 * loader/i386/linux.c (grub_linux_setup_video): Fill
17495 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
17496 values from `mode info' structure instead of hardcoded
17497 values.
17498
3fcc2083 174992009-04-01 Pavel Roskin <proski@gnu.org>
17500
17501 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
17502 unused now.
17503 * genmk.rb: Likewise.
17504 * configure.ac: Likewise.
17505
5ec9740b 175062009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
17507
17508 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
17509 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
17510
5270cec8 175112009-04-01 David S. Miller <davem@davemloft.net>
17512
17513 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 17514 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 17515 (grub_setjmp): Mark with 'returns_twice' attribute.
17516 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
17517 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
17518 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
17519
9c3dd854 175202009-04-01 Robert Millan <rmh@aybabtu.com>
17521
17522 Reapply fix from 2008-07-28 which was accidentally reverted; also
17523 perform the same fix to a similar check in same function.
17524
17525 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17526 with the same number are found, just use issue a warning with
17527 grub_dprintf(), as this error has been reported to be non-fatal.
17528
0d818b7e 175292009-03-31 Pavel Roskin <proski@gnu.org>
17530
17531 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
17532 for cross-compilation.
17533
95646d92 175342009-03-30 Robert Millan <rmh@aybabtu.com>
17535
17536 Fix i386-ieee1275 build.
17537
17538 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
17539 Remove declaration.
17540
6a003ed1 175412009-03-30 Pavel Roskin <proski@gnu.org>
17542
17543 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
17544 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
17545 zero-terminated, rely only on the strlen value. Fix comparison
17546 of strings differing in length.
17547
92f33540 175482009-03-30 Robert Millan <rmh@aybabtu.com>
17549
17550 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
17551 checking for abi version. Improve error messages on BIOS to notify
17552 user about `linux16' command.
17553
a8c48fd5 175542009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17555
f968172e 17556 Leak fixes
a8c48fd5 17557
f968172e 17558 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
17559 in case of collision
17560 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 17561
9c323f09 175622009-03-29 Robert Millan <rmh@aybabtu.com>
17563
17564 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
17565 set `vid_mode' accordingly.
17566 (grub_linux_boot): Process `vid_mode' and set video mode.
17567
ae68f423 175682009-03-29 Robert Millan <rmh@aybabtu.com>
17569
17570 * util/grub.d/10_linux.in (linux_entry): New function.
17571 Factorize generation of Linux boot entries.
17572
5709cfc4 175732009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
17574
17575 Make the format of Environment Block plain text. The boot loader
17576 part is not tested well yet.
7dd4a573 17577
5709cfc4 17578 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
17579 (buffer): Removed.
17580 (envblk): Likewise.
17581 (usage): Remove "info" and "clear". Add "unset". Update the
17582 description of "set", as this does not delete variables any
17583 longer.
17584 (create_envblk_file): Complete rewrite.
17585 (open_envblk_file): Likewise.
17586 (cmd_info): Removed.
17587 (cmd_list): Likewise.
17588 (cmd_set): Likewise.
17589 (cmd_clear): Likewise.
17590 (list_variables): New function.
17591 (write_envblk): Likewise.
17592 (set_variables): Likewise.
17593 (unset_variables): Likewise.
17594 (main): Complete rewrite.
17595
17596 * commands/loadenv.c (buffer): Removed.
17597 (envblk): Likewise.
17598 (open_envblk_file): New function.
17599 (read_envblk_file): Complete rewrite.
17600 (grub_cmd_load_env): Likewise.
17601 (grub_cmd_list_env): Likewise.
17602 (struct blocklist): New struct.
17603 (free_blocklists): New function.
17604 (check_blocklists): Likewise.
17605 (write_blocklists): Likewise.
17606 (grub_cmd_save_env): Complete rewrite.
17607
17608 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
17609 a plain text signature.
17610 (GRUB_ENVBLK_MAXLEN): Removed.
17611 (struct grub_envblk): Complete rewrite.
17612 (grub_envblk_find): Removed.
17613 (grub_envblk_insert): Likewise.
17614 (grub_envblk_open): New prototype.
17615 (grub_envblk_set): Likewise.
17616 (grub_envblk_delete): Put const to VALUE.
17617 (grub_envblk_iterate): Put const to NAME and VALUE.
17618 (grub_envblk_close): New prototype.
17619 (grub_envblk_buffer): New inline function.
17620 (grub_envblk_size): Likewise.
17621
17622 * lib/envblk.c: Include grub/mm.h.
17623 (grub_env_find): Removed.
17624 (grub_envblk_open): New function.
17625 (grub_envblk_close): Likewise.
17626 (escaped_value_len): Likewise.
17627 (find_next_line): Likewise.
17628 (grub_envblk_insert): Removed.
17629 (grub_envblk_set): New function.
17630 (grub_envblk_delete): Complete rewrite.
17631 (grub_envblk_iterate): Likewise.
17632
a9368fd3 176332009-03-28 Robert Millan <rmh@aybabtu.com>
17634
17635 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
17636 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
17637 variables. Use 16-bit loader.
17638 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
17639 loader.
17640 * kern/i386/loader.S (grub_linux_boot): Rename to ...
17641 (grub_linux16_boot): ... this. Update all users.
17642 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
17643 (grub_linux_boot): ... this. Update all users.
17644
17645 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
17646 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
17647 commands to `linux16' and `initrd16'.
17648 (GRUB_MOD_FINI(linux)): Rename to ...
17649 (GRUB_MOD_FINI(linux16)): ... this.
17650
e4dd5a7e 176512009-03-24 Pavel Roskin <proski@gnu.org>
17652
17653 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
17654 not just for compilation.
17655
c04d6e05 176562009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 Move multiboot helper out of kernel
17659
17660 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
17661 `loader/i386/multiboot_helper.S'.
17662 * conf/i386-coreboot.rmk: Likewise
17663 * conf/i386-ieee1275.rmk: Likewise
17664
17665 * kern/i386/loader.S: Move multiboot helpers from here...
17666 * loader/i386/multiboot_helper.S: ...moved here
17667 * include/grub/i386/loader.h: Move declarations of multiboot
17668 helpers from here...
17669 * include/grub/i386/multiboot.h: ...moved here
17670 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
17671
42a5b3fc 176722009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17673
17674 * kern/env.c (grub_env_context_open): Added an argument to specify
17675 whether a new context inherits exported variables from current
17676 one. This is useful when making a sandbox to interpret a config
17677 file.
17678 All callers updated.
17679
17680 * include/grub/env.h (grub_env_context_open): Updated the prototype.
17681
b28bbc4e 176822009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17683
17684 * kern/env.c (grub_env_context_close): Fix memory leaks.
17685
f04f02e4 176862009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17687
17688 * normal/main.c (grub_normal_execute): Added an argument
17689 BATCH to specify if an interactive interface should be provided
17690 after reading a config file.
17691 All callers updated.
17692 (read_command_list): Prevent being executed twice.
17693 (read_fs_list): Likewise.
17694
42a5b3fc 17695 * include/grub/normal.h (grub_normal_execute): Updated the
17696 prototype.
f04f02e4 17697
41473ac2 176982009-03-22 Pavel Roskin <proski@gno.org>
17699
fbc00b0c 17700 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
17701 _start.
17702 * kern/i386/pc/startup.S: Likewise.
17703 * kern/i386/efi/startup.S: Likewise.
17704 * kern/i386/ieee1275/startup.S: Likewise.
17705 * kern/i386/coreboot/startup.S: Likewise.
17706 * kern/x86_64/efi/startup.S: Likewise.
17707
41473ac2 17708 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
17709 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
17710 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
17711
2274cc8f 177122009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
17713
17714 Bugfixes in multiboot for bugs uncovered by solaris kernel.
17715
17716 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
17717 limit detection.
17718 Use vaddr of correct segment for entry_point.
17719
b1b797cb 177202009-03-21 Bean <bean123ch@gmail.com>
17721
17722 * commands/blocklist.c: Add include file <grub/command.h>, remove
17723 <grub/normal.h> and <grub/arg.h>.
17724 (grub_cmd_blocklist): Use the new command interface.
17725 (GRUB_MOD_INIT): Likewise.
17726 (GRUB_MOD_FINI): Likewise.
17727 * commands/boot.c: Likewise.
17728 * commands/cat.c: Likewise.
17729 * commands/cmp.c: Likewise.
17730 * commands/configfile.c: Likewise.
17731 * commands/crc.c: Likewise.
17732 * commands/echo.c: Likewise.
17733 * commands/halt.c: Likewise.
17734 * commands/handler.c: Likewise.
17735 * commands/hdparm.c: Likewise.
17736 * commands/help.c: Likewise.
17737 * commands/hexdump.c: Likewise.
17738 * commands/loadenv.c: Likewise.
17739 * commands/ls.c: Likewise.
17740 * commands/lsmmap.c: Likewise.
17741 * commands/lspci.c: Likewise.
17742 * commands/loadenv.c: Likewise.
17743 * commands/read.c: Likewise.
17744 * commands/reboot.c: Likewise.
17745 * commands/search.c: Likewise.
17746 * commands/sleep.c: Likewise.
17747 * commands/test.c: Likewise.
17748 * commands/usbtest.c: Likewise.
17749 * commands/videotest.c: Likewise.
17750 * commands/i386/cpuid.c: Likewise.
17751 * commands/i386/pc/halt.c: Likewise.
17752 * commands/i386/pc/play.c: Likewise.
17753 * commands/i386/pc/pxecmd.c: Likewise.
17754 * commands/i386/pc/vbeinfo.c: Likewise.
17755 * commands/i386/pc/vbetest.c: Likewise.
17756 * commands/ieee1275/suspend.c: Likewise.
17757 * disk/loopback.c: Likewise.
17758 * font/font_cmd.c: Likewise.
17759 * hello/hello.c: Likewise.
17760 * loader/efi/appleloader.c: Likewise.
17761 * loader/efi/chainloader.c: Likewise.
17762 * loader/i386/bsd.c: Likewise.
17763 * loader/i386/efi/linux.c: Likewise.
17764 * loader/i386/ieee1275/linux.c: Likewise.
17765 * loader/i386/linux.c: Likewise.
17766 * loader/i386/pc/chainloader.c: Likewise.
17767 * loader/i386/pc/linux.c: Likewise.
17768 * loader/powerpc/ieee1275/linux.c: Likewise.
17769 * loader/multiboot_loader.c: Likewise.
17770 * term/gfxterm.c: Likewise.
17771 * term/i386/pc/serial.c: Likewise.
17772 * term/terminfo.c: Likewise.
17773
17774 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
17775 * term/i386/pc/vga.c: Likewise.
17776 * video/readers/jpeg.c: Likewise.
17777 * video/readers/png.c: Likewise.
17778 * video/readers/tga.c: Likewise.
17779
17780 * util/grub-fstest (cmd_loopback): Removed.
17781 (cmd_blocklist): Likewise.
17782 (cmd_ls): Likewise.
17783 (grub_register_command): Likewise.
17784 (grub_unregister_command): Likewise.
17785 (execute_command): Use grub_command_find to locate command and execute
17786 it.
17787
17788 * include/grub/efi/chainloader.h: Removed.
17789 * loader/efi/chainloader_normal.c: Likewise.
17790 * loader/i386/bsd_normal.c: Likewise.
17791 * loader/i386/pc/chainloader_normal.c: Likewise.
17792 * loader/i386/pc/multiboot_normal.c: Likewise.
17793 * loader/linux_normal.c: Likewise.
17794 * loader/multiboot_loader_normal.c: Likewise.
17795 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17796
17797 * gencmdlist.sh: Scan new registration command grub_register_extcmd
17798 and grub_register_command_p1.
17799
17800 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
17801 kern/command.c, lib/arg.c and commands/extcmd.c.
17802 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
17803 (minicmd_mod_SOURCES): New variable.
17804 (minicmd_mod_CFLAGS): Likewise.
17805 (minicmd_mod_LDFLAGS): Likewise.
17806 (extcmd_mod_SOURCES): Likewise.
17807 (extcmd_mod_CFLAGS): Likewise.
17808 (extcmd_mod_LDFLAGS): Likewise.
17809 (boot_mod_SOURCES): Removed.
17810 (boot_mod_CFLAGS): Likewise.
17811 (boot_mod_LDFLAGS): Likewise.
17812
17813 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
17814 kern/corecmd.c.
17815 (kernel_img_HEADERS): Add command.h.
17816 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
17817 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
17818 and lib/arg.c.
17819 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
17820 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
17821 remove the corresponding normal mode command.
17822 (normal_mod_SOURCES): Remove normal/arg.c.
17823 * conf/i386-coreboot.rmk: Likewise.
17824 * conf/i386-efi.rmk: Likewise.
17825 * conf/i386-ieee1275.rmk: Likewise.
17826 * conf/powerpc-ieee1275.rmk: Likewise.
17827 * conf/x86_64-efi.rmk: Likewise.
17828
17829 * include/grub/arg.h: Move from here ...
17830 * include/grub/lib/arg.h: ... to here.
17831
17832 * normal/arg.c: Move from here ...
17833 * lib/arg.c: ... to here.
17834
17835 * commands/extcmd.c: New file.
17836 * commands/minicmd.c: Likewise.
17837 * include/grub/command.h: Likewise.
17838 * include/grub/extcmd.h: Likewise.
17839 * kern/command.c: Likewise.
17840 * kern/corecmd.c: Likewise.
17841
17842 * kern/list.c (grub_list_iterate): Return int instead of void.
17843 (grub_list_insert): New function.
17844 (grub_prio_list_insert): Likewise.
17845
17846 * kern/rescue.c (grub_rescue_command): Removed.
17847 (grub_rescue_command_list): Likewise.
17848 (grub_rescue_register_command): Likewise.
17849 (grub_rescue_unregister_command): Likewise.
17850 (grub_rescue_cmd_boot): Move to minicmd.c
17851 (grub_rescue_cmd_help): Likewise.
17852 (grub_rescue_cmd_info): Likewise.
17853 (grub_rescue_cmd_boot): Likewise.
17854 (grub_rescue_cmd_testload): Likewise.
17855 (grub_rescue_cmd_dump): Likewise.
17856 (grub_rescue_cmd_rmmod): Likewise.
17857 (grub_rescue_cmd_lsmod): Likewise.
17858 (grub_rescue_cmd_exit): Likewise.
17859 (grub_rescue_print_devices): Moved to corecmd.c.
17860 (grub_rescue_print_files): Likewise.
17861 (grub_rescue_cmd_ls): Likewise.
17862 (grub_rescue_cmd_insmod): Likewise.
17863 (grub_rescue_cmd_set): Likewise.
17864 (grub_rescue_cmd_unset): Likewise.
7d074e3c 17865 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 17866 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 17867 commands, remove grub_rescue_register_command calls.
b1b797cb 17868
7d074e3c 17869 * normal/command.c (grub_register_command): Removed.
b1b797cb 17870 (grub_unregister_command): Likewise.
17871 (grub_command_find): Likewise.
17872 (grub_iterate_commands): Likewise.
17873 (rescue_command): Likewise.
17874 (export_command): Moved to corecmd.c.
17875 (set_command): Removed.
17876 (unset_command): Likewise.
17877 (insmod_command): Likewise.
17878 (rmmod_command): Likewise.
17879 (lsmod_command): Likewise.
17880 (grub_command_init): Likewise.
17881
17882 * normal/completion.c (iterate_command): Use cmd->prio to check for
17883 active command.
17884 (complete_arguments): Use grub_extcmd_t structure to find options.
17885 (grub_normal_do_completion): Change function grub_iterate_commands to
17886 grub_command_iterate.
17887
17888 * normal/execute.c (grub_script_execute_cmd): No need to parse
17889 argument here.
17890
17891 * normal/main.c (grub_dyncmd_dispatcher): New function.
17892 (read_command_list): Register unload commands as dyncmd.
17893 (grub_cmd_normal): Use new command interface, register rescue,
17894 unregister normal at entry, register normal, unregister rescue at exit.
17895
17896 * include/grub/list.h (grub_list_test_t): New type.
17897 (grub_list_iterate): Return int instead of void.
17898 (grub_list_insert): New function.
17899 (GRUB_AS_NAMED_LIST_P): New macro.
17900 (GRUB_AS_PRIO_LIST): Likewise.
17901 (GRUB_AS_PRIO_LIST_P): Likewise.
17902 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
17903 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
17904 (grub_prio_list): New structure.
17905 (grub_prio_list_insert): New function.
17906 (grub_prio_list_remove): New inline function.
17907
17908 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
17909 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
17910 (GRUB_COMMAND_FLAG_MENU): Likewise.
17911 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17912 (GRUB_COMMAND_FLAG_TITLE): Likewise.
17913 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17914 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
17915 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
17916 (grub_command): Likewise.
17917 (grub_register_command): Likewise.
17918 (grub_command_find): Likewise.
17919 (grub_iterate_commands): Likewise.
17920 (grub_command_init): Likewise.
17921 (grub_arg_parse): Likewise.
17922 (grub_arg_show_help): Likewise.
17923
17924 * include/grub/rescue.h (grub_rescue_register_command): Removed.
17925 (grub_rescue_unregister_command): Likewise.
17926
17927 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
17928 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
17929 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
17930
17931 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
17932 grub_rescue_cmd_initrd.
17933 * include/grub/i386/loader.h: Likewise.
17934 * include/grub/x86_64/loader.h: Likewise.
17935
17936 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
17937
1f4147aa 179382009-03-21 Bean <bean123ch@gmail.com>
17939
17940 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
17941 instead of stat in mingw environment.
17942
17943 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
17944
17945 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
17946
17947 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
17948 AC_CONFIG_LINKS.
17949
2156d5ba 179502009-03-21 Bean <bean123ch@gmail.com>
17951
17952 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
17953 out of range error.
17954
177b82ca 179552009-03-18 Michel Dänzer <michel@daenzer.net>
17956
17957 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
17958 checking inode flags for EXT4_EXTENTS_FLAG.
17959
14aad807 179602009-03-18 Robert Millan <rmh@aybabtu.com>
17961
17962 * loader/i386/linux.c: Include `<grub/video.h>' and
17963 `<grub/i386/pc/vbe.h>'..
17964 (grub_linux_setup_video): New function. Loosely based on the EFI one.
17965 (grub_linux32_boot): Attempt to configure video settings with
17966 grub_linux_setup_video().
17967 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
17968 to avoid grub_console_fini() which would step out of graphical mode
17969 unconditionally.
17970
8cf83a27 179712009-03-14 Robert Millan <rmh@aybabtu.com>
17972
17973 Fix build on powerpc.
17974 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
17975
40164e75 179762009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
17979 background image command.
17980
c58bc32a 179812009-03-12 Colin D Bennett <colin@gibibit.com>
17982
17983 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
17984 (grub_gfxterm_putchar): Extract pairs of identical calls to
17985 draw_cursor out of conditional blocks.
17986
5415144a 179872009-03-11 Pavel Roskin <proski@gnu.org>
17988
17989 * fs/hfs.c (grub_hfs_strncasecmp): New function.
17990 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
17991
6394042e 179922009-03-11 Robert Millan <rmh@aybabtu.com>
17993
17994 * loader/i386/multiboot_elfxx.c
17995 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
17996
b7b50e5f 179972009-03-11 Felix Zielcke <fzielcke@z-51.de>
17998
17999 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
18000 `kern/handler.c'.
18001
1ca7fc96 180022009-03-11 Robert Millan <rmh@aybabtu.com>
18003
18004 * loader/i386/multiboot.c (code_size): New variable.
18005 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 18006 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 18007 4-byte alignment to MBI and others by increasing
7d074e3c 18008 `boot_loader_name_length' appropriately.
1ca7fc96 18009
18010 * loader/i386/multiboot_elfxx.c
18011 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
18012
a83ea1d2 180132009-03-09 Felix Zielcke <fzielcke@z-51.de>
18014
18015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
18016 `fs/ext2.c'.
18017
aa9f3bff 180182009-03-08 Robert Millan <rmh@aybabtu.com>
18019
18020 Make loader/i386/linux.c usable on i386-pc again.
18021
18022 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
18023 memory to heap.
18024 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
18025 `#error' stanza.
18026
d8b3b60e 180272009-03-07 Bean <bean123ch@gmail.com>
18028
18029 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
18030 allocation.
18031
b362c9e9 180322009-03-06 Robert Millan <rmh@aybabtu.com>
18033
18034 Fix display issue on terminals with screen size other than 80x25
18035 (e.g. gfxterm with resolution higher than 640x480).
18036
18037 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 18038 position relative to the center of the terminal instead of relying
b362c9e9 18039 on a hardcoded offset.
18040
9304eef1 180412009-03-04 Robert Millan <rmh@aybabtu.com>
18042
18043 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
18044 installed.
18045
18046 * Makefile.in (host_kernel): New variable.
18047 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
18048 scripts instead of just the windows one.
18049 * configure.ac: Initialize and AC_SUBST `host_kernel'.
18050
eabc95fb 180512009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 18052
18053 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
18054 `kern/handler.c'.
18055 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18056 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18057 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18059 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18060 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18061
ceb1223c 180622009-03-04 Felix Zielcke <fzielcke@z-51.de>
18063
18064 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
18065 or if there's no space for the disk label and print the partition number on a
18066 invalid magic.
18067
4910684a 180682009-03-04 Felix Zielcke <fzielcke@z-51.de>
18069
18070 * util/misc.c: Include <time.h>.
18071 (grub_millisleep): New function.
18072
7e9ca17a 180732009-03-04 Bean <bean123ch@gmail.com>
18074
18075 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
18076 another option -mno-red-zone.
18077
18078 * commands/handler.c: Change module description.
18079
18080 * kern/handler.c: Add missing space at the end of description line.
18081
18082 * kern/list.c: Likewise.
18083
f501677c 180842009-03-03 Robert Millan <rmh@aybabtu.com>
18085
18086 Move more components to the relocation area, and fix mbi pointer
18087 handling to use the destination rather than the origin (thanks to
18088 Vladimir Serbinenko for spotting).
18089
18090 * loader/i386/multiboot.c (mbi_dest): New variable.
18091 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
18092 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
18093 relocation area.
18094
9902d047 180952009-03-01 Bean <bean123ch@gmail.com>
18096
50fb7002 18097 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 18098 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
18099 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
18100 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
18101
18102 * loader/i386/efi/linux.c (acpi_guid): New variable.
18103 (acpi_guid): Likewise.
18104 (EBDA_SEG_ADDR): New constant.
18105 (LOW_MEM_ADDR): Likewise.
18106 (FAKE_EBDA_SEG): Likewise.
18107 (fake_bios_data): New function.
18108 (grub_linux_boot): Call fake_bios_data.
18109
71b9f361 181102009-03-01 Bean <bean123ch@gmail.com>
18111
18112 * commands/terminal.c: Removed.
18113
18114 * commands/handler.c: New file.
18115
18116 * include/grub/list.h: Likewise.
18117
18118 * include/grub/handler.h: Likewise.
18119
18120 * kern/list.c: Likewise.
18121
18122 * kern/handler.c: Likewise.
18123
18124 * kern/term.h: Include header file <grub/handler.h>.
18125 (grub_term_input): Move next field to the beginning.
18126 (grub_term_output): Likewise.
18127 (grub_term_input_class): New variable.
18128 (grub_term_output_class): Likewise.
18129 (grub_term_register_input): Changed to inline function.
18130 (grub_term_register_output): Likewise.
18131 (grub_term_unregister_input): Likewise.
18132 (grub_term_unregister_output): Likewise.
18133 (grub_term_set_current_input): Likewise.
18134 (grub_term_set_current_output): Likewise.
18135 (grub_term_get_current_input): Likewise.
18136 (grub_term_get_current_output): Likewise.
18137 (grub_term_iterate_input): Removed.
18138 (grub_term_iterate_output): Likewise.
18139
18140 * kern/term.c (grub_term_list_input): Removed.
18141 (grub_term_list_output): Likewise.
18142 (grub_term_input_class): New variable.
18143 (grub_term_output_class): Likewise.
50fb7002 18144 (grub_cur_term_input): Change variable as macro.
71b9f361 18145 (grub_cur_term_output): Likewise.
18146 (grub_term_register_input): Removed.
18147 (grub_term_register_output): Likewise.
18148 (grub_term_unregister_input): Likewise.
18149 (grub_term_unregister_output): Likewise.
18150 (grub_term_set_current_input): Likewise.
18151 (grub_term_set_current_output): Likewise.
18152 (grub_term_iterate_input): Likewise.
18153 (grub_term_iterate_output): Likewise.
18154 (grub_term_get_current_input): Likewise.
18155 (grub_term_get_current_output): Likewise.
18156
18157 * util/grub-editenv.c: Include header file <grub/handler.h>.
18158 (grub_term_get_current_input): Removed.
18159 (grub_term_get_current_output): Likewise.
18160 (grub_term_input_class): New variable.
50fb7002 18161 (grub_term_output_class): Likewise.
71b9f361 18162
18163 * util/grub-fstest.c (grub_term_get_current_input): Removed.
18164 (grub_term_get_current_output): Likewise.
18165 (grub_term_input_class): New variable.
50fb7002 18166 (grub_term_output_class): Likewise.
71b9f361 18167
18168 * util/grub-probe.c (grub_term_get_current_input): Removed.
18169 (grub_term_get_current_output): Likewise.
18170 (grub_term_input_class): New variable.
50fb7002 18171 (grub_term_output_class): Likewise.
71b9f361 18172
18173 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
18174 (grub_term_get_current_output): Likewise.
18175 (grub_term_input_class): New variable.
50fb7002 18176 (grub_term_output_class): Likewise.
71b9f361 18177
18178 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
18179 (terminal_mod_SOURCES): Likewise.
18180 (terminal_mod_CFLAGS): Likewise.
18181 (terminal_mod_LDFLAGS): Likewise.
18182
18183 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
18184 handler.c.
18185 (kernel_img_SOURCES): Add list.c and handler.c.
18186 (kernel_img_HEADERS): Add list.h and handler.h.
18187
18188 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18189 handler.c.
18190 (kernel_mod_SOURCES): Add list.c and handler.c.
18191 (kernel_mod_HEADERS): Add list.h and handler.h.
18192
18193 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
18194 handler.c.
18195 (kernel_elf_SOURCES): Add list.c and handler.c.
18196 (kernel_elf_HEADERS): Add list.h and handler.h.
18197
18198 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18199 handler.c.
18200 (kernel_elf_SOURCES): Add list.c and handler.c.
18201 (kernel_elf_HEADERS): Add list.h and handler.h.
18202
18203 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18204 handler.c.
18205 (kernel_mod_SOURCES): Add list.c and handler.c.
18206 (kernel_mod_HEADERS): Add list.h and handler.h.
18207
18208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18209 handler.c.
18210 (kernel_elf_SOURCES): Add list.c and handler.c.
18211 (kernel_elf_HEADERS): Add list.h and handler.h.
18212
8a31787f 182132009-02-27 Robert Millan <rmh@aybabtu.com>
18214
18215 Factorize elf32 / elf64 code in Multiboot loader. This will
18216 prevent it from getting out of sync again.
18217
18218 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
18219 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
18220 grub_multiboot_load_elf64): Move from here ...
18221 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
18222 grub_multiboot_load_elf): ... to here (new file).
18223
51cd3dfc 182242009-02-27 Robert Millan <rmh@aybabtu.com>
18225
18226 * util/grub.d/10_linux.in: Rename "single-user mode" to
18227 "recovery mode".
18228
6e8c9c3a 182292009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
18230
18231 Don't leak in SCSI code.
18232 * disk/scsi.c (grub_scsi_close): free `scsi'.
18233
4b6bf4f9 182342009-02-27 Robert Millan <rmh@aybabtu.com>
18235
18236 * loader/i386/pc/multiboot.c: Move from here ...
18237 * loader/i386/multiboot.c: ... to here. Update all users.
18238
b9413424 182392009-02-27 Robert Millan <rmh@aybabtu.com>
18240
18241 Patch from Alexandre Bique <bique.alexandre@gmail.com>
18242 * util/i386/pc/grub-setup.c (setup): Fix directory path.
18243
50fb7002 182442009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 18245
18246 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
18247 b-tree.
18248
8cc50345 182492009-02-27 Robert Millan <rmh@aybabtu.com>
18250
18251 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
18252 `0x' qualifier as 0 when base is specified as parameter).
18253
6e09b8b7 182542009-02-24 Bean <bean123ch@gmail.com>
18255
18256 * configure.ac: Check for -mcmodel=large in x86_64 target.
18257
18258 * include/grub/efi/api.h (efi_call_10): New macro.
18259 (efi_wrap_10): New function.
18260
18261 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
18262 (GRUB_PE32_REL_BASED_HIGH): Likewise.
18263 (GRUB_PE32_REL_BASED_LOW): Likewise.
18264 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
18265 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
18266 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
18267 (GRUB_PE32_REL_BASED_SECTION): Likewise.
18268 (GRUB_PE32_REL_BASED_REL): Likewise.
18269 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
18270 (GRUB_PE32_REL_BASED_DIR64): Likewise.
18271 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
18272
18273 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
18274 issue.
18275
18276 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
18277 (efi_wrap_10): New function.
18278
18279 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
18280
18281 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
18282 MB/MBP model (NV chipset).
18283 (devdata_devs): Add devpath_5 to the list.
18284
18285 * load/i386/efi/linux.c (video_base): Remove variable.
18286 (RGB_MASK): New macro.
18287 (RGB_MAGIC): Likewise.
18288 (LINE_MIN): Likewise.
18289 (LINE_MAX): Likewise.
18290 (FBTEST_STEP): Likewise.
18291 (FBTEST_COUNT): Likewise.
18292 (fb_list): New variable.
18293 (grub_find_video_card): Remove function.
18294 (find_framebuf): New function.
18295 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
18296 line length.
18297
18298 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
18299 problem for x86_64.
18300
74b21bee 183012009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
18302
18303 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
18304
18305 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
18306 coding tool name.
18307
a455f472 183082009-02-22 Robert Millan <rmh@aybabtu.com>
18309
18310 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
18311 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
18312 in our relocation, instead of using it directly from heap. Also
18313 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
18314
6374daf3 183152009-02-21 Robert Millan <rmh@aybabtu.com>
18316
18317 Implement USB keyboard support (based on patch by Marco Gerards)
18318
18319 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
18320 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
18321 (usb_keyboard_mod_LDFLAGS): New variables.
18322
18323 * term/usb_keyboard.c: New file.
18324
8fa4ea70 183252009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 Corrected wrong declaration
18328
18329 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
18330
353976ac 183312009-02-14 Christian Franke <franke@computer.org>
18332
18333 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
18334 (grub_lspci_iter): Print class code and programming interface byte.
18335
6aa1169b 183362009-02-14 Christian Franke <franke@computer.org>
18337
18338 * gendistlist.sh: Ignore `.svn' directories.
18339
265372ca 183402009-02-14 Felix Zielcke <fzielcke@z-51.de>
18341
18342 * fs/fat.c: Add 2009 to Copyright line.
18343
9ff516f3 183442009-02-14 Christian Franke <franke@computer.org>
18345
18346 * commands/hdparm.c: New file. Provides `hdparm' command
18347 which sends ATA commands via grub_disk_ata_pass_through ().
18348
18349 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
18350
18351 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
18352 and <grub/cpu/io.h> to include/grub/ata.h.
18353 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
18354 (GRUB_CDROM_SECTOR_SIZE): Remove.
18355 (GRUB_ATA_*): Move to include/grub/ata.h.
18356 (GRUB_ATAPI_*): Likewise.
18357 (enum grub_ata_commands): Likewise.
18358 (enum grub_ata_timeout_milliseconds): Likewise.
18359 (struct grub_ata_device): Likewise.
18360 (grub_ata_regset): Likewise.
18361 (grub_ata_regget): Likewise.
18362 (grub_ata_regset2): Likewise.
18363 (grub_ata_regget2): Likewise.
18364 (grub_ata_check_ready): Likewise.
18365 (grub_ata_wait_not_busy): Remove static, exported in
18366 include/grub/ata.h.
18367 (grub_ata_wait_drq): Likewise.
18368 (grub_ata_pio_read): Likewise.
18369
18370 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
18371 function for hdparm.mod.
18372
18373 * include/grub/ata.h: New file, contains declarations from
18374 disk/ata.c.
18375 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
18376
18377 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
18378 (grub_disk_ata_pass_through): New exported variable.
18379
18380 * kern/disk.c (grub_disk_ata_pass_through): New variable.
18381
772e23da 183822009-02-13 Colin D Bennett <colin@gibibit.com>
18383
18384 Support multiple fallback entries, and provide an API to support
18385 executing default+fallback menu entries. Renamed the `terminal' menu
18386 viewer to `text'.
18387
18388 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
18389 variable declaration.
18390 (grub_menu_execute_callback): New structure declaration.
18391 (grub_menu_execute_callback_t): New typedef.
18392 (grub_menu_execute_with_fallback): New function declaration.
18393 (grub_menu_get_entry): Likewise.
18394 (grub_menu_get_timeout): Likewise.
18395 (grub_menu_set_timeout): Likewise.
18396
18397 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
18398
18399 * normal/menu.c (grub_wait_after_message): Moved to
18400 `normal/menu_text.c'.
18401 (draw_border): Likewise.
18402 (print_message): Likewise.
18403 (print_entry): Likewise.
18404 (print_entries): Likewise.
18405 (grub_menu_init_page): Likewise.
18406 (get_entry_number): Likewise.
18407 (print_timeout): Likewise.
18408 (run_menu): Likewise.
18409 (grub_menu_execute_entry): Likewise.
18410 (show_text_menu): Likewise.
18411 (get_and_remove_first_entry_number): New function.
18412 (grub_menu_execute_with_fallback): Likewise.
18413 (get_entry): Renamed to ...
18414 (grub_menu_get_entry): .. this and made it global.
18415 (get_timeout): Renamed to ...
18416 (grub_menu_get_timeout): ... this and made it global.
18417 (set_timeout): Renamed to ...
18418 (grub_menu_set_timeout): ... this and made it global.
18419 (grub_normal_terminal_menu_viewer): Renamed to ...
18420 (grub_normal_text_menu_viewer): ... this.
18421
18422 * normal/menu_text.c: New file. Extracted text-menu-specific code
18423 from normal/menu.c.
18424
18425 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
18426 (normal_mod_SOURCES): Likewise.
18427
18428 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18429 (normal_mod_SOURCES): Likewise.
18430
18431 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18432 (normal_mod_SOURCES): Likewise.
18433
18434 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
18435 (normal_mod_SOURCES): Likewise.
18436
18437 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18438 (normal_mod_SOURCES): Likewise.
18439
18440 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18441 (normal_mod_SOURCES): Likewise.
18442
18443 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18444 (normal_mod_SOURCES): Likewise.
18445
16ac430e 184462009-02-11 Robert Millan <rmh@aybabtu.com>
18447
18448 * util/grub.d/00_header.in: Update old reference to `font' command.
18449
06ff20fc 184502009-02-10 Felix Zielcke <fzielcke@z-51.de>
18451
18452 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
18453
18454 Based on patch from Javier Martín.
18455
96da9407 184562009-02-09 Felix Zielcke <fzielcke@z-51.de>
18457
18458 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 18459 to avoid false positives with FAT.
96da9407 18460 (grub_fstest_SOURCES): Likewise.
18461 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18462 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18464 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18465 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18466 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18467
6dca6fe4 184682009-02-09 Felix Zielcke <fzielcke@z-51.de>
18469
06ff20fc 18470 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 18471 bpb.version_specific.fat12_or_fat16.fstype and
18472 bpb.version_specific.fat32.fstype.
18473
2550c62f 184742009-02-08 Robert Millan <rmh@aybabtu.com>
18475
be110b30 18476 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 18477
56978920 184782009-02-08 Robert Millan <rmh@aybabtu.com>
18479
18480 * Makefile.in (host_os, host_cpu): New variables.
18481 (target_os): Remove. Update all users.
18482
d64399b5 184832009-02-08 Marco Gerards <marco@gnu.org>
18484
18485 * Makefile.in (enable_grub_emu_usb): New variable.
18486 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
18487 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
18488 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
18489 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
18490 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
18491 `usbtest.mod' and `usbms.mod'.
18492 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
18493 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
18494 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
18495 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
18496 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
18497 variables.
18498
18499 * disk/usbms.c: New file.
18500
18501 * include/grub/usb.h: Likewise.
18502
18503 * include/grub/usbtrans.h: Likewise.
18504
18505 * include/grub/usbdesc.h: Likewise.
18506
18507 * bus/usb/usbtrans.c: Likewise.
18508
18509 * bus/usb/ohci.c: Likewise.
18510
18511 * bus/usb/uhci.c: Likewise.
18512
18513 * bus/usb/usbhub.c: Likewise.
18514
18515 * bus/usb/usb.c: Likewise.
18516
18517 * commands/usbtest.c: Likewise.
18518
18519 * util/usb.c: Likewise.
50fb7002 18520
d64399b5 18521 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
18522
18523 * configure.ac: Test for libusb presence.
50fb7002 18524
d64399b5 18525 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
18526
2b40d6bb 185272009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
18528
18529 * kern/mm.c: Add more comments.
18530
73a4ce81 185312009-02-08 Robert Millan <rmh@aybabtu.com>
18532
18533 Patch from Javier Martín.
18534 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
18535 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
18536
f821ce59 185372009-02-08 Robert Millan <rmh@aybabtu.com>
18538
18539 * fs/cpio.c: Split tar functionality to ...
18540 * fs/tar.c: ... here (new file). Update all users.
18541
aebfc4b0 185422009-02-07 Robert Millan <rmh@aybabtu.com>
18543
18544 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
18545 backward-incompatible features.
18546
18547 Based on patch from Javier Martín, with some adjustments.
18548
50fb7002 185492009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 18550
18551 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
18552
0bb5115e 185532009-02-07 Robert Millan <rmh@aybabtu.com>
18554
18555 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
18556 position of `disk/lvm.c' to ensure grub_init_all() always picks it
18557 after the RAID stuff.
18558
38a0f8e7 185592009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
18560
50fb7002 18561 Fixes problem when running vbetest command as reported by
38a0f8e7 18562 Vladimir Serbinenko <phcoder@gmail.com>.
18563
18564 * (grub_vbe_set_video_mode): Fixed problem with text modes.
18565
3143cc1c 185662009-02-04 Felix Zielcke <fzielcke@z-51.de>
18567
18568 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
18569 /dev/md/NpN style mdraid devices.
18570
9cba6fce 185712009-02-03 Felix Zielcke <fzielcke@z-51.de>
18572
18573 * util/unifont2pff.rb: Remove.
18574
e507a2c1 185752009-02-03 Felix Zielcke <fzielcke@z-51.de>
18576
18577 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
18578 `#'.
18579
d2c2b4cd 185802009-02-03 Felix Zielcke <fzielcke@z-51.de>
18581
18582 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
18583 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18584 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18585 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18587 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18588 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18589
b4315fb0 185902009-02-02 Christian Franke <franke@computer.org>
18591
18592 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
18593
de3aa260 185942009-02-01 Felix Zielcke <fzielcke@z-51.de>
18595
7c3ff286 18596 * INSTALL: Note that we now require at least autoconf 2.59 and
18597 that LZO is optional.
de3aa260 18598
825a182b 185992009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18600
18601 Base on patch on bug #24154 created by Tomas Tintera
18602 <trosos@seznam.cz>.
18603
18604 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
18605
a69ef770 186062009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18607
7c3ff286 18608 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 18609 <bero@arklinux.org>.
18610
18611 * normal/parser.y (script_init): Add missing semicolon.
18612
6fa42fa6 186132009-01-31 Colin D Bennett <colin@gibibit.com>
18614
7c3ff286 18615 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 18616 (free_menu_entry_classes): Added.
18617 (grub_normal_menu_addentry): Added class property handling.
18618 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
18619 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
18620
18621 * normal/menu_viewer.c: New file.
18622
18623 * normal/menu.c (run_menu_entry): Renamed to ...
18624 (grub_menu_execute_entry): ... this and made it as global.
18625 (grub_menu_run): Renamed to ...
18626 (show_text_menu): ... this and made it local.
18627 (show_text_menu): Adapt to new function names.
18628 (grub_normal_terminal_menu_viewer): New global variable.
18629
18630 * include/grub/menu.h: New file.
18631
18632 * include/grub/menu_viewer.h: New file.
18633
18634 * include/grub/normal.h: Added include to grub/menu.h.
18635 (grub_menu_entry): Moved to include/grub/menu.h.
18636 (grub_menu_entry_t): Likewise.
18637 (grub_menu): Likewise.
18638 (grub_menu_t): Likewise.
18639 (grub_normal_terminal_menu_viewer): Added.
18640 (grub_menu_execute_entry): Likewise.
18641 (grub_menu_run): Removed.
18642
18643 * DISTLIST: Added include/grub/menu.h.
18644 Added include/grub/menu_viewer.h.
18645 Added normal/menu_viewer.c.
18646
186472009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
18648
18649 * normal/execute.c (grub_script_execute_menuentry): Changed to use
18650 arglist for menutitle arguments.
18651
18652 * normal/main.c (grub_normal_menu_addentry): Likewise.
18653
18654 * normal/parser.y (menuentry): Likewise.
18655
18656 * normal/script.c (grub_script_create_cmdmenu): Likewise.
18657
18658 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
18659 (grub_script_create_cmdmenu): Likewise.
18660
18661 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
18662
18663 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
18664 changes.
18665
18666 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
18667
18668 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
18669
18670 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
18671
18672 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18673
18674 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18675
18676 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18677
56192c23 186782009-01-30 Christian Franke <franke@computer.org>
18679
18680 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
18681 in option help text.
18682
d72521b3 186832009-01-27 Pavel Roskin <proski@gnu.org>
18684
18685 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
18686
994b5e84 186872009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18688
18689 * commands/lsmmap.c: Add include to grub/machine/memory.h.
18690
18691 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
18692
18693 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
18694 unregister function.
18695
6a7eab2c 186962009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18697
18698 * disk/scsi.c (grub_scsi_read): Fix sign problem.
18699
18700 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
18701
18702 * util/grub-mkfont.c (usage): Fix typo.
18703
18704 * util/elf/grub-mkimage.c (load_modules): Fix warning.
18705
1806b56e 187062009-01-26 Daniel Mierswa <impulze@impulze.org>
18707
3fb18f09 18708 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
18709
336e1fb9 18710 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
18711
1806b56e 18712 * kern/misc.c (grub_strcasecmp): New function.
18713 (grub_strcasecmp): Use grub_size_t instead of int for length.
18714 Fix return value.
18715 * include/grub/misc.h: Update function prototypes.
18716
580b2a0f 187172009-01-26 Robert Millan <rmh@aybabtu.com>
18718
18719 * configure.ac: Fix cross-compilation check.
ef257b36 18720
d31c24f1 187212009-01-22 Christian Franke <franke@computer.org>
18722
18723 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
18724 (precision) digit string. Allow `.format2' without `format1' (width).
18725 Limit input chars for `%s' output to `format2' if specified. This is
18726 compatible with standard printf ().
18727
3138b44c 187282009-01-22 Christian Franke <franke@computer.org>
18729
18730 * disk/ata.c (grub_ata_wait_status): Replace by ...
18731 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
18732 other status bits may be invalid while BSY is asserted.
18733 (grub_ata_check_ready): New function.
18734 (grub_ata_cmd): Removed.
18735 (grub_ata_wait_drq): New function.
18736 (grub_ata_strncpy): Remove inline.
18737 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
18738 and error check now done by grub_ata_wait_drq ().
18739 (grub_ata_pio_write): Likewise.
18740 (grub_atapi_identify): Set DEV before check for !BSY. Use
18741 grub_ata_wait_drq () to wait for data.
18742 (grub_ata_device_initialize): Add status register check to
18743 detect missing SATA slave devices. Add debug messages.
18744 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
18745 (grub_atapi_packet): Set DEV before check for !BSY. Replace
18746 transfer loop by grub_ata_pio_write ().
18747 (grub_ata_identify): Set DEV before check for !BSY. Use
18748 grub_ata_wait_drq () to wait for data.
ef257b36 18749 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 18750 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
18751 read/write in one loop. Fix invalid command on write. Fix incomplete
18752 command on (size % batch) == 0. Add missing error check after write of
18753 last block. Add debug messages.
18754 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
18755
59a64ef6 187562009-01-19 Christian Franke <franke@computer.org>
18757
18758 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
18759 (GRUB_ATAPI_IREASON_*): Likewise.
18760 (grub_ata_pio_write): Fix timeout error return.
18761 (grub_atapi_identify): Add grub_ata_wait () after cmd.
18762 (grub_atapi_wait_drq): New function.
18763 (grub_atapi_packet): New parameter `size'.
18764 Use grub_atapi_wait_drq () and direct write instead of
18765 grub_ata_pio_write ().
18766 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
18767 reads the number of bytes requested by the device for each DRQ
18768 assertion.
18769 (grub_atapi_write): Remove old implementation, return not
18770 implemented instead.
18771
1cfe20b3 187722009-01-19 Christian Franke <franke@computer.org>
18773
18774 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
18775 of 512 to calculate data size.
18776 (grub_scsi_read12): Likewise.
18777 (grub_scsi_write10): Likewise.
18778 (grub_scsi_write12): Likewise.
18779 (grub_scsi_read): Adjust size according to blocksize.
18780 Add checks for invalid blocksize and unaligned transfer.
18781
bee5fe5d 187822009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
18783
18784 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
18785
ef257b36 18786 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 18787 width glyphs.
18788
3e643f8c 187892009-01-19 Robert Millan <rmh@aybabtu.com>
18790
18791 * config.guess: Update to latest version from config git.
18792 * config.sub: Likewise.
18793
4fa80998 187942009-01-17 Felix Zielcke <fzielcke@z-51.de>
18795
18796 * Makefile.in: Change font compilation to use new grub-mkfont instead
18797 of java version.
18798
18799 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
18800 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
18801 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18802 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18803 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
18804 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
18805 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
18806 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
18807 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
18808
7086085b 188092009-01-16 Christian Franke <franke@computer.org>
18810
18811 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
18812 (enum grub_ata_timeout_milliseconds): New enum.
18813 (grub_ata_wait_status): Add parameter milliseconds.
18814 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
18815 recovery from timed-out commands.
18816 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
18817 return grub_errno instead of REG_ERROR.
18818 (grub_ata_pio_write): Add parameter milliseconds.
18819 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
18820 Pass milliseconds to grub_ata_wait_status () and
18821 grub_ata_pio_read ().
18822 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
18823 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
18824 grub_ata_wait_status (). Fix IDENTIFY timeout check.
18825 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
18826 It is not suitable for device detection, because DEV bit is ignored,
18827 the command may run too long, and not all devices set the signature
18828 properly.
18829 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
18830 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
18831 Fix device selection, DEV bit must be set first to address the registers
18832 of the correct device.
18833 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
18834 grub_ata_pio_read/write ().
18835 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
18836 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
18837
4a412913 188382009-01-13 Carles Pina i Estany <carles@pina.cat>
18839
18840 * util/grub-editenv.c (main): Use fseeko(), not fseek().
18841
7795c55e 188422009-01-13 Bean <bean123ch@gmail.com>
d913988c 18843
18844 * util/grub-mkfont.c (write_font): forget to remove some debug code.
18845
7795c55e 188462009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 18847
18848 * Makefile.in: (enable_grub_mkfont): New variable.
18849 (freetype_cflags): Likewise.
18850 (freetype_libs): Likewise.
18851
18852 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
18853 (grub_mkfont_SOURCES): New variable.
18854 (grub_mkfont_CFLAGS): Likewise.
18855 (grub_mkfont_LDFLAGS): Likewise.
18856
18857 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
18858 library if `--enable-grub-mkfont' is requested.
18859 (enable_grub_mkfont): New variable.
18860 (freetype_cflags): Likewise.
18861 (freetype_libs): Likewise.
18862
18863 * util/grub-mkfont.c: New file.
18864
093af1fe 188652009-01-12 Christian Franke <franke@computer.org>
18866
18867 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
18868 mode check. Fix setting of compat_use[].
18869
f36cc108 188702009-01-10 Robert Millan <rmh@aybabtu.com>
18871
18872 Update a few copyright years which we forgot to do in 2008 (only for
18873 files whose changes made in 2008 were copyright-significant)
18874
18875 * Makefile.in: Add 2008 to Copyright line.
18876 * disk/ieee1275/ofdisk.c: Likewise.
18877 * disk/efi/efidisk.c: Likewise.
18878 * kern/dl.c: Likewise.
18879 * kern/sparc64/ieee1275/init.c: Likewise.
18880 * kern/mm.c: Likewise.
18881 * kern/efi/mm.c: Likewise.
18882 * boot/i386/pc/boot.S: Likewise.
18883 * genfslist.sh: Likewise.
18884 * fs/iso9660.c: Likewise.
18885 * fs/hfs.c: Likewise.
18886 * fs/jfs.c: Likewise.
18887 * fs/minix.c: Likewise.
18888 * fs/ufs.c: Likewise.
18889 * gensymlist.sh.in: Likewise.
18890 * genkernsyms.sh.in: Likewise.
18891 * include/grub/misc.h: Likewise.
18892 * include/grub/types.h: Likewise.
18893 * include/grub/symbol.h: Likewise.
18894 * include/grub/elf.h: Likewise.
18895 * include/grub/kernel.h: Likewise.
18896 * include/grub/disk.h: Likewise.
18897 * include/grub/dl.h: Likewise.
18898 * include/grub/i386/linux.h: Likewise.
18899 * include/grub/i386/pc/biosdisk.h: Likewise.
18900 * include/grub/efi/api.h: Likewise.
18901 * include/grub/efi/pe32.h: Likewise.
18902 * include/grub/util/misc.h: Likewise.
18903 * normal/execute.c: Likewise.
18904 * normal/arg.c: Likewise.
18905 * normal/completion.c: Likewise.
18906 * normal/lexer.c: Likewise.
18907 * normal/parser.y: Likewise.
18908 * normal/misc.c: Likewise.
18909 * commands/i386/pc/vbeinfo.c: Likewise.
18910 * commands/hexdump.c: Likewise.
18911 * commands/terminal.c: Likewise.
18912 * commands/ls.c: Likewise.
18913 * commands/help.c: Likewise.
18914 * partmap/pc.c: Likewise.
18915 * loader/efi/chainloader.c: Likewise.
18916 * loader/multiboot_loader.c: Likewise.
18917 * loader/i386/pc/multiboot2.c: Likewise.
18918 * term/efi/console.c: Likewise.
18919 * term/i386/pc/serial.c: Likewise.
18920 * util/lvm.c: Likewise.
18921 * util/console.c: Likewise.
18922 * util/i386/efi/grub-mkimage.c: Likewise.
18923 * util/raid.c: Likewise.
18924
7f02114b 189252009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
18926
18927 * commands/videotest.c: Removed include to grub/machine/memory.h.
18928
18929 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
18930 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
18931 (video_mod_SOURCES): Removed.
18932 (video_mod_CFLAGS): Likewise.
18933 (video_mod_LDFLAGS): Likewise.
18934 (gfxterm_mod_SOURCES): Likewise.
18935 (gfxterm_mod_CFLAGS): Likewise.
18936 (gfxterm_mod_LDFLAGS): Likewise.
18937 (videotest_mod_SOURCES): Likewise.
18938 (videotest_mod_CFLAGS): Likewise.
18939 (videotest_mod_LDFLAGS): Likewise.
18940 (bitmap_mod_SOURCES): Likewise.
18941 (bitmap_mod_CFLAGS): Likewise.
18942 (bitmap_mod_LDFLAGS): Likewise.
18943 (tga_mod_SOURCES): Likewise.
18944 (tga_mod_CFLAGS): Likewise.
18945 (tga_mod_LDFLAGS): Likewise.
18946 (jpeg_mod_SOURCES): Likewise.
18947 (jpeg_mod_CFLAGS): Likewise.
18948 (jpeg_mod_LDFLAGS): Likewise.
18949 (png_mod_SOURCES): Likewise.
18950 (png_mod_CFLAGS): Likewise.
18951 (png_mod_LDFLAGS): Likewise.
18952
18953 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
18954 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
18955 (video_mod_SOURCES): Added.
18956 (video_mod_CFLAGS): Likewise.
18957 (video_mod_LDFLAGS): Likewise.
18958 (videotest_mod_SOURCES): Likewise.
18959 (videotest_mod_CFLAGS): Likewise.
18960 (videotest_mod_LDFLAGS): Likewise.
18961 (bitmap_mod_SOURCES): Likewise.
18962 (bitmap_mod_CFLAGS): Likewise.
18963 (bitmap_mod_LDFLAGS): Likewise.
18964 (tga_mod_SOURCES): Likewise.
18965 (tga_mod_CFLAGS): Likewise.
18966 (tga_mod_LDFLAGS): Likewise.
18967 (jpeg_mod_SOURCES): Likewise.
18968 (jpeg_mod_CFLAGS): Likewise.
18969 (jpeg_mod_LDFLAGS): Likewise.
18970 (png_mod_SOURCES): Likewise.
18971 (png_mod_CFLAGS): Likewise.
18972 (png_mod_LDFLAGS): Likewise.
18973 (gfxterm_mod_SOURCES): Likewise.
18974 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 18975 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 18976
18977 * term/gfxterm.c: Removed include to grub/machine/memory.h,
18978 grub/machine/console.h.
18979
644fff97 189802009-01-04 Jerone Young <jerone@gmail.com>
18981
18982 Make on screen instructions clearer
18983
18984 Based on patch created by Jidanni <jidanni@jidanni.org>
18985
18986 * normal/menu.c: print clearer instructions on the screen
18987
1e901a75 189882009-01-02 Colin D Bennett <colin@gibibit.com>
18989
18990 New font engine.
34c44600 18991
1e901a75 18992 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
18993 build system and fixed gfxterm.c to work with different sized fonts.
18994
18995 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 18996
1e901a75 18997 * configure: Re-generated.
34c44600 18998
1e901a75 18999 * DISTLIST: Removed font/manager.c.
19000 Added font/font.c.
19001 Added font/font_cmd.c.
34c44600 19002
1e901a75 19003 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
19004 compilation.
34c44600 19005
1e901a75 19006 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 19007
19008 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 19009
19010 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 19011
1e901a75 19012 * normal/menu.c: Likewise.
34c44600 19013
1e901a75 19014 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
19015 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 19016
1e901a75 19017 * include/grub/font.h: Replaced with new file.
34c44600 19018
1e901a75 19019 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
19020 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
19021 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
19022 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
19023 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 19024 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 19025 fg_red, fg_green, fg_blue, fg_alpha.
19026 (grub_video_adapter): Removed blit_glyph.
34c44600 19027 (grub_video_blit_glyph): Removed.
19028
1e901a75 19029 * font/manager.c: Removed file.
34c44600 19030
19031 * font/font.c: New file.
19032
1e901a75 19033 * font/font_cmd.c: Likewise.
34c44600 19034
1e901a75 19035 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 19036
1e901a75 19037 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
19038 (grub_video_vbe_map_rgba): Likewise.
19039 (grub_video_vbe_unmap_color_int): Likewise.
19040 (grub_video_vbe_blit_glyph): Removed.
19041 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 19042
1e901a75 19043 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
19044 (get_pixel): Likewise.
34c44600 19045 (set_pixel): Likewise.
19046
1e901a75 19047 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 19048
1e901a75 19049 * term/gfxterm.c: Adapted to new font engine.
34c44600 19050
1e901a75 19051 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 19052
1e901a75 19053 * term/i386/pc/vga.c: Likewise.
34c44600 19054
1e901a75 19055 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 19056
1e901a75 19057 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 19058
1e901a75 19059 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19060
1e901a75 19061 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19062
1e901a75 19063 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 19064
1e901a75 19065 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 19066
1e901a75 19067 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 19068
1e901a75 19069 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 19070
1e901a75 19071 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19072
19073 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 19074
1e901a75 19075 * util/grub-mkconfig_lib.in: Changed font extension.
19076
278922e8 190772008-12-28 Felix Zielcke <fzielcke@z-51.de>
19078
19079 * util/getroot.c (grub_util_get_grub_dev): Add support for
19080 /dev/md/dNNpNN style partitionable mdraid devices.
19081
3ced05cf 190822008-12-12 Alex Smith <alex@alex-smith.me.uk>
19083
19084 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
19085 at a time limit of the PXE TFTP API correctly.
19086 (grub_pxefs_close): Likewise.
19087
7fd0ee30 190882008-11-29 Robert Millan <rmh@aybabtu.com>
19089
34c44600 19090 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 19091 grub_ata_device_initialize() calls.
19092
34c44600 190932008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 19094
19095 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
19096 iteration failed.
19097 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
19098
89313780 190992008-11-28 Robert Millan <rmh@aybabtu.com>
19100
19101 Fix build on powerpc-ieee1275. Based on patch created by
19102 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
19103 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19104 `kern/ieee1275/mmap.c'.
19105 * include/grub/powerpc/ieee1275/memory.h: New file.
19106
15257703 19107 Provide grub-install on coreboot.
19108 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
19109 (grub_install_SOURCES): New variable.
19110 * util/i386/pc/grub-install.in: Add a few condition checks to make it
19111 usable on coreboot.
19112
9fc5388a 191132008-11-25 Felix Zielcke <fzielcke@z-51.de>
19114
19115 * util/grub-fstest.c (grub_term_get_current_input): Change return type
19116 to `grub_term_input_t'.
19117 (grub_term_get_current_output): Change return type to
19118 `grub_term_output_t'.
19119
bc3a2f31 191202008-11-22 Robert Millan <rmh@aybabtu.com>
19121
34c44600 19122 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 19123 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
19124 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
19125 grub_vga_text_cls().
19126
80fc88f2 19127 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 19128 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 19129
cbf36fd3 19130 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
19131 to 0x200000 (avoids trouble with some OFW implementations, and matches
19132 with the one in Yaboot).
19133 Reported by Manoel Abranches
19134
73e8e268 191352008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 19136
19137 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
19138 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
19139
73e8e268 19140 * util/grub-mkconfig_lib.in (grub_warn): New function.
19141 (convert_system_path_to_grub_path): Use grub_warn() when issuing
19142 warnings, to obtain consistent formatting.
19143 * util/grub.d/00_header.in: Likewise.
19144 * util/update-grub_lib.in: Likewise.
19145
e94045a1 19146 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 19147 Move comment text to `#error' stanza.
e94045a1 19148
79d29fd7 19149 Harmonize ieee1275's grub_available_iterate() with the generic
19150 grub_machine_mmap_iterate() interface (fixes a recently-introduced
19151 build problem on i386-ieee1275):
19152 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
19153 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
19154 parameter `type'. Update all users of this function.
19155 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19156 `kern/ieee1275/mmap.c'.
19157 * kern/ieee1275/init.c
19158 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
19159 with ...
19160 (grub_machine_mmap_iterate): ... this.
19161 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
19162 return type to `grub_err_t'. Update all implementations of this
19163 function prototype.
19164 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
19165 Likewise.
19166
60d6b16e 19167 Add `lsmmap' command (lists firmware-provided memory map):
19168 * commands/lsmmap.c: New file.
19169 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
19170 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
19171 variables.
19172 * conf/powerpc-ieee1275.rmk: Likewise.
19173 * conf/i386-coreboot.rmk: Likewise.
19174 * conf/i386-ieee1275.rmk: Likewise.
19175
ebaaf49b 191762008-11-19 Robert Millan <rmh@aybabtu.com>
19177
19178 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 19179 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
19180 constraints to initrd allocation (based on code from
19181 loader/i386/pc/linux.c). Without them, initrd was allocated too high
19182 for Linux to find it.
ebaaf49b 19183
dfab719f 191842008-11-14 Robert Millan <rmh@aybabtu.com>
19185
19186 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
19187 order to cope with duplicate slashes.
19188
10fc3eb9 191892008-11-14 Robert Millan <rmh@aybabtu.com>
19190
19191 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
19192 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
19193 don't want to mess with lower memory, because it is used in the Linux
19194 loader.
19195
19196 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 19197 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 19198 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
19199 is in our heap (probably as a result of it being corrupted during
2f2a3442 19200 decompression). Add #error instance with comment to explain why this
19201 loader isn't currently usable on PC/BIOS.
10fc3eb9 19202
e2e07847 192032008-11-14 Robert Millan <rmh@aybabtu.com>
19204
19205 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 19206 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 19207
fe8e8d69 192082008-11-12 Robert Millan <rmh@aybabtu.com>
19209
19210 Make loader/i386/linux.c buildable on i386-pc (although disabled).
19211
19212 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
19213 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
19214 from here ...
19215 * include/grub/i386/pc/memory.h: ... to here.
19216
976b07d0 192172008-11-12 Robert Millan <rmh@aybabtu.com>
19218
19219 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
19220 split).
19221
19222 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
19223 (grub_console_cur_color, grub_console_real_putchar)
19224 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19225 (grub_console_setcolorstate, grub_console_setcolor)
19226 (grub_console_getcolor): Move from here ...
19227 * include/grub/i386/vga_common.h: ... to here (new file).
19228
19229 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
19230 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
19231 `<grub/i386/io.h>'.
19232 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
19233 `<grub/i386/vga_common.h>'.
19234
76679cd3 192352008-11-12 Robert Millan <rmh@aybabtu.com>
19236
19237 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
19238 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
19239 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
19240 variables.
19241 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19242 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
19243
19244 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
19245 grub_console_init() with call to grub_vga_text_init().
19246 (grub_machine_fini): Replace call to
19247 grub_console_fini() with call to grub_vga_text_fini() and
19248 grub_at_keyboard_fini().
19249
19250 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
19251 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19252 (grub_console_setcolorstate, grub_console_setcolor)
19253 (grub_console_getcolor): New function prototypes.
19254
19255 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
19256 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
19257 (grub_vga_text_setcursor): Static-ize.
19258 (grub_vga_text_term): New structure.
19259 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
19260
19261 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
19262 (grub_console_cur_color, grub_console_standard_color)
19263 (grub_console_normal_color, grub_console_highlight_color)
19264 (map_char, grub_console_putchar, grub_console_getcharwidth)
19265 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
19266 (grub_console_getcolor): Move from here ...
19267 * term/i386/vga_common.c: ... to here (same function names).
19268
95b841d3 192692008-11-12 Robert Millan <rmh@aybabtu.com>
19270
19271 Use newly-added Multiboot support in coreboot.
19272
19273 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19274 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
19275
19276 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
19277 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
19278 (codestart): Store the MBI in `startup_multiboot_info' when we're
19279 being loaded using Multiboot.
19280
19281 * kern/i386/coreboot/init.c (grub_machine_init): Move
19282 grub_at_keyboard_init() call to beginning of function (useful for
19283 debugging). Call grub_machine_mmap_init() before attempting to use
19284 grub_machine_mmap_iterate().
19285 (grub_lower_mem, grub_upper_mem): Move from here ...
19286 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
19287 here (new file).
19288
19289 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
19290 function prototype.
19291
761ca975 192922008-11-12 Robert Millan <rmh@aybabtu.com>
19293
19294 Fix a regression introduced by the at_keyboard.mod split. Because
19295 some terminals are default on some platforms and non-default on
19296 others, the first terminal being registered determines which is
19297 going to be default.
19298
19299 * kern/term.c (grub_term_register_input): If this is the first
19300 terminal being registered, set it as the current one.
19301 (grub_term_register_output): Likewise.
19302
19303 * term/efi/console.c (grub_console_init): Do not call
19304 grub_term_set_current_output() or grub_term_set_current_input().
19305 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
19306 * term/i386/pc/console.c (grub_console_init): Likewise.
19307 (grub_console_fini): Do not call grub_term_set_current_input()
19308 (but leave grub_term_set_current_output() to restore text mode).
19309
6c529df7 193102008-11-10 Robert Millan <rmh@aybabtu.com>
19311
19312 * util/grub.d/00_header.in: Add backward compatibility check for
19313 versions of terminal.mod that don't understand `terminal_input' or
19314 `terminal_output'.
19315
132e4113 193162008-11-09 Robert Millan <rmh@aybabtu.com>
19317
19318 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
19319 `terminal_input' / `terminal_output', not `terminal'.
19320
ac293d50 193212008-11-08 Robert Millan <rmh@aybabtu.com>
19322
19323 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 19324 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 19325
0025933a 193262008-11-08 Robert Millan <rmh@aybabtu.com>
19327
19328 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 19329 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 19330 members. Update all users.
19331 * util/console.c (grub_ncurses_term): Split in ...
19332 (grub_ncurses_term_input): ... this, and ...
19333 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 19334 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 19335
37c86336 193362008-11-08 Robert Millan <rmh@aybabtu.com>
19337
19338 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
19339 (PKGDATA): Add $(pkgdata_SRCDIR).
19340 (pkglib_BUILDDIR): New variable.
19341 (pkgdata_SRCDIR): New variable.
19342 (build_env.mk): New target.
19343 (include_DATA): New variable.
19344 (install-local): Install $(include_DATA) files in $(includedir).
19345
b6c15a2d 193462008-11-07 Pavel Roskin <proski@gnu.org>
19347
d99d46f1 19348 * gendistlist.sh: Use C locale for sorting to ensure consistent
19349 output on all systems.
19350
b6c15a2d 19351 * util/grub.d/00_header.in: Remove incorrect space before
19352 "serial".
19353
c32ee8c9 193542008-11-07 Robert Millan <rmh@aybabtu.com>
19355
19356 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
19357 per specification.
19358 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
19359 * loader/multiboot_loader.c (find_multi_boot2_header): New function
19360 (based on find_multi_boot1_header).
19361 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
19362 using find_multi_boot2_header(), and abort if neither Multiboot or
19363 Multiboot headers were found.
19364
651c29b7 193652008-11-07 Robert Millan <rmh@aybabtu.com>
19366
19367 Modularize at_keyboard.mod:
19368
19369 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
19370 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19371 (at_keyboard_mod_LDFLAGS): New variables.
19372
19373 Actual terminal split:
19374
19375 * include/grub/term.h (struct grub_term): Split in ...
19376 (struct grub_term_input): ... this, and ...
19377 (struct grub_term_output): ... this. Update all users.
19378 (grub_term_set_current): Split in ...
19379 (grub_term_set_current_input): ... this, and ...
19380 (grub_term_set_current_output): ... this.
19381 (grub_term_get_current): Split in ...
19382 (grub_term_get_current_input): ... this, and ...
19383 (grub_term_get_current_output): ... this.
19384 (grub_term_register): Split in ...
19385 (grub_term_register_input): ... this, and ...
19386 (grub_term_register_output): ... this.
19387 (grub_term_unregister): Split in ...
19388 (grub_term_unregister_input): ... this, and ...
19389 (grub_term_unregister_output): ... this.
19390 (grub_term_iterate): Split in ...
19391 (grub_term_iterate_input): ... this, and ...
19392 (grub_term_iterate_output): ... this.
19393
19394 * kern/term.c (grub_term_list): Split in ...
19395 (grub_term_list_input): ... this, and ...
19396 (grub_term_list_output): ... this. Update all users.
19397 (grub_cur_term): Split in ...
19398 (grub_cur_term_input): ... this, and ...
19399 (grub_cur_term_output): ... this. Update all users.
19400 (grub_term_set_current): Split in ...
19401 (grub_term_set_current_input): ... this, and ...
19402 (grub_term_set_current_output): ... this.
19403 (grub_term_get_current): Split in ...
19404 (grub_term_get_current_input): ... this, and ...
19405 (grub_term_get_current_output): ... this.
19406 (grub_term_register): Split in ...
19407 (grub_term_register_input): ... this, and ...
19408 (grub_term_register_output): ... this.
19409 (grub_term_unregister): Split in ...
19410 (grub_term_unregister_input): ... this, and ...
19411 (grub_term_unregister_output): ... this.
19412 (grub_term_iterate): Split in ...
19413 (grub_term_iterate_input): ... this, and ...
19414 (grub_term_iterate_output): ... this.
19415
19416 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
19417 a check for input and one for output (and only attempt to get keys
19418 from user when input works).
19419
19420 * util/grub-probe.c (grub_term_get_current): Split in ...
19421 (grub_term_get_current_input): ... this, and ...
19422 (grub_term_get_current_output): ... this.
19423 * util/grub-fstest.c: Likewise.
19424 * util/i386/pc/grub-setup.c: Likewise.
19425 * util/grub-editenv.c: Likewise.
19426
19427 Portability adjustments:
19428
19429 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
19430 `term/i386/pc/at_keyboard.c'.
19431 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
19432 grub_keyboard_controller_init() (now handled by terminal .init).
19433 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
19434 grub_at_keyboard_init().
19435 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
19436 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
19437 at_keyboard.mod via input terminal interface).
19438 * include/grub/i386/coreboot/console.h: Convert into a stub for
19439 `<grub/i386/pc/console.h>'.
19440
19441 Migrate full terminals to new API:
19442
19443 * term/efi/console.c (grub_console_term): Split into ...
19444 (grub_console_term_input): ... this, and ...
19445 (grub_console_term_output): ... this. Update all users.
19446 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
19447 (grub_ofconsole_init): Split into ...
19448 (grub_ofconsole_init_input): ... this, and ...
19449 (grub_ofconsole_init_output): ... this.
19450 (grub_ofconsole_term): Split into ...
19451 (grub_ofconsole_term_input): ... this, and ...
19452 (grub_ofconsole_term_output): ... this. Update all users.
19453 * term/i386/pc/serial.c (grub_serial_term): Split into ...
19454 (grub_serial_term_input): ... this, and ...
19455 (grub_serial_term_output): ... this. Update all users.
19456 * term/i386/pc/console.c (grub_console_term): Split into ...
19457 (grub_console_term_input): ... this, and ...
19458 (grub_console_term_output): ... this. Update all users.
19459 (grub_console_term_input): Only enable it on PC/BIOS platform.
19460 (grub_console_init): Remove grub_keyboard_controller_init() call.
19461
19462 Migrate input terminals to new API:
19463
19464 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
19465 `i386' and `i386/pc' to enable build on x86_64 (this driver is
19466 i386-specific anyway).
19467 (grub_console_checkkey): Rename to ...
19468 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
19469 users.
19470 (grub_keyboard_controller_orig): New variable.
19471 (grub_console_getkey): Rename to ...
19472 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
19473 users.
19474 (grub_keyboard_controller_init): Static-ize. Save original
19475 controller value so that it can be restored ...
19476 (grub_keyboard_controller_fini): ... here (new function).
19477 (grub_at_keyboard_term): New structure.
19478 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
19479 functions.
19480
19481 Migrate output terminals to new API:
19482
19483 * term/i386/pc/vga.c (grub_vga_term): Change type to
19484 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19485 members. Update all users.
19486 * term/gfxterm.c (grub_video_term): Change type to
19487 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19488 members. Update all users.
19489 * include/grub/i386/pc/console.h (grub_console_checkkey)
19490 (grub_console_getkey): Do not export (no longer needed by gfxterm,
19491 etc).
19492
19493 Migrate `terminal' command and userland tools to new API:
19494
19495 * commands/terminal.c (grub_cmd_terminal): Split into ...
19496 (grub_cmd_terminal_input): ... this, and ...
19497 (grub_cmd_terminal_output): ... this.
19498 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
19499 `terminal_input' and `terminal_output'.
19500 * util/grub.d/00_header.in: Adjust `terminal' calls to new
19501 `terminal_input' / `terminal_output' API.
19502 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
19503 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
19504 provided ${GRUB_TERMINAL}, convert it).
19505
96e5d876 195062008-11-04 Robert Millan <rmh@aybabtu.com>
19507
19508 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
19509 for FreeBSD.
19510 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
19511
556f3775 195122008-11-03 Bean <bean123ch@gmail.com>
19513
19514 * kern/elf.c (grub_elf32_load): Revert to previous code.
19515 (grub_elf64_load): Likewise.
19516
19517 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
19518
926b9823 195192008-11-01 Robert Millan <rmh@aybabtu.com>
19520
19521 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
19522 (TARGET_CPPFLAGS): Likewise.
19523 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
19524
1432e958 195252008-11-01 Carles Pina i Estany <carles@pina.cat>
19526
19527 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
19528
dba3f844 195292008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 19530
19531 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
19532 addition of objects until the code is not going to be able to fail.
19533
dba3f844 195342008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 19535
19536 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
19537 (add a missing NULL check, and correct them by moving the pointer
19538 operations after the actual check).
19539
7ab28c21 195402008-10-29 Robert Millan <rmh@aybabtu.com>
19541
19542 * util/i386/pc/grub-install.in: Handle empty string as output from
19543 make_system_path_relative_to_its_root().
19544
1b7748eb 195452008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
19546
19547 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
19548 circular metadata worst case scenario. If the metadata is circular
19549 then copy the wrap in place.
19550 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
19551 project lib/format_text/layout.h
19552 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
19553
c9618ab2 195542008-10-03 Felix Zielcke <fzielcke@z-51.de>
19555
7a36edca 19556 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 19557
bf981c62 195582008-10-03 Felix Zielcke <fzielcke@z-51.de>
19559
19560 * util/update-grub_lib.in: Mention filename in warning message.
19561
6d994591 195622008-09-29 Felix Zielcke <fzielcke@z-51.de>
19563
19564 * NEWS: Update for rename of update-grub to grub-mkconfig.
19565
18ade780 195662008-09-29 Felix Zielcke <fzielcke@z-51.de>
19567
19568 * util/update-grub_lib.in: Copy to ...
19569 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 19570 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 19571 * util/update-grub.in: Rename to ...
19572 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
19573 option. Add `--output' option to allow users to specify the generated
19574 configuration file. Default to stdout.
19575 (update_grub_dir): Rename to ...
19576 (grub_mkconfig_dir): ... this.
19577 (grub_cfg): Default to an empty string.
19578 * conf/common.rmk (update-grub): Rename to ...
19579 (grub-mkconfig): ... this.
19580 (update-grub_lib): Copy to ...
19581 (grub-mkconfig_lib): ... this.
19582 (update-grub_SCRIPTS): Copy to ...
19583 (grub-mkconfig_SCRIPTS): ... this. Update all users.
19584 (update-grub_DATA): Rename to ...
19585 (grub-mkconfig_DATA): ... this.
19586
556ce6ac 195872008-09-28 Robert Millan <rmh@aybabtu.com>
19588
19589 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
19590 to `modified'. Add the real `created' field.
19591 (grub_iso9660_uuid): Use `modified' rather than `created' for
19592 constructing the UUID.
19593
195942008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 19595
19596 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
19597 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
19598
92274e85 195992008-09-28 Bean <bean123ch@gmail.com>
19600
19601 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
19602 Thanks to Christian Franke for finding this bug.
19603
add6f17a 196042008-09-25 Robert Millan <rmh@aybabtu.com>
19605
19606 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
19607 instances of grub_util_get_disk_name() (see previous commit).
19608
d2a367b8 196092008-09-25 Robert Millan <rmh@aybabtu.com>
19610
19611 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
19612 `util/i386/get_disk_name.c'.
19613 * conf/i386-efi.rmk: Likewise.
19614 * conf/x86_64-efi.rmk: Likewise.
19615 * conf/i386-coreboot.rmk: Likewise.
19616 * conf/i386-ieee1275.rmk: Likewise.
19617 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
19618 `util/ieee1275/get_disk_name.c'.
19619 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
19620 * util/ieee1275/get_disk_name.c: Remove file.
19621 * util/i386/get_disk_name.c: Remove file.
19622 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
19623 "hd%d" for device.map entries, rather than using
19624 grub_util_get_disk_name().
19625
81a06771 196262008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 19627
19628 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
19629 warning.
19630 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
19631
5a004279 196322008-09-24 Carles Pina i Estany <carles@pina.cat>
19633
19634 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
19635 Changed to 0x5100.
19636 (GRUB_TERM_PPAGE): Changed to 0x4900.
19637
397093d3 196382008-09-24 Robert Millan <rmh@aybabtu.com>
19639
19640 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
19641 macros (they were i386-pc specific).
19642 * include/grub/sparc64/ieee1275/console.h: Likewise.
19643 * include/grub/efi/console.h: Likewise.
19644
a91b6c7c 196452008-09-22 Bean <bean123ch@gmail.com>
19646
19647 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
19648 resident and in attribute list.
19649
19650 * include/grub/ntfs.h (BMP_LEN): Removed.
19651
c40fd116 196522008-09-22 Bean <bean123ch@gmail.com>
19653
81a06771 19654 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 19655 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
19656
19657 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
19658 error occurs, as grub_disk_open will call grub_disk_close, which will
19659 call p->close (scsi).
19660
81a06771 196612008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 19662
19663 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
19664 (AC_PREREQ): Bumped to 2.59.
19665 (AC_TRY_COMPILE): Replace obsolete macro with ...
19666 (AC_COMPILE_IFELSE): ... this.
19667 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
19668 (AC_LINK_IFELSE): ... this.
19669
5dc43410 196702008-09-21 Felix Zielcke <fzielcke@z-51.de>
19671
19672 * autogen.sh: Add a call to `gendistlist.sh'.
19673
9035dce4 196742008-09-19 Christian Franke <franke@computer.org>
19675
19676 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
19677 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
19678 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
19679 Export __enable_execute_stack() to modules.
19680 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
19681 New function.
19682
7fd75377 196832008-09-09 Felix Zielcke <fzielcke@z-51.de>
19684
040030b3 19685 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
19686 Sort the list.
19687
196882008-09-09 Felix Zielcke <fzielcke@z-51.de>
19689
19690 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 19691 #include <grub/util/hostdisk.h>.
19692
89d5ffcf 196932008-09-08 Robert Millan <rmh@aybabtu.com>
19694
19695 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
19696 segments when their filesz is zero (grub_file_read() interprets
81a06771 19697 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 19698 Use `lowest_segment' rather than 0 for calculating the current
19699 segment load address.
19700
40da438f 197012008-09-08 Robert Millan <rmh@aybabtu.com>
19702
19703 * util/hostdisk.c (open_device): Replace a grub_util_info() call
19704 with grub_dprintf("hostdisk", ...), as it was so verbose that it
19705 clobbered useful information.
19706
ddbf5556 197072008-09-08 Robert Millan <rmh@aybabtu.com>
19708
19709 * include/grub/util/biosdisk.h: Move to ...
19710 * include/grub/util/hostdisk.h: ... here. Update all users.
19711 * util/biosdisk.c: Move to ...
19712 * util/hostdisk.c: ... here. Update all users.
19713
783d0f48 197142008-09-07 Robert Millan <rmh@aybabtu.com>
19715
19716 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
19717 variables.
19718 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
19719 and length can be stored directly in the `mbi->mmap_addr' and
19720 `mbi->mmap_length' struct fields.
19721
548e2ea5 197222008-09-07 Robert Millan <rmh@aybabtu.com>
19723
19724 * conf/i386.rmk: New file. Provides declaration for building
19725 `cpuid.mod'.
19726 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
19727 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
19728 variables.
19729 Include `conf/i386.mk'.
19730 * conf/i386-efi.rmk: Likewise.
19731 * conf/x86_64-efi.rmk: Likewise.
19732 * conf/i386-coreboot.rmk: Likewise.
19733 * conf/i386-ieee1275.rmk: Likewise.
19734
0ea85a37 197352008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
19736
19737 Based on patch created by Colin D Bennett <colin@gibibit.com>.
19738 Adds optimization support for BGR based modes.
19739
19740 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
19741 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19742 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19743 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19744 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19745 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19746 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19747 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19748 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19749 (grub_video_i386_vbeblit_index_index): Likewise.
19750 (grub_video_i386_vbeblit_replace_directN): Added.
19751 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19752 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19753 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19754 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19755 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19756 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 19757 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 19758 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19759 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19760 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19761 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19762 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19763 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
19764
19765 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
19766 (grub_video_i386_vbefill_R8G8B8): Likewise.
19767 (grub_video_i386_vbefill_index): Likewise.
19768 (grub_video_i386_vbefill_direct32): Added.
19769 (grub_video_i386_vbefill_direct24): Likewise.
19770 (grub_video_i386_vbefill_direct16): Likewise.
19771 (grub_video_i386_vbefill_direct8): Likewise.
19772
81a06771 19773 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 19774 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
19775 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
19776 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
19777 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
19778 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 19779
0ea85a37 19780 * video/video.c (grub_video_get_blit_format): Updated to use new
19781 blit formats. Added handling for 16 bit color modes.
81a06771 19782
19783 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 19784 fillers.
19785 (common_blitter): Updated to use new blitters.
19786
19787 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
19788 Removed.
19789 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19790 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19791 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19792 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19793 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19794 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19795 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19796 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19797 (grub_video_i386_vbeblit_index_index): Likewise.
19798 (grub_video_i386_vbeblit_replace_directN): Added.
19799 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19800 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19801 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19802 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19803 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19804 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
19805 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
19806 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19807 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19808 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19809 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19810 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19811 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 19812
0ea85a37 19813 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
19814 (grub_video_i386_vbefill_R8G8B8): Likewise.
19815 (grub_video_i386_vbefill_index): Likewise.
19816 (grub_video_i386_vbefill_direct32): Added.
19817 (grub_video_i386_vbefill_direct24): Likewise.
19818 (grub_video_i386_vbefill_direct16): Likewise.
19819 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 19820
0ea85a37 19821 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
19822 types.
81a06771 19823
0ea85a37 19824 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
19825 types.
81a06771 19826
0ea85a37 19827 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
19828 blitter types.
81a06771 19829
0ea85a37 19830 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
19831 types.
19832
e8a83df6 198332008-09-06 Felix Zielcke <fzielcke@z-51.de>
19834
19835 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
19836 RAID level 1.
19837
6bcd8ee5 198382008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 19839
6bcd8ee5 19840 * fs/iso9660.c (grub_iso9660_date): New structure.
19841 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
19842 (grub_iso9660_uuid): New function.
c375ae58 19843
59261157 198442008-09-05 Bean <bean123ch@gmail.com>
19845
19846 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
19847
19848 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
19849 insensitive bit for names in Win32 and Win32 & DOS namespace.
19850
19851 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
19852
19853 * include/grub/types.h (LONG_MAX): Likewise.
19854
58b6645a 198552008-09-04 Felix Zielcke <fzielcke@z-51.de>
19856
4ee55921 19857 * util/getroot.c: Include <config.h>.
19858 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
19859 add support for /dev/md/N devices and handle LVM double dash escaping.
19860
198612008-09-04 Felix Zielcke <fzielcke@z-51.de>
19862
19863 * config.guess: Update to latest version from config git.
19864 * config.sub: Likewise.
58b6645a 19865
9124f65d 198662008-09-03 Robert Millan <rmh@aybabtu.com>
19867
19868 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
19869 `disk->total_sectors'.
19870
81a06771 198712008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 19872
19873 * include/grub/normal.h: Fixed incorrect comment for
19874 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
19875
81a06771 198762008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 19877
19878 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
19879 values with defines.
19880
19881 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
19882 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
19883 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
19884 (GRUB_VBE_MODEATTR_COLOR): Likewise.
19885 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
19886 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
19887 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
19888 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
19889 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
19890 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
19891 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
19892 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
19893 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
19894 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
19895 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
19896 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
19897 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
19898 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
19899 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
19900
93d5cbf8 199012008-08-31 Robert Millan <rmh@aybabtu.com>
19902
19903 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
19904 declaration.
19905 (grub_multiboot): Fix a few warnings.
19906
21751d50 199072008-08-31 Robert Millan <rmh@aybabtu.com>
19908
19909 * loader/i386/pc/multiboot.c: Update comment not to say that
19910 boot_device support is unimplemented.
19911
e27a75c5 199122008-08-31 Robert Millan <rmh@aybabtu.com>
19913
19914 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
19915 or memory map support are unimplemented.
19916
81a06771 199172008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 19918
19919 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
19920
81a06771 199212008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 19922
19923 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
19924 total video memory in 'vbeinfo' output; show color format details for
19925 each video mode.
19926
7c5d8d95 199272008-08-30 Pavel Roskin <proski@gnu.org>
19928
19929 * util/genmoddep.c: Remove for real this time.
19930 * DISTLIST: Remove util/genmoddep.c.
19931
4cebd25a 199322008-08-30 Robert Millan <rmh@aybabtu.com>
19933
19934 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
19935 as required by Multiboot spec (it was already 4-byte aligned, but
19936 only by chance).
19937
b497a269 199382008-08-29 Pavel Roskin <proski@gnu.org>
19939
e3925185 19940 * kern/powerpc/ieee1275/crt0.S: Rename to ...
19941 * kern/powerpc/ieee1275/startup.S: ... this.
19942 * conf/powerpc-ieee1275.rmk: Adjust for the above.
19943 * DISTLIST: Likewise.
19944
b497a269 19945 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
19946 grub/cpu/kernel.h. Add start label for consistency with other
19947 platforms. Add grub_prefix immediately after start. Add jump
19948 to the code after grub_prefix.
19949 * include/grub/powerpc/kernel.h: Provide valid values for
19950 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
19951
6e5a42fe 199522008-08-29 Bean <bean123ch@gmail.com>
19953
19954 * configure.ac: Change host_os to cygwin for mingw.
19955 (asprintf): New check for function.
19956
19957 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
19958 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
19959
19960 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 19961 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 19962 sync, sleep and grub_util_get_disk_size for mingw.
19963
19964 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
19965 to get size in mingw.
19966 (open_device): Use flag O_BINARY if it's defined.
19967 (find_root_device): Add dummy code for mingw.
19968
19969 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
19970 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
19971 (get_scsi_disk_name): Return 0 for mingw.
19972
19973 * util/hostfs.c: #include <grub/util/misc.h>.
19974 (grub_hostfs_open): Use "rb" flag to open file, use
19975 grub_util_get_disk_size to get disk size for mingw.
19976
19977 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
19978 (asprintf): New function if HAVE_ASPRINTF is not set.
19979 (sync): New function for mingw.
19980 (sleep): Likewise.
19981 (grub_util_get_disk_size): Likewise.
19982
ab3f2673 199832008-08-28 Pavel Roskin <proski@gnu.org>
19984
19985 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19986 kern/time.c.
19987
1c282483 199882008-08-28 Robert Millan <rmh@aybabtu.com>
19989
19990 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
19991
678e849c 199922008-08-28 Robert Millan <rmh@aybabtu.com>
19993
19994 Change find_grub_drive() syntax so it doesn't prevent it from
19995 detecting NULL names as errors.
19996
19997 * util/biosdisk.c (find_grub_drive): Move free slot search code
19998 from here ...
19999 (find_free_slot): ... to here.
20000 (read_device_map): Use find_free_slot() to search for free slots.
20001
965c75ca 200022008-08-27 Marco Gerards <marco@gnu.org>
20003
20004 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
20005 (scsi_mod_SOURCES): New variable.
20006 (scsi_mod_CFLAGS): Likewise
20007 (scsi_mod_LDFLAGS): Likewise.
20008
20009 * disk/scsi.c: New file.
20010
20011 * include/grub/scsi.h: Likewise.
20012
20013 * include/grub/scsicmd.h: Likewise.
20014
20015 * disk/ata.c: Include <grub/scsi.h>.
20016 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
20017 instead.
20018 (grub_ata_iterate): Skip ATAPI devices.
20019 (grub_ata_open): Only handle ATAPI devices.
20020 (struct grub_atapi_read): Removed.
20021 (grub_atapi_readsector): Likewise.
20022 (grub_ata_read): No longer handle ATAPI devices.
20023 (grub_ata_write): Likewise.
20024 (grub_atapi_iterate): New function.
20025 (grub_atapi_read): Likewise.
20026 (grub_atapi_write): Likewise.
20027 (grub_atapi_open): Likewise.
20028 (grub_atapi_close): Likewise.
20029 (grub_atapi_dev): New variable.
20030 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
20031 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
20032
20033 * include/grub/disk.h (enum grub_disk_dev_id): Add
20034 `GRUB_DISK_DEVICE_SCSI_ID'.
20035
c07ae501 200362008-08-26 Robert Millan <rmh@aybabtu.com>
20037
20038 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
20039 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
20040 descriptive.
20041
5ed20adc 200422008-08-23 Bean <bean123ch@gmail.com>
20043
20044 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
20045 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20046 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
20047 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
20048 dm_nv.mod.
20049 (raid5rec_mod_SOURCES): New macro.
20050 (raid5rec_mod_CFLAGS): Likewise.
20051 (raid5rec_mod_LDFLAGS): Likewise.
20052 (raid6rec_mod_SOURCES): Likewise.
20053 (raid6rec_mod_CFLAGS): Likewise.
20054 (raid6rec_mod_LDFLAGS): Likewise.
20055 (mdraid_mod_SOURCES): Likewise.
20056 (mdraid_mod_CFLAGS): Likewise.
20057 (mdraid_mod_LDFLAGS): Likewise.
20058 (dm_nv_mod_SOURCES): Likewise.
20059 (dm_nv_mod_CFLAGS): Likewise.
20060 (dm_nv_mod_LDFLAGS): Likewise.
20061
20062 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
20063 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20064 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20065
20066 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
20067 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20068
20069 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20070
20071 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20072
20073 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20074
20075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20076
20077 * disk/raid5_recover.c: New file.
20078
20079 * disk/raid6_recover.c: Likewise.
20080
20081 * disk/mdraid_linux.c: Likewise.
20082
20083 * disk/dmraid_nvidia.c: Likewise.
20084
20085 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
20086 ULONG_MAX.
20087
20088 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
20089 calculate the size of raid device.
20090 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
20091 different layout of raid5.
20092 (grub_raid_scan_device): Remove code specific to mdraid.
20093 (grub_raid_list): New variable.
20094 (free_array): New function.
20095 (grub_raid_register): Likewise.
20096 (grub_raid_unregister): Likewise.
20097 (grub_raid_rescan): Likewise.
20098 (GRUB_MOD_INIT): Don't iterate device here.
20099 (GRUB_MOD_FINI): Use free_array to release resource.
20100
20101 * include/grub/raid.h: Remove macro and structure specific to mdraid.
20102 (grub_raid5_recover_func_t): New function variable type.
20103 (grub_raid6_recover_func_t): Likewise.
20104 (grub_raid5_recover_func): New variable.
20105 (grub_raid6_recover_func): Likewise.
20106 (grub_raid_register): New function.
20107 (grub_raid_unregister): Likewise.
20108 (grub_raid_rescan): Likewise.
20109 (grub_raid_block_xor): Likewise.
20110
20111 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
20112 (CMD_CRC): New macro.
20113 (part): Removed.
20114 (read_file): Handle device as well as file.
20115 (cmd_crc): New function.
20116 (fstest): Handle multiple disks.
20117 (options): Remove part, raw and long, add root and diskcount.
20118 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 20119 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 20120 add handling for the new options, support multiple disks.
20121
20122 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
20123
29c18915 201242008-08-23 Bean <bean123ch@gmail.com>
20125
20126 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
20127
20128 * genfslist.sh: Ignore kernel.mod.
20129
20130 * genpartmaplist.sh: Likewise.
20131
8415f261 201322008-08-23 Robert Millan <rmh@aybabtu.com>
20133
20134 * util/getroot.c (find_root_device): Skip anything that starts with
20135 a dot, not just directories. This avoids things like /dev/.tmp.md0.
20136
d5a7dc5b 201372008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 20138
d5a7dc5b 20139 * util/update-grub.in (GRUB_GFXMODE): Export variable.
20140 * util/grub.d/00_header.in: Allow the administrator to change default
20141 gfxmode via ${GRUB_GFXMODE}.
20142
380cfbb4 201432008-08-21 Felix Zielcke <fzielcke@z-51.de>
20144
20145 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
20146
c9baafe7 201472008-08-21 Robert Millan <rmh@aybabtu.com>
20148
20149 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
20150 loader.
20151 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
20152 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
20153
e290bef2 201542008-08-20 Carles Pina i Estany <carles@pina.cat>
20155
20156 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
20157 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
20158
f9dbfc96 201592008-08-19 Robert Millan <rmh@aybabtu.com>
20160
20161 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
20162 (struct grub_virtual_screen): Remove `cursor_color'.
20163 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
20164 initialization.
20165 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
20166
dd6bd6ab 201672008-08-18 Robert Millan <rmh@aybabtu.com>
20168
20169 Unify (identical) linux_normal.c files.
20170 * loader/i386/efi/linux_normal.c: Move from here ...
20171 * loader/linux_normal.c: ... to here. Update all users.
20172 * loader/i386/pc/linux_normal.c: Delete. Update all users.
20173 * loader/i386/ieee1275/linux_normal.c: Likewise.
20174
7f42f83e 201752008-08-18 Robert Millan <rmh@aybabtu.com>
20176
20177 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
20178 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
20179 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
20180 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
20181 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
20182 New macros.
20183 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
20184 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
20185 (GRUB_LINUX_CL_END_OFFSET): ... to here.
20186 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
20187 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
20188 (GRUB_EFI_CL_END_OFFSET): Rename to ...
20189 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
20190 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
20191 Initialize `params->video_cursor_x' and `params->video_cursor_y'
20192 portably using grub_getxy().
20193 Replace `-EFI' with `-bzImage' in boot message.
20194
38487ddb 201952008-08-17 Robert Millan <rmh@aybabtu.com>
20196
20197 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
20198
deceb3ec 201992008-08-17 Robert Millan <rmh@aybabtu.com>
20200
20201 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
20202
20203 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
20204 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
20205 (grub_machine_mmap_iterate): New function declaration.
20206 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
20207 structure.
20208 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
20209 macros.
20210
20211 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
20212 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
20213 Move e820 parsing from here ...
20214 * kern/i386/pc/mmap.c: New file.
20215 (grub_machine_mmap_iterate): ... to here.
20216
20217 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
20218 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
20219 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
20220 (grub_available_iterate): Redeclare to return `void', and redeclare
20221 its hook to use grub_uint64_t as addr and size parameters, and rename
20222 to ...
20223 (grub_machine_mmap_iterate): ... this. Update all users.
20224
20225 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
20226 to make it more readable. Rename to ...
20227 (grub_machine_mmap_iterate): ... this.
20228
20229 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
20230 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
20231 (grub_multiboot): Allocate an extra region after the payload, and fill
20232 it with a Multiboot memory map. Adjust a.out loader to calculate size
20233 with the extra space.
20234 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
20235 with the extra space.
20236
f8aa0f43 202372008-08-17 Carles Pina i Estany <carles@pina.cat>
20238
9807deb9 20239 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 20240
605f5bb6 202412008-08-17 Felix Zielcke <fzielcke@z-51.de>
20242
20243 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
20244 mdate-sh to the list `find' searches for.
20245 * DISTLIST: Regenerated.
20246
210db6c6 202472008-08-16 Felix Zielcke <fzielcke@z-51.de>
20248
20249 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
20250 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 20251 genmoddep.awk, gensymlist.sh.in.
20252 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 20253 * DISTLIST: Regenerated.
48cdbfd4 20254 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 20255
1082b929 202562008-08-16 Robert Millan <rmh@aybabtu.com>
20257
20258 * disk/raid.c (grub_raid_init): Handle/report errors set by
20259 grub_device_iterate().
20260 * disk/lvm.c (grub_lvm_init): Likewise.
20261
42ce5170 202622008-08-15 Bean <bean123ch@gmail.com>
20263
20264 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20265 and datehook.mod.
20266 (datetime_mod_SOURCES): New macro.
20267 (datetime_mod_CFLAGS): Likewise.
20268 (datetime_mod_LDFLAGS): Likewise.
20269 (date_mod_SOURCES): Likewise.
20270 (date_mod_CFLAGS): Likewise.
20271 (date_mod_LDFLAGS): Likewise.
20272 (datehook_mod_SOURCES): Likewise.
20273 (datehook_mod_CFLAGS): Likewise.
20274 (datehook_mod_LDFLAGS): Likewise.
20275
20276 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20277 and datehook.mod.
20278 (datetime_mod_SOURCES): New macro.
20279 (datetime_mod_CFLAGS): Likewise.
20280 (datetime_mod_LDFLAGS): Likewise.
20281 (date_mod_SOURCES): Likewise.
20282 (date_mod_CFLAGS): Likewise.
20283 (date_mod_LDFLAGS): Likewise.
20284 (datehook_mod_SOURCES): Likewise.
20285 (datehook_mod_CFLAGS): Likewise.
20286 (datehook_mod_LDFLAGS): Likewise.
20287
20288 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20289 and datehook.mod.
20290 (datetime_mod_SOURCES): New macro.
20291 (datetime_mod_CFLAGS): Likewise.
20292 (datetime_mod_LDFLAGS): Likewise.
20293 (date_mod_SOURCES): Likewise.
20294 (date_mod_CFLAGS): Likewise.
20295 (date_mod_LDFLAGS): Likewise.
20296 (datehook_mod_SOURCES): Likewise.
20297 (datehook_mod_CFLAGS): Likewise.
20298 (datehook_mod_LDFLAGS): Likewise.
20299
20300 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20301 and datehook.mod.
20302 (datetime_mod_SOURCES): New macro.
20303 (datetime_mod_CFLAGS): Likewise.
20304 (datetime_mod_LDFLAGS): Likewise.
20305 (date_mod_SOURCES): Likewise.
20306 (date_mod_CFLAGS): Likewise.
20307 (date_mod_LDFLAGS): Likewise.
20308 (datehook_mod_SOURCES): Likewise.
20309 (datehook_mod_CFLAGS): Likewise.
20310 (datehook_mod_LDFLAGS): Likewise.
20311
20312 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20313 and datehook.mod.
20314 (datetime_mod_SOURCES): New macro.
20315 (datetime_mod_CFLAGS): Likewise.
20316 (datetime_mod_LDFLAGS): Likewise.
20317 (date_mod_SOURCES): Likewise.
20318 (date_mod_CFLAGS): Likewise.
20319 (date_mod_LDFLAGS): Likewise.
20320 (datehook_mod_SOURCES): Likewise.
20321 (datehook_mod_CFLAGS): Likewise.
20322 (datehook_mod_LDFLAGS): Likewise.
20323
20324 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
20325
20326 * commands/date.c: New file.
20327
20328 * hook/datehook.c: Likewise.
20329
20330 * include/grub/lib/datetime.h: Likewise.
20331
20332 * include/grub/i386/cmos.h: Likewise.
20333
20334 * lib/datetime.c: Likewise.
20335
20336 * lib/i386/datetime.c: Likewise.
20337
20338 * lib/efi/datetime.c: Likewise.
20339
0e9242da 203402008-08-14 Robert Millan <rmh@aybabtu.com>
20341
20342 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
20343 (grub_mkelfimage_SOURCES): New variable.
20344 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
20345
20346 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
20347 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
20348 * conf/powerpc-ieee1275.rmk: Likewise.
20349 * conf/i386-ieee1275.rmk: Likewise.
20350
20351 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
20352 * kern/i386/coreboot/init.c: Likewise.
20353
20354 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
20355 with `<grub/cpu/kernel.h>'.
20356 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
20357 to ...
20358 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
20359 * kern/i386/coreboot/startup.S: Likewise.
20360
20361 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
20362 (GRUB_MOD_GAP): Remove.
20363 * include/grub/powerpc/kernel.h: New file.
20364 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
20365 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20366 * include/grub/i386/kernel.h: New file.
20367 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
20368 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
20369 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20370
20371 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
20372 `grub-mkelfimage'.
20373 Use --directory when invoking grub_mkimage.
20374
20375 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
20376 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
20377 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
20378 and GRUB_KERNEL_CPU_PREFIX.
20379
b86408f8 203802008-08-14 Felix Zielcke <fzielcke@z-51.de>
20381
d5e619ca 20382 * include/grub/err.h (grub_err_printf): New function prototype.
20383 * util/misc.c (grub_err_printf): New function.
20384 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
20385 grub_printf.
20386 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 20387
7161f0e0 203882008-08-13 Robert Millan <rmh@aybabtu.com>
20389
20390 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
20391
a1967522 203922008-08-13 Robert Millan <rmh@aybabtu.com>
20393
20394 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
20395 boot entry.
20396
371458b5 203972008-08-12 Robert Millan <rmh@aybabtu.com>
20398
20399 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
20400 of the relocation code from here ...
20401 (grub_multiboot): ... to here.
20402 (forward_relocator, backward_relocator): Move from here ...
20403 * kern/i386/loader.S (grub_multiboot_forward_relocator)
20404 (grub_multiboot_backward_relocator): ... to here.
20405 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
20406 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
20407 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
20408 (grub_multiboot_forward_relocator_end)
20409 (grub_multiboot_backward_relocator)
20410 (grub_multiboot_backward_relocator_end): New variables.
20411
05f9452b 204122008-08-12 Bean <bean123ch@gmail.com>
20413
20414 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
20415
20024ab0 204162008-08-11 Robert Millan <rmh@aybabtu.com>
20417
20418 * kern/i386/linuxbios/startup.S: Move from here ...
20419 * kern/i386/coreboot/startup.S: ... to here.
20420
20421 * kern/i386/linuxbios/init.c: Move from here ...
20422 * kern/i386/coreboot/init.c: ... to here.
20423
20424 * kern/i386/linuxbios/table.c: Move from here ...
20425 * kern/i386/coreboot/mmap.c: ... to here.
20426
20427 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
20428
e352e9cd 204292008-08-11 Robert Millan <rmh@aybabtu.com>
20430
20431 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
20432 errors. Leave it to the upper layer to handle them.
20433
2d05bc6a 204342008-08-09 Christian Franke <franke@computer.org>
20435
20436 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
20437 * conf/common.rmk: Install `grub-pe2elf' only if requested.
20438 Install `grub.d/10_windows' only on Cygwin.
20439 * configure.ac: Add subst of `target_os'.
20440 Check `target_os' also before setting TARGET_OBJ2ELF.
20441 Add `--enable-grub-pe2elf'.
20442
042bd419 204432008-08-08 Robert Millan <rmh@aybabtu.com>
20444
20445 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20446 (grub_last_time): Change type to grub_uint64_t.
20447 (grub_disk_open): Migrate code from to using grub_get_time_ms().
20448 (grub_disk_close): Likewise.
20449
20450 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20451 (run_menu): Migrate code from to using grub_get_time_ms().
20452
20453 * util/misc.c (grub_get_time_ms): New function.
20454
7f280db5 204552008-08-08 Marco Gerards <marco@gnu.org>
20456
20457 * disk/ata.c (grub_ata_regget): Change return type to
20458 `grub_uint8_t'.
20459 (grub_ata_regget2): Likewise.
20460 (grub_ata_wait_status): New function.
20461 (grub_ata_wait_busy): Removed function, updated all users to use
20462 `grub_ata_wait_status'.
20463 (grub_ata_wait_drq): Likewise.
20464 (grub_ata_cmd): New function.
20465 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
20466 error handling.
20467 (grub_ata_pio_write): Add error handling.
20468 (grub_atapi_identify): Likewise.
20469 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
20470 handling.
20471 (grub_ata_identify): Use `grub_ata_cmd' and improve error
20472 handling. Actually use the detected registers. Reorder the
20473 detection logic such that it is easier to read.
20474 (grub_ata_pciinit): Do not assign the same ID to each controller.
20475 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
20476 handling.
20477 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
20478
20479 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
20480
1fbc5e66 204812008-08-08 Marco Gerards <marco@gnu.org>
20482
20483 * NEWS: Update.
20484
819ce6c0 204852008-08-07 Bean <bean123ch@gmail.com>
20486
20487 * include/grub/x86_64/pci.h: New file.
20488
5c41d44d 204892008-08-07 Christian Franke <franke@computer.org>
20490
20491 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
20492 (TIMER2_GATE): Likewise.
20493 (grub_pit_wait): Add enable/disable of the timer2 gate
20494 bit of port 0x61. This fixes a possible infinite loop.
20495
5ebc275d 204962008-08-07 Bean <bean123ch@gmail.com>
20497
20498 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
20499 kern/i386/tsc.c and kern/i386/pit.c.
20500
20501 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
20502 x86_64 platform.
20503
20504 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
20505 <grub/i386/tsc.h>.
20506
20507 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
20508
e383b3d0 205092008-08-07 Bean <bean123ch@gmail.com>
20510
20511 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
20512
20513 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
20514
20515 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
20516 multiple inclusion. Add #include <grub/types.h>.
20517
1cbb58ac 205182008-08-06 Christian Franke <franke@computer.org>
20519
20520 * conf/common.rmk: Build and install `10_windows'.
20521 * util/grub.d/10_windows.in: New script.
20522
337f5a1e 205232008-08-06 Pavel Roskin <proski@gnu.org>
20524
20525 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
20526
057bc4ac 205272008-08-06 Robert Millan <rmh@aybabtu.com>
20528
20529 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
20530 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
20531
2b99f123 205322008-08-06 Bean <bean123ch@gmail.com>
20533
20534 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
20535 (grub_pxefs_fs_int): Remove dummy definition.
20536 (grub_pxefs_open): Use data->block_size to store the current block
20537 size setting.
20538 (grub_pxefs_read): Use block size stored in data->block_size. As the
20539 value of grub_pxe_blksize can be changed after the file is opened.
20540
9f0234cb 205412008-08-06 Bean <bean123ch@gmail.com>
20542
20543 * fs/i386/pc/pxe.c (curr_file): new variable.
20544 (grub_pxefs_open): Simply the handling of pxe file system. Don't
20545 require the dummy internal file system anymore.
20546 (grub_pxefs_read): Removed.
20547 (grub_pxefs_close): Likewise.
20548 (grub_pxefs_fs_int): Likewise.
20549 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
20550 connection when we switch file.
20551 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
20552
a55d42e0 205532008-08-06 Robert Millan <rmh@aybabtu.com>
20554
20555 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
20556 `halt.mod'.
20557 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
20558 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
20559
20560 * kern/i386/halt.c: New file.
20561 * kern/i386/reboot.c: Likewise.
20562 * include/grub/i386/reboot.h: Likewise.
20563 * include/grub/i386/halt.h: Likewise.
20564
20565 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
20566 Include `<grub/cpu/halt.h>'.
20567 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
20568 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
20569
20570 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
20571 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
20572 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
20573 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
20574 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
20575 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
20576 from here ...
20577 * include/grub/i386/at_keyboard.h: ... to here.
20578
24371d26 205792008-08-05 Robert Millan <rmh@aybabtu.com>
20580
20581 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
20582 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
20583 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
20584 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20585 `kern/generic/millisleep.c'.
20586
20587 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
20588 instead of grub_get_rtc().
20589 (grub_tsc_init): Initialize `tsc_boot_time'.
20590
20591 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
20592 (grub_machine_init): Use grub_tsc_init() rather than
20593 installing an RTC-based handler via grub_install_get_time_ms().
20594
20595 * kern/i386/pit.c: New file.
20596 * include/grub/i386/pit.h: Likewise.
20597
9e7007b3 205982008-08-05 Bean <bean123ch@gmail.com>
20599
20600 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
20601
20602 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
20603 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
20604 (pxe_mod_SOURCES): New macro.
20605 (pxe_mod_CFLAGS): Likewise.
20606 (pxe_mod_LDFLAGS): Likewise.
20607 (pxecmd_mod_SOURCES): Likewise.
20608 (pxecmd_mod_CFLAGS): Likewise.
20609 (pxecmd_mod_LDFLAGS): Likewise.
20610
20611 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
20612 (grub_pxe_call): Likewise.
20613
20614 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
20615
20616 * commands/i386/pc/pxecmd.c: New file.
20617
9f0234cb 20618 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 20619
20620 * include/grub/i386/pc/pxe.h: Likewise.
20621
6977d49f 206222008-08-05 Bean <bean123ch@gmail.com>
20623
20624 * util/console.c (grub_console_cur_color): New variable.
20625 (grub_console_standard_color): Likewise.
20626 (grub_console_normal_color): Likewise.
20627 (grub_console_highlight_color): Likewise.
20628 (color_map): Likewise.
20629 (use_color): Likewise.
20630 (NUM_COLORS): New macro.
20631 (grub_ncurses_setcolorstate): Handle color properly.
20632 (grub_ncurses_setcolor): Don't change color here, just remember the
20633 settings, color will be set in grub_ncurses_setcolorstate.
20634 (grub_ncurses_getcolor): New function.
20635 (grub_ncurses_init): Initialize color pairs.
20636 (grub_ncurses_term): New member grub_ncurses_getcolor.
20637
9c2ff3ee 206382008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 20639
9c2ff3ee 20640 High resolution timer support. Implemented for x86 CPUs using TSC.
20641 Extracted generic grub_millisleep() so it's linked in only as needed.
20642 This requires a Pentium compatible CPU; if the RDTSC instruction is
20643 not supported, then it falls back on the generic grub_get_time_ms()
20644 implementation that uses the machine's RTC.
20645
20646 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
20647 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20648 `kern/generic/millisleep.c'.
20649
20650 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
20651 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
20652
20653 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
20654 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
20655
20656 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20657
20658 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20659 `kern/generic/millisleep.c'.
20660
20661 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20662
20663 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
20664
20665 * kern/generic/rtc_get_time_ms.c: New file.
20666
20667 * kern/generic/millisleep.c: New file.
337f5a1e 20668
9c2ff3ee 20669 * kern/misc.c: Don't include
20670 <kern/time.h> anymore.
20671 (grub_millisleep_generic): Removed.
20672
20673 * commands/sleep.c (grub_interruptible_millisleep): Uses
20674 grub_get_time_ms() instead of grub_get_rtc().
20675
20676 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
20677 function.
20678 (grub_cpu_is_cpuid_supported): New inline function.
20679 (grub_cpu_is_tsc_supported): New inline function.
20680 (grub_tsc_init): New function prototype.
20681 (grub_tsc_get_time_ms): New function prototype.
20682
20683 * kern/i386/tsc.c (grub_get_time_ms): New file.
20684
20685 * include/grub/time.h: Include <grub/types.h.
20686 (grub_millisleep_generic): Removed.
20687 (grub_get_time_ms): New prototype.
20688 (grub_install_get_time_ms): New prototype.
20689 (grub_rtc_get_time_ms): New prototype.
20690
20691 * kern/time.c (grub_get_time_ms): New function.
20692 (grub_install_get_time_ms): New function.
20693
20694 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
20695 <grub/time.h> anymore.
20696 (grub_millisleep): Removed.
20697 (grub_machine_init): Call grub_tsc_init.
20698
20699 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
20700 get_time_ms() implementation.
20701
20702 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
20703 (ieee1275_get_time_ms): New function.
20704 (grub_machine_init): Install get_time_ms() implementation.
20705
20706 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
20707 (grub_machine_init): Call grub_tsc_init().
20708 (grub_millisleep): Removed.
bf06a93f 20709
9c2ff3ee 20710 * kern/ieee1275/init.c (grub_millisleep): Removed.
20711 (grub_machine_init): Install ieee1275_get_time_ms()
20712 implementation.
20713 (ieee1275_get_time_ms): New function.
20714 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
20715 real work.
20716
9ec92aaf 207172008-08-05 Marco Gerards <marco@gnu.org>
20718
20719 * disk/ata.c: Include <grub/pci.h>.
20720 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
20721 (grub_ata_initialize): Rewritten.
20722 (grub_ata_device_initialize): New function.
20723
8d23f507 207242008-08-04 Pavel Roskin <proski@gnu.org>
20725
20726 * kern/main.c: Include grub/mm.h.
20727
5e15ee3d 207282008-08-04 Robert Millan <rmh@aybabtu.com>
20729
20730 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
20731 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
20732 corruption problem).
20733
a9053f8f 207342008-08-04 Robert Millan <rmh@aybabtu.com>
20735
20736 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
20737 warnings introduced in my last commit.
20738
dd19c7d7 207392008-08-03 Robert Millan <rmh@aybabtu.com>
20740
20741 Make PCI available on all i386 architectures.
20742
20743 * include/grub/i386/pc/pci.h: Move from here ...
20744 * include/grub/i386/pci.h: ... to here.
20745
20746 * include/grub/i386/pc/pci.h: Remove.
20747 * include/grub/i386/efi/pci.h: Remove.
20748 * include/grub/x86_64/efi/pci.h: Remove.
20749
20750 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
20751 `<grub/cpu/pci.h>'.
20752
20753 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
20754 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
20755 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
20756
20757 * conf/i386-ieee1275.rmk: Likewise.
20758
e14a6184 207592008-08-03 Robert Millan <rmh@aybabtu.com>
20760
20761 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
20762 (grub_console_setcursor): Make it possible to set cursor off.
20763
52768e37 207642008-08-03 Robert Millan <rmh@aybabtu.com>
20765
20766 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
20767 of modules instead of assuming which platform provides what.
20768 * util/update-grub.in: Likewise.
20769
2d52f57f 207702008-08-03 Robert Millan <rmh@aybabtu.com>
20771
20772 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
20773 instead of `grub_install_dos_part' to determine whether a drive needs
20774 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 20775 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 20776
2a5cd121 207772008-08-02 Robert Millan <rmh@aybabtu.com>
20778
20779 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
20780
93808428 207812008-08-02 Robert Millan <rmh@aybabtu.com>
20782
20783 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
20784 of informational grub_dprintf() calls.
20785
3bd0a12a 207862008-08-02 Robert Millan <rmh@aybabtu.com>
20787
20788 * disk/memdisk.c (memdisk_size): Don't initialize.
20789 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
20790
20791 * include/grub/i386/pc/kernel.h
20792 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
20793 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
20794 (grub_memdisk_image_size, grub_arch_memdisk_addr)
20795 (grub_arch_memdisk_size): Remove.
20796
20797 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
20798 field (was only used to transfer a constant). Add `type' field to
20799 support multiple module types.
20800 (grub_module_iterate): New function.
20801
20802 * kern/device.c (grub_device_open): Do not hide error messages
20803 when grub_disk_open() fails. Use grub_print_error() instead.
20804
20805 * kern/i386/pc/init.c (grub_arch_modules_addr)
20806 (grub_arch_memdisk_size): Remove functions.
20807 (grub_arch_modules_addr): Return the module address in high memory
20808 (now that it isn't copied anymore).
20809
20810 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
20811 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
20812 decompression routine (grub_total_module_size already includes that
20813 now). Don't copy modules back to low memory.
20814
20815 * kern/main.c: Include `<grub/mm.h>'.
20816 (grub_load_modules): Split out (and use) ...
20817 (grub_module_iterate): ... this function, which iterates through
20818 module objects and runs a hook.
20819 Comment out grub_mm_init_region() call, as it would cause non-ELF
20820 modules to be overwritten.
20821
20822 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
20823 the memdisk image in its own region, make it part of the module list.
20824 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
20825 (main): Parse --memdisk|-m option, and pass user-provided path as
20826 parameter to generate_image().
20827 (add_segments): Pass `memdisk_path' down to load_modules().
20828 (load_modules): Embed memdisk image in module section when requested.
20829 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
20830 `header.type' instead of `header.offset'.
20831
20832 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
20833 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
20834 (memdisk_mod_LDFLAGS): New variables.
20835 * conf/i386-coreboot.rmk: Likewise.
20836 * conf/i386-ieee1275.rmk: Likewise.
20837
a927cc73 208382008-08-02 Robert Millan <rmh@aybabtu.com>
20839
20840 * loader/i386/pc/multiboot.c (playground, forward_relocator)
20841 (backward_relocator): New variables. Used to allocate and relocate
20842 the payload, respectively.
20843 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 20844 address, install the appropriate relocator code in each bound of
a927cc73 20845 the payload, and set the entry point such that
20846 grub_multiboot_real_boot() will jump to one of them.
20847
20848 * kern/i386/loader.S (grub_multiboot_payload_size)
20849 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20850 (grub_multiboot_payload_entry_offset): New variables.
20851 (grub_multiboot_real_boot): Set cpu context to what the relocator
20852 expects, and jump to the relocator instead of the payload.
20853
20854 * include/grub/i386/loader.h (grub_multiboot_payload_size)
20855 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20856 (grub_multiboot_payload_entry_offset): Export.
20857
b15d8a0c 208582008-08-01 Bean <bean123ch@gmail.com>
20859
20860 * normal/menu_entry.c (editor_getline): Don't return the original
20861 string as result, as it will be released by lexer once it has done
20862 using it.
20863
cdfb3d22 208642008-08-01 Robert Millan <rmh@aybabtu.com>
20865
20866 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
20867 within menuentries, not before them.
20868 util/grub.d/10_hurd.in: Likewise.
20869
9175e93d 208702008-08-01 Bean <bean123ch@gmail.com>
20871
20872 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
20873 (bufio_mod_SOURCES): New macro.
20874 (bufio_mod_CFLAGS): Likewise.
20875 (bufio_mod_LDFLAGS): Likewise.
20876
20877 * include/grub/bufio.h: New file.
20878
20879 * io/bufio.c: Likewise.
20880
20881 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
20882 (grub_video_reader_png): Use grub_buffile_open to open file.
20883
20884 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
20885 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
20886
20887 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
20888 (grub_video_reader_tga): Use grub_buffile_open to open file.
20889
20890 * font/manager.c: Include <grub/bufio.h>.
20891 (add_font): Use grub_buffile_open to open file.
20892
3d8383e7 208932008-07-31 Robert Millan <rmh@aybabtu.com>
20894
20895 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
20896 ELF segments, use a macro for arbitrarily accessing any of them instead
20897 of preparing a pointer that allows access to one at a time.
20898 (grub_multiboot_load_elf64): Likewise.
20899
16e641b6 209002008-07-31 Bean <bean123ch@gmail.com>
20901
20902 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
20903 GRUB_KERNEL_MACHINE_DATA_END.
20904
59198b72 209052008-07-30 Robert Millan <rmh@aybabtu.com>
20906
20907 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
20908 Increase from 0x50 to 0x60.
20909 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
20910 use UUIDs to identify the root drive for them. If that's not
20911 possible, abort.
20912 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
20913 check, for cross-disk installs.
20914
ae88bca3 209152008-07-30 Robert Millan <rmh@aybabtu.com>
20916
20917 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
20918 is non-empty, use it to set the `prefix' environment variable instead
20919 of the usual approach.
20920 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
20921 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
20922 environment variable instead of dummy make_install_device().
20923
20924 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
20925 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 20926 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 20927
20928 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
20929 New variable reference.
20930 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
20931 New macro. Defines offset of `grub_prefix' within startup.S (relative
20932 to `start').
20933 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
20934 section within startup.S (relative to `start').
20935 * include/grub/i386/coreboot/kernel.h: Likewise.
20936
20937 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
20938 Overwrite grub_prefix with its contents, at the beginning of the
20939 first segment.
20940 (main): Understand -p|--prefix.
20941
14f41dd1 209422008-07-30 Robert Millan <rmh@aybabtu.com>
20943
20944 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
20945
4ca049a3 209462008-07-30 Robert Millan <rmh@aybabtu.com>
20947
20948 * term/i386/pc/vga_text.c (grub_console_cls): Use
20949 grub_console_gotoxy() to go back to beginning of the screen.
20950 Found by Patrick Georgi <patrick.georgi@coresystems.de>
20951
2921d337 209522008-07-29 Christian Franke <franke@computer.org>
20953
20954 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
20955 Add conversion of emulated mount points on Cygwin.
20956
b609876d 209572008-07-29 Christian Franke <franke@computer.org>
20958
20959 * util/update-grub.in: Add a check for admin
20960 group on Cygwin.
20961 Remove old `grub.cfg.new' before creation.
20962 Add `-f' to `mv' to handle the different filesystem
20963 semantics of Windows.
20964
e93e4679 209652008-07-29 Bean <bean123ch@gmail.com>
20966
20967 * normal/main.c (get_line): Fix buffer overflow bug.
20968
41694fd0 209692008-07-28 Robert Millan <rmh@aybabtu.com>
20970
20971 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
20972 (struct grub_apple_header): New struct. Describes the layout of
20973 the partmap header.
20974 (apple_partition_map_iterate): Check the header magic as well as the
20975 partition magic (which was already being checked).
20976
cfd0b4e6 209772008-07-28 Pavel Roskin <proski@gnu.org>
20978
20979 * genmk.rb: Add a warning to the beginning of the output that
20980 it's a generated file and should not be edited.
20981
93cce016 209822008-07-28 Robert Millan <rmh@aybabtu.com>
20983
20984 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
20985 with the same number are found, just use issue a warning with
20986 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 20987
cd1df915 209882008-07-27 Robert Millan <rmh@aybabtu.com>
20989
20990 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
20991 information.
20992
b70a8427 209932008-07-27 Bean <bean123ch@gmail.com>
20994
20995 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
20996 (grub_fat_find_dir): Ignore case when comparing filename.
20997
8f5e379f 209982008-07-27 Bean <bean123ch@gmail.com>
20999
21000 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
21001 smallino, as it's more descriptive, and i8count can be confused with
21002 the other field count.
21003 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
21004 inode type.
21005
a85cd5a0 210062008-07-27 Bean <bean123ch@gmail.com>
21007
21008 * commands/crc.c: New file.
21009
21010 * lib/crc.c: Likewise.
21011
21012 * include/grub/lib/crc.h: Likewise.
21013
21014 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
21015
21016 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
21017 (hexdump): Move this function to ...
21018
21019 * lib/hexdump.c: ... here.
21020
21021 * include/grub/hexdump.h: Renamed to ...
21022
21023 * include/grub/lib/hexdump.h: ... this.
21024
21025 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
21026
21027 * util/grub-editenv.c: Likewise.
21028
21029 * include/envblk.h: Renamed to ...
21030
21031 * include/lib/envblk.h: ... this.
21032
21033 * util/envblk.c: Renamed to ...
21034
21035 * lib/envblk.c: ... this.
21036
21037 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
21038 lib/hexdump.c.
21039 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
21040 (pkglib_MODULES): Add crc.mod.
21041 (hexdump_mod_SOURCES): Add lib/hexdump.c.
21042 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
21043 (crc_mod_SOURCES): New macro.
21044 (crc_mod_CFLAGS): Likewise.
21045 (crc_mod_LDFLAGS): Likewise.
21046
21047 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
21048
21049 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21050
21051 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21052
21053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21054
21055 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21056
c298def0 210572008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 21058
21059 * commands/help.c: Include <grub/term.h>.
21060 (TERM_WIDTH): Removed. Updated all users.
21061
cc349fb3 210622008-07-27 Pavel Roskin <proski@gnu.org>
21063
21064 * util/getroot.c (find_root_device): Rephrase a comment to avoid
21065 spurious warnings about a comment within a comment.
21066
9051607e 210672008-07-25 Robert Millan <rmh@aybabtu.com>
21068
21069 * util/getroot.c (find_root_device): Skip devices that match
21070 /dev/dm-[0-9]. This lets the real device be found for any type of
21071 abstraction (LVM, EVMS, RAID..).
21072 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
21073 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
21074 device is found first, find_root_device() will now skip it.
21075
01453bfc 210762008-07-24 Pavel Roskin <proski@gnu.org>
21077
21078 * include/grub/types.h: Use __builtin_bswap32() and
21079 __builtin_bswap64() with gcc 4.3 and newer.
21080
6af9849f 210812008-07-24 Christian Franke <franke@computer.org>
21082
3a0fa256 21083 * util/i386/pc/grub-install.in: If `--debug' is specified,
21084 pass `--verbose' to grub-setup.
21085 Abort script if make_system_path_relative_to_its_root() fails.
21086
7810e747 210872008-07-24 Bean <bean123ch@gmail.com>
21088
21089 * configure.ac: Fixed a bug caused by the previous cygwin patch,
21090 variable `target_platform' should be `platform'.
21091
42290e17 210922008-07-24 Bean <bean123ch@gmail.com>
21093
51cc5193 21094 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 21095 (grub_png_init_fixed_block): New function.
21096 (grub_png_decode_image_data): Handle fixed huffman code compression.
21097
2a8a80e4 210982008-07-24 Bean <bean123ch@gmail.com>
21099
21100 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
21101 (grub_pe2elf_SOURCES): New macro.
21102 (CLEANFILES): Add grub-pe2elf.
21103
21104 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
21105 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
21106 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
21107 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
21108 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
21109 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
21110 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
21111 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
21112 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
21113 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
21114 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
21115 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
21116 (GRUB_PE32_DT_FUNCTION): Likewise.
21117 (GRUB_PE32_REL_I386_DIR32): Likewise.
21118 (GRUB_PE32_REL_I386_REL32): Likewise.
21119 (grub_pe32_symbol): New structure.
21120 (grub_pe32_reloc): Likewise.
21121
21122 * util/grub-pe2elf.c: New file.
21123
21124 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
21125 start symbol in non pc platform.
21126
21127 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
21128
21129 The following patches are from Christian Franke.
21130
21131 * include/grub/dl.h: Remove .previous, gas supports this only
21132 for ELF format.
21133
21134 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
21135 Remove .type, gas supports this only for ELF format.
21136
21137 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
21138 nullbytes in symbol table. This fixes an infinite loop if table is
21139 zero filled.
21140
21141 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
21142 TARGET_IMG_LDFLAGS and EXEEXT.
21143
21144 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
21145 TARGET_IMG_LDFLAGS_AC.
21146 (grub_CHECK_STACK_ARG_PROBE): New function.
21147
21148 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
21149
21150 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
21151
21152 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
21153 to set TARGET_IMG_LD* accordingly.
21154 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
21155 Add call to grub_CHECK_STACK_ARG_PROBE.
21156 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
21157
21158 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
21159
21160 * genmk.rb: Add EXEEXT to CLEANFILES.
21161
12ccdb75 211622008-07-23 Robert Millan <rmh@aybabtu.com>
21163
21164 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
21165 define the codes for arrows and lines used for the menu).
21166 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
21167 as well.
21168
21169 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
21170 fonts, because the latter are too slow.
21171
18eeaf04 211722008-07-21 Bean <bean123ch@gmail.com>
21173
21174 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
21175 a20. Run keyboard test last, as it will cause macbook to halt.
21176
b095e2ad 211772008-07-18 Pavel Roskin <proski@gnu.org>
21178
21179 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
21180 load foreign architecture modules correctly anyway. Keep
21181 support for loading host architecture modules, whether we
21182 compile them or not.
21183
737feb35 211842008-07-17 Pavel Roskin <proski@gnu.org>
21185
3f4ce737 21186 * configure.ac: Use -m32 or -m64 regardless of whether we had to
21187 change target_cpu. The compiler default can mismatch target_cpu
21188 in any case.
21189
4ad2d049 21190 * disk/efi/efidisk.c: Fix format warnings on x86_64.
21191 * kern/efi/efi.c: Likewise.
21192
f6130a12 21193 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
21194 target compiler is functional.
21195 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
21196 are set up.
21197
58393a2d 21198 * configure.ac: Default to efi platform for x86_64-apple. Allow
21199 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
21200 adjustments from the rest, only do them if target is not
21201 explicitly given. Merge other adjustments with the final sanity
21202 check. Remove an extraneous check for supported CPU. Be
21203 specific which CPU and which platform is not supported.
21204
737feb35 21205 * configure.ac: Default to pc platform for x86_64.
21206
546f966a 212072008-07-17 Robert Millan <rmh@aybabtu.com>
21208
21209 Partial LinuxBIOS -> Coreboot rename.
21210
21211 * conf/i386-linuxbios.rmk: Renamed to ...
21212 * conf/i386-coreboot.rmk: ... this.
21213 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
21214 * configure.ac: Accept "coreboot" as input platform (but maintain
21215 compatibility with "linuxbios").
21216 * include/grub/i386/linuxbios: Renamed to ...
21217 * include/grub/i386/coreboot: ... this.
21218
20011694 212192008-07-17 Bean <bean123ch@gmail.com>
21220
21221 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 21222 (appleldr_mod_SOURCE): New variable.
20011694 21223 (appleldr_mod_CFLAGS): Likewise.
21224 (appleldr_mod_LDFLAGS): Likewise.
21225 (pci_mod_SOURCES): Likewise.
21226 (pci_mod_CFLAGS): Likewise.
21227 (pci_mod_LDFLAGS): Likewise.
21228 (lspci_mod_SOURCES): Likewise.
21229 (lspci_mod_CFLAGS): Likewise.
21230 (lspci_mod_LDFLAGS): Likewise.
21231
21232 * conf/x86_64-efi.rmk: New file.
21233
21234 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
21235 macro.
21236 (grub_efidisk_write): Likewise.
21237
21238 * include/efi/api.h (efi_call_0): New macro.
21239 (efi_call_1): Likewise.
21240 (efi_call_2): Likewise.
21241 (efi_call_3): Likewise.
21242 (efi_call_4): Likewise.
21243 (efi_call_5): Likewise.
21244 (efi_call_6): Likewise.
21245
21246 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
21247 grub_rescue_cmd_chainloader.
21248
21249 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
21250 (grub_pe32_optional_header): Change some fields based on i386 or
21251 x86_64 platform.
21252 (GRUB_PE32_PE32_MAGIC): Likewise.
21253
21254 * include/grub/efi/uga_draw.h: New file.
21255
21256 * include/grub/elf.h (STN_ABS): New constant.
21257 (R_X86_64_NONE): Relocation constant for x86_64.
21258 (R_X86_64_64): Likewise.
21259 (R_X86_64_PC32): Likewise.
21260 (R_X86_64_GOT32): Likewise.
21261 (R_X86_64_PLT32): Likewise.
21262 (R_X86_64_COPY): Likewise.
21263 (R_X86_64_GLOB_DAT): Likewise.
21264 (R_X86_64_JUMP_SLOT): Likewise.
21265 (R_X86_64_RELATIVE): Likewise.
21266 (R_X86_64_GOTPCREL): Likewise.
21267 (R_X86_64_32): Likewise.
21268 (R_X86_64_32S): Likewise.
21269 (R_X86_64_16): Likewise.
21270 (R_X86_64_PC16): Likewise.
21271 (R_X86_64_8): Likewise.
21272 (R_X86_64_PC8): Likewise.
21273
21274 * include/grub/i386/efi/pci.h: New file.
21275
21276 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
21277 Change it value based on platform.
21278 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
21279 (GRUB_E820_RAM): Likewise.
21280 (GRUB_E820_RESERVED): Likewise.
21281 (GRUB_E820_ACPI): Likewise.
21282 (GRUB_E820_NVS): Likewise.
21283 (GRUB_E820_EXEC_CODE): Likewise.
21284 (GRUB_E820_MAX_ENTRY): Likewise.
21285 (grub_e820_mmap): New structure.
21286 (linux_kernel_header): Change the efi field according to different
21287 kernel version, also field from linux_kernel_header.
21288
21289 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
21290
21291 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
21292 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
21293 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
21294 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
21295 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
21296 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
21297 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
21298 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
21299 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
21300 (GRUB_PCI_ADDR_IO_MASK): Likewise.
21301
21302 * include/grub/x86_64/efi/kernel.h: New file.
21303
21304 * include/grub/x86_64/efi/loader.h: Likewise.
21305
21306 * include/grub/x86_64/efi/machine.h: Likewise.
21307
21308 * include/grub/x86_64/efi/pci.h: Likewise.
21309
21310 * include/grub/x86_64/efi/time.h: Likewise.
21311
21312 * include/grub/x86_64/linux.h: Likewise.
21313
21314 * include/grub/x86_64/setjmp.h: Likewise.
21315
21316 * include/grub/x86_64/time.h: Likewise.
21317
21318 * include/grub/x86_64/types.h: Likewise.
21319
21320 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
21321 GRUB_TARGET_SIZEOF_VOID_P.
21322
21323 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
21324 (grub_efi_locate_handle): Likewise.
21325 (grub_efi_open_protocol): Likewise.
21326 (grub_efi_set_text_mode): Likewise.
21327 (grub_efi_stall): Likewise.
21328 (grub_exit): Likewise.
21329 (grub_reboot): Likewise.
21330 (grub_halt): Likewise.
21331 (grub_efi_exit_boot_services): Likewise.
21332 (grub_get_rtc): Likewise.
21333
21334 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
21335 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
21336 (grub_efi_allocate_pages): Wrap efi calls.
21337 (grub_efi_free_pages): Wrap efi calls.
21338 (grub_efi_get_memory_map): Wrap efi calls.
21339
21340 * kern/x86_64/dl.c: New file.
21341
21342 * kern/x86_64/efi/callwrap.S: Likewise.
21343
21344 * kern/x86_64/efi/startup.S: Likewise.
21345
21346 * loader/efi/appleloader.c: Likewise.
21347
21348 * loader/efi/chainloader.c (cmdline): New variable.
21349 (grub_chainloader_unload): Wrap efi calls.
21350 (grub_chainloader_boot): Likewise.
21351 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
21352 command line.
21353
21354 * loader/efi/chainloader_normal.c (chainloader_command):
21355 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
21356 command line.
21357
21358 * loader/i386/efi/linux.c (allocate_pages): Change allocation
21359 method.
21360 (grub_e820_add_region): New function.
21361 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
21362 booting.
21363 (grub_find_video_card): New function.
21364 (grub_linux_setup_video): New function.
21365 (grub_rescue_cmd_linux): Probe for video information.
21366
21367 * normal/x86_64/setjmp.S: New file.
21368
21369 * term/efi/console.c (map_char): New function.
21370 (grub_console_putchar): Map unicode char.
21371 (grub_console_checkkey): Wrap efi calls.
21372 (grub_console_getkey): Likewise.
21373 (grub_console_getwh): Likewise.
21374 (grub_console_gotoxy): Likewise.
21375 (grub_console_cls): Likewise.
21376 (grub_console_setcolorstate): Likewise.
21377 (grub_console_setcursor): Likewise.
21378
21379 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
21380
59652a20 213812008-07-16 Pavel Roskin <proski@gnu.org>
21382
ef294055 21383 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
21384 format strings.
21385
59652a20 21386 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
21387 pointer, not an integer. This fixes a warning and prevents
21388 precision loss on 64-bit systems.
21389 (relocate_addresses): Remove unneeded cast.
21390
afc3b5d7 213912008-07-15 Pavel Roskin <proski@gnu.org>
21392
506b2b3e 21393 * kern/i386/ieee1275/init.c: Include grub/cache.h.
21394
62ead89c 21395 * term/ieee1275/ofconsole.c: Disable code unused on i386.
21396
c4cd51d7 21397 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
21398 Fix comparison between signed and unsigned.
21399
0d3d8f28 21400 * include/grub/i386/ieee1275/console.h: Declare
21401 grub_console_init() and grub_console_fini().
21402
8804b286 21403 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
21404 It's empty and unused.
21405
ee01cf35 21406 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
21407 beginning to avoid warnings with some compilers.
21408
afc3b5d7 21409 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
21410 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
21411
e4e8eaa5 214122008-07-14 Pavel Roskin <proski@gnu.org>
21413
407aceb4 21414 * kern/env.c (grub_register_variable_hook): Don't copy empty
21415 string, it leaks memory. Pass "" to grub_env_set(), it should
21416 handle constant strings.
21417
e4e8eaa5 21418 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
21419 * commands/cmp.c (grub_cmd_cmp): Likewise.
21420 * kern/dl.c (grub_dl_flush_cache): Likewise.
21421 (grub_dl_load_core): Likewise.
21422 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
21423 (grub_elf64_load_phdrs): Likewise.
21424
d4e2dad3 214252008-07-13 Pavel Roskin <proski@gnu.org>
21426
21427 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
21428 between signed and unsigned.
21429 (LzmaEnc_Finish): Fix warning about an unused parameter.
21430
aa24b516 214312008-07-13 Bean <bean123ch@gmail.com>
21432
21433 * Makefile.in (enable_lzo): New rule.
21434
21435 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
21436
21437 * configure.ac (ENABLE_LZO): New option --enable-lzo.
21438
21439 * boot/i386/pc/lnxboot.S: #include <config.h>.
21440
21441 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 21442 its value according to the compression algorithm used, lzo or lzma.
aa24b516 21443
21444 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
21445 compression algorithm according to configure macro.
21446
21447 * kern/i386/pc/startup.S (codestart): Likewise.
21448
21449 * kern/i386/pc/lzma_decode.S: New file.
21450
21451 * include/grub/lib/LzFind.h: Likewise.
21452
21453 * include/grub/lib/LzHash.h: Likewise.
21454
21455 * include/grub/lib/LzmaDec.h: Likewise.
21456
21457 * include/grub/lib/LzmaEnc.h: Likewise.
21458
21459 * include/grub/lib/LzmaTypes.h: Likewise.
21460
21461 * lib/LzFind.c: Likewise.
21462
21463 * lib/LzmaDec.c: Likewise.
21464
21465 * lib/LzmaEnc.c: Likewise.
21466
4ae821ac 214672008-07-13 Bean <bean123ch@gmail.com>
21468
21469 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
21470 (grub_ext4_extent_header): New structure.
21471 (grub_ext4_extent): Likewise.
21472 (grub_ext4_extent_idx): Likewise.
21473 (grub_ext4_find_leaf): New function.
21474 (grub_ext2_read_block): Handle extents.
21475
9a745147 214762008-07-12 Robert Millan <rmh@aybabtu.com>
21477
21478 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
21479
d49a4cf6 214802008-07-11 Robert Millan <rmh@aybabtu.com>
21481
21482 * util/grub.d/40_custom.in: New file. Example on how to add custom
21483 entries to /etc/grub.d.
21484 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
21485 40_custom (implicitly, by merging all the grub.d rules).
21486
947414b4 214872008-07-11 Pavel Roskin <proski@gnu.org>
21488
0059cf6f 21489 * commands/read.c (grub_getline): Fix invalid memory access.
21490 Don't add newline to the variable value.
21491
947414b4 21492 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
21493 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
21494 (serial_hw_get_port): Check validity of the port number.
21495 (grub_cmd_serial): Check return value of serial_hw_get_port().
21496
62a02d00 214972008-07-07 Pavel Roskin <proski@gnu.org>
21498
21499 * boot/i386/pc/diskboot.S (notification_string): Replace
21500 "Loading kernel" with just "loading". This is shorter, less
21501 confusing and saves a few bytes for possible future changes.
21502
3e5581b0 215032008-07-05 Pavel Roskin <proski@gnu.org>
21504
ea387a48 21505 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
21506 size for ATAPI devices, they are undefined. Output sector
21507 number in decimal form.
21508
3e5581b0 21509 * disk/ata.c: Use named constants for status bits.
21510
fdecb8fd 215112008-07-04 Pavel Roskin <proski@gnu.org>
21512
bcd35b90 21513 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
21514 grub_addr_t before casting it to the void pointer to fix a
21515 warning. Non-addressable regions are discarded earlier.
21516 (grub_arch_modules_addr): Cast _end to grub_addr_t.
21517 * kern/i386/linuxbios/table.c: Include grub/misc.h.
21518 (check_signature): Don't shadow table_header.
21519 (grub_linuxbios_table_iterate): Cast numeric constants to
21520 grub_linuxbios_table_header_t.
21521 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
21522 grub_stop().
21523
af58ab3d 21524 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
21525 prevent warnings.
21526
1759aa57 21527 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
21528 pointer, which can cause warnings. Support 64-bit addresses.
21529
fdecb8fd 21530 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
21531 of sizeof(long). This fixes PowerPC image generation on x86_64.
21532
8516d2a8 215332008-07-04 Robert Millan <rmh@aybabtu.com>
21534
21535 This fixes a performance issue when pc & gpt partmap iterators
21536 didn't abort iteration even after our hook found what it was
fe987087 21537 looking for (often causing expensive probes of non-existent drives).
8516d2a8 21538
21539 Some callers relied on previous buggy behaviour, since they would
34c44600 21540 raise an error when their own hooks caused early abortion of its
8516d2a8 21541 iteration.
21542
21543 * kern/device.c (grub_device_open): Improve error message.
21544 * disk/lvm.c (grub_lvm_open): Likewise.
21545 * disk/raid.c (grub_raid_open): Likewise.
21546
21547 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
21548 when hook requests it, independently of grub_errno.
21549 (pc_partition_map_probe): Do not fail when find_func() caused
21550 early abortion of pc_partition_map_iterate().
21551
21552 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
21553 when hook requests it, independently of grub_errno.
21554 (gpt_partition_map_probe): Do not fail when find_func() caused
21555 early abortion of gpt_partition_map_iterate().
21556
21557 * kern/partition.c (grub_partition_iterate): Abort parent iteration
21558 when hook requests it, independently of grub_errno. Do not fail when
21559 part_map_iterate_hook() caused early abortion of p->iterate().
21560
21561 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
21562 when grub_partition_iterate() returned with non-zero.
21563
277d0de9 215642008-07-03 Pavel Roskin <proski@gnu.org>
21565
21566 * disk/ata.c (grub_ata_pio_write): Check status before writing,
21567 like we do in grub_ata_pio_read().
21568 (grub_ata_readwrite): Always write individual sectors. Fix the
21569 sector count for the remainder.
21570 (grub_ata_write): Enable writing to ATA devices. Correctly
21571 report error for ATAPI devices.
21572
d4c9b428 215732008-07-02 Pavel Roskin <proski@gnu.org>
21574
e43fc690 21575 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
21576 warning.
21577
f707af42 21578 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
21579 for every read sector, we already increment it for the whole
21580 batch. This fixes reading more than 256 sectors at once.
21581
11e16b15 21582 * util/grub-editenv.c (cmd_info): Cast argument to long
21583 explicitly. ptrdiff_t reduces to int on i386.
21584
cbabfdd4 21585 * util/grub-editenv.c (main): Be specific which parameter is
21586 missing.
21587
b8fbce0a 21588 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
21589 (memdisk): Make memdisk_orig_addr a pointer.
21590
c9c8e606 21591 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
21592 for file offsets, use grub_off_t instead. Fix printf format
21593 warnings.
21594
ca62e598 21595 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
21596 there. Real unexpected warnings should not drown in the noise
21597 about known problems.
21598
ce8d1766 21599 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
21600 grub_disk_addr_t for memory addresses.
21601
00c7a56a 21602 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
21603 explicitly to fix a warning.
21604
08d3ef09 21605 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
21606
cb71ba20 21607 * Makefile.in (MODULE_LDFLAGS): New variable.
21608 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
21609 the linker accepts --build-id=none.
21610 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
21611 MODULE_LDFLAGS.
21612 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
21613
d4c9b428 21614 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
21615 those in Linux XFS code. Provide a way to access 64-bit parent
21616 inode.
21617 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
21618 the end of struct grub_xfs_dir_header.
21619
d4156eee 216202008-07-02 Bean <bean123ch@gmail.com>
21621
21622 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
21623 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21624 and GRUB_IEEE1275_FLAG_NO_ANSI.
21625
21626 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
21627 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21628 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
21629
21630 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
21631 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
21632
21633 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
21634 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
21635
21636 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
21637 esc sequence on non ANSI terminal.
21638 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
21639
21640 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
21641 beginning of file.
21642
2270f77b 216432008-07-02 Bean <bean123ch@gmail.com>
21644
21645 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
21646 (grub_editenv_SOURCES): New variable.
21647 (pkglib_MODULES): Add loadenv.mod.
21648 (loadenv_mod_SOURCES): New variable.
21649 (loadenv_mod_CFLAGS): Likewise.
21650 (loadenv_mod_LDFLAGS): Likewise.
21651
21652 * include/grub/envblk.h: New file.
21653
21654 * util/envblk.c: New file.
21655
21656 * util/grub-editenv.c: New file.
21657
21658 * commands/loadenv.c: New file.
21659
0e9e51ec 216602008-07-01 Pavel Roskin <proski@gnu.org>
21661
d89b7634 21662 * include/multiboot2.h (struct multiboot_tag_module): Use char,
21663 not unsigned char. This fixes warnings and is consistent with
21664 other tags.
21665
bf1835b1 21666 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
21667
8222a04b 21668 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
21669
6a42d99d 21670 * term/tparm.c (analyze): Always set *popcount.
21671
10b159d1 21672 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
21673 cast to fix a warning.
21674
b8789f6c 21675 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
21676 cast to suppress a warning.
21677
29d7e38a 21678 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
21679 grub_fshelp_read_file() expects.
21680
f341f669 21681 * fs/fat.c: Fix UUID calculation on big-endian systems. We
21682 write uuid as a 32-bit value in CPU byte order, so declare and
21683 use it as such.
21684
0e9e51ec 21685 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
21686 long if the format specifier expects it.
21687 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
21688 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21689 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
21690 long to fix a warning.
21691 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
21692 grub_dprintf() arguments to fix warnings.
21693
3aefa857 216942008-06-30 Pavel Roskin <proski@gnu.org>
21695
56c7668b 21696 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
21697 install_bsd_part immediately before core.img is embedded or
21698 modified on disk. This fixes core.img verification if core.img
21699 cannot be embedded.
21700
3aefa857 21701 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
21702 core_path to calculate the blocklist.
21703 Patch from Javier Martín <lordhabbit@gmail.com>
21704
5444088d 217052008-06-29 Robert Millan <rmh@aybabtu.com>
21706
21707 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
21708 block to disk block.
21709 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
21710 Patch from Niels Böhm <bitbucket@arcor.de>
21711
674835c8 217122008-06-29 Robert Millan <rmh@aybabtu.com>
21713
21714 * util/update-grub_lib.in (font_path): Search for fonts in
21715 /boot/grub first, which is more likely to be readable (we aren't
21716 deciding where fonts live, just looking for them).
21717
f527dbc8 217182008-06-26 Pavel Roskin <proski@gnu.org>
21719
6c2d8df6 21720 * util/biosdisk.c (read_device_map): Don't leave dead map
21721 entries for devices failing stat() check.
21722
f527dbc8 21723 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
21724 core_path_dev for the core.img path on the target device.
21725
aebe3d13 217262008-06-26 Robert Millan <rmh@aybabtu.com>
21727
21728 * disk/fs_uuid.c: New file.
21729 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
21730 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
21731 (fs_uuid_mod_LDFLAGS): New variables.
21732 * include/grub/disk.h (grub_disk_dev_id): Add
21733 `GRUB_DISK_DEVICE_UUID_ID'.
21734 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
21735 implement iterate().
21736
37aaf354 217372008-06-26 Robert Millan <rmh@aybabtu.com>
21738
21739 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
21740 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
21741 Linux image includes no initrd.
21742
25ff262a 217432008-06-21 Javier Martín <lordhabbit@gmail.com>
21744
21745 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
21746 call to resolve the core image location that effectively appended the
21747 name twice.
21748
76a2bd44 217492008-06-21 Robert Millan <rmh@aybabtu.com>
21750
21751 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
21752 call from here ...
21753
21754 * util/grub.d/10_hurd.in: ... to here ...
21755 * util/grub.d/10_linux.in: ... and here.
21756
650e1c79 217572008-06-19 Robert Millan <rmh@aybabtu.com>
21758
fe987087 21759 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 21760 after it has been set by grub_machine_set_prefix().
21761
6ce63911 217622008-06-19 Robert Millan <rmh@aybabtu.com>
21763
21764 * commands/search.c (search_label, search_fs_uuid, search_file): Print
21765 search result when not saving to variable, not the other way around.
21766 When saving to variable, abort iteration as soon as a match is found.
21767
73940cec 217682008-06-19 Robert Millan <rmh@aybabtu.com>
21769
21770 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
21771 check for partition that provides /boot/grub. Its logic is flawed,
21772 as it prevents prepare_grub_to_access_device() from being called
21773 multiple times.
21774
3c62a39d 217752008-06-19 Robert Millan <rmh@aybabtu.com>
21776
21777 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
21778 "insmod" command directly when abstraction modules are needed,
fe987087 21779 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 21780 since it had already been processed).
21781
47395a42 217822008-06-19 Pavel Roskin <proski@gnu.org>
21783
21784 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
21785 changed. This is needed in case GRUB_LIBDIR changes.
21786 * conf/i386-ieee1275.rmk: Likewise.
21787 * conf/i386-linuxbios.rmk: Likewise.
21788 * conf/i386-pc.rmk: Likewise.
21789 * conf/powerpc-ieee1275.rmk: Likewise.
21790
a145ac2d 217912008-06-18 Pavel Roskin <proski@gnu.org>
21792
21793 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
21794 kernel_elf_symlist.c to symlist.c for consistency with other
21795 architectures. Update all users.
21796 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21797
7847c51e 217982008-06-18 Robert Millan <rmh@aybabtu.com>
21799
21800 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
21801 it in prefix.
21802
21803 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
21804 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
21805 a RAID device, run setup() for all members independently on whether
21806 LVM abstraction is being used.
21807 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
21808 If grub-mkimage has set `*install_dos_part == -2', don't override this
21809 value.
21810 Perform *install_dos_part adjustments independently on whether
21811 we're embedding or not.
21812 Clarify error message when image is too big for embedding.
21813 Remove duplicate *install_dos_part stanza.
21814
b23e5644 218152008-06-17 Robert Millan <rmh@aybabtu.com>
21816
21817 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
21818 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
21819 variables.
21820 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
21821 values in grub_ofconsole_normal_color and
21822 grub_ofconsole_highlight_color (they're not directly related to
21823 background and foreground).
21824 (grub_ofconsole_setcolorstate): Extract background and foreground
21825 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
21826
0aac2f79 218272008-06-17 Robert Millan <rmh@aybabtu.com>
21828
21829 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
21830 /boot/grub for the check in last commit, not /boot (they could be
21831 different partitions).
21832
3cca7ef3 218332008-06-16 Robert Millan <rmh@aybabtu.com>
21834
21835 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
21836 asked to setup access for the same partition that provides /boot,
21837 don't bother using UUIDs since our root already has the value we
21838 want.
21839
347396d8 218402008-06-16 Robert Millan <rmh@aybabtu.com>
21841
21842 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
21843 I2O devices.
21844 Patch from Sven Mueller <sven@debian.org>.
21845
991477f8 218462008-06-16 Robert Millan <rmh@aybabtu.com>
21847
21848 * util/update-grub.in: Check for $EUID instead of $UID.
21849 Reported by Vincent Zweije.
21850
d31a32a1 218512008-06-16 Bean <bean123ch@gmail.com>
21852
fe987087 21853 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 21854 (grub_ext2_read_block): Likewise.
21855 (grub_ext2_read_inode): Likewise.
21856 (grub_ext2_mount): Likewise.
21857 (grub_ext2_close): Likewise.
21858 (grub_ext3_get_journal): Removed.
21859
fe987087 21860 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 21861 (grub_reiserfs_read_symlink): Likewise.
21862 (grub_reiserfs_mount): Likewise.
21863 (grub_reiserfs_open): Likewise.
21864 (grub_reiserfs_read): Likewise.
21865 (grub_reiserfs_close): Likewise.
21866 (grub_reiserfs_get_journal): Removed.
21867
21868 * fs/fshelp.c (grub_fshelp_read): Removed.
21869 (grub_fshelp_map_block): Likewise.
21870
21871 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
21872 (grub_fshelp_journal): Likewise.
21873 (grub_fshelp_read): Likewise.
21874 (grub_fshelp_map_block): Likewise.
21875
3540a760 218762008-06-16 Pavel Roskin <proski@gnu.org>
21877
21878 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
21879 floating point anymore.
21880 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
21881
95614c84 218822008-06-15 Pavel Roskin <proski@gnu.org>
21883
21884 * commands/ls.c (grub_ls_list_files): Use integer calculations
21885 for human readable format, avoid floating point use.
21886 * kern/misc.c (grub_ftoa): Remove.
21887 (grub_vsprintf): Remove floating point support.
21888
50465dd6 218892008-06-15 Robert Millan <rmh@aybabtu.com>
21890
fe6b695a 21891 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 21892 devices.
21893 Reported by Max Vozeler.
21894
a9207284 218952008-06-15 Robert Millan <rmh@aybabtu.com>
21896
21897 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
21898 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
21899 skipped later.
21900 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
21901 the beginning of the prefix.
21902
21903 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
21904 It is assumed that if we have a memdisk, grub-mkimage has set
21905 grub_prefix to include the "(memdisk)" drive in it.
21906
a7cbd45a 219072008-06-15 Robert Millan <rmh@aybabtu.com>
21908
21909 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
21910 Initialize keyboard controller after registering the terminal, so that
21911 grub_printf() can be called from grub_keyboard_controller_init().
21912
21cf716a 219132008-06-15 Robert Millan <rmh@aybabtu.com>
21914
21915 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
21916 extent-btree which is written as big endian on disk.
21917 Reported by Alain Greppin <al@chilibi.org>.
21918
23a64d8e 219192008-06-14 Robert Millan <rmh@aybabtu.com>
21920
21921 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
21922 * util/i386/pc/grub-install.in (modules): Likewise.
21923
d687651c 219242008-06-13 Pavel Roskin <proski@gnu.org>
21925
21926 * commands/ls.c (grub_ls_list_files): Fix format warnings.
21927
dfe9ddd4 219282008-06-13 Bean <bean123ch@gmail.com>
21929
21930 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
21931
21932 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
21933
21934 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
21935 to indicate sparse block.
21936
16ae7781 219372008-06-12 Pavel Roskin <proski@gnu.org>
21938
e6d1a308 21939 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
21940 number, grub_fshelp_read() does it for us.
21941
16ae7781 21942 * fs/fshelp.c (grub_fshelp_read): New function. Implement
21943 linear disk read with journal translation.
21944 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
21945 * include/grub/fshelp.h: Declare grub_fshelp_read().
21946
40fd3a2b 219472008-06-09 Pavel Roskin <proski@gnu.org>
21948
21949 * fs/minix.c (grub_minix_mount): Handle error reading
21950 superblock.
21951
f5679726 219522008-06-08 Robert Millan <rmh@aybabtu.com>
21953
21954 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
21955 don't append the RAID prefix afterwards.
21956 Reported by Clint Adams.
21957
ce525529 219582008-06-08 Robert Millan <rmh@aybabtu.com>
21959
21960 Based on description from Pavel:
21961 * kern/disk.c (grub_disk_check_range): Rename to ...
21962 (grub_disk_adjust_range): ... this. Add a comment explaining the
21963 tasks performed by this function.
21964
ad4936a0 219652008-06-08 Robert Millan <rmh@aybabtu.com>
21966
21967 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
21968 `num_serial' (for consistency with other variables).
21969 (struct grub_ntfs_data): Add `uuid' member.
21970 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
21971 (grub_ntfs_uuid): New function.
21972 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
21973
dc20b0f9 219742008-06-07 Pavel Roskin <proski@gnu.org>
21975
21976 * util/biosdisk.c (open_device): Revert last change to the
21977 function, it broke installation. The sector needs to be
21978 different dependent on which device is opened.
21979
c5e3cfba 219802008-06-06 Robert Millan <rmh@aybabtu.com>
21981
21982 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
21983 rest of GRUB, and breakage doesn't happen if its value were modified.
21984
21985 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21986 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
21987 a constant (same value).
21988 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
21989 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
21990
26a1f8c4 219912008-06-06 Robert Millan <rmh@aybabtu.com>
21992
21993 * util/biosdisk.c (open_device): Do not modify sector offset when
21994 accessing a partition. kern/disk.c already handles this for us.
21995
25d6b327 219962008-06-06 Robert Millan <rmh@aybabtu.com>
21997
21998 * util/grub-emu.c (grub_machine_init): Move code in this function from
21999 here ...
22000 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
22001 segfault in case grub_printf() is called).
22002
22003 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
22004 grub_probe. Update all users not to explicitly add it again.
22005 (grub_device): New variable; contains corresponding device for grubdir.
22006 (fs_module, partmap_module, devabstraction_module): Pass
22007 `--device ${grub_device}' to grub_probe to avoid traversing /dev
22008 every time.
22009
9ece62fb 220102008-06-05 Robert Millan <rmh@aybabtu.com>
22011
22012 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
22013 is found, print it (same layout as with labels).
22014
1ad36d37 220152008-06-04 Robert Millan <rmh@aybabtu.com>
22016
22017 * util/biosdisk.c (get_drive): Rename to ...
22018 (find_grub_drive): ... this. Update all users.
22019
22020 (get_os_disk): Rename to ...
22021 (convert_system_partition_to_system_disk): ... this. Update all users.
22022
22023 (find_drive): Rename to ...
22024 (find_system_device): ... this. Update all users.
22025
e6a30859 220262008-06-04 Robert Millan <rmh@aybabtu.com>
22027
22028 * util/biosdisk.c (get_os_disk): Handle IDA devices.
22029 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22030 (make_device_map): Likewise.
22031
00c108a4 220322008-06-01 Robert Millan <rmh@aybabtu.com>
22033
22034 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
22035 before dereferencing it.
22036
22037 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
22038 union with fat12/fat16-specific ones. Add some new fields, including
22039 `num_serial' for both versions.
22040 (struct grub_fat_data): Add `uuid' member.
22041 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
22042 names. Initialize `data->uuid' using `num_serial'.
22043 (grub_fat_uuid): New function.
22044 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
22045
22046 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
22047 (grub_reiserfs_uuid): New function.
22048 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
22049 member.
22050
22051 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
22052 (grub_xfs_uuid): New function.
22053 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
22054
1385c5bb 220552008-06-01 Robert Millan <rmh@aybabtu.com>
22056
22057 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
22058 code that is backward compatible with pre-uuid search command.
22059
c682dfd7 220602008-05-31 Robert Millan <rmh@aybabtu.com>
22061
22062 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
22063 floppies after everything else, to ensure floppy drive isn't accessed
22064 unnecessarily (patch from Bean).
22065
b7db5d47 220662008-05-31 Robert Millan <rmh@aybabtu.com>
22067
22068 * commands/search.c (search_label, search_fs_uuid, search_file): Do
22069 not print device names when we were asked to set a variable.
22070
6e037aa9 220712008-05-31 Robert Millan <rmh@aybabtu.com>
22072
22073 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
22074 using "cursor-on" and "cursor-off" commands (understood at least by
22075 the Open Firmware flavour on OLPC).
22076
41305bc8 220772008-05-31 Michael Gorven <michael@gorven.za.net>
22078
22079 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
22080 on and off sequences.
22081
69ba137e 220822008-05-31 Robert Millan <rmh@aybabtu.com>
22083
22084 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
22085 * util/update-grub.in: Likewise.
22086
520ae21b 220872008-05-30 Pavel Roskin <proski@gnu.org>
22088
22089 * util/biosdisk.c (linux_find_partition): Simplify logic and
22090 make the code more universal. Keep special processing for
22091 devfs, but use a simple rule for all other devices. If the
22092 device ends with a number, append 'p' and the partition number.
22093 Otherwise, append only the partition number.
22094
5786569b 220952008-05-30 Robert Millan <rmh@aybabtu.com>
22096
22097 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
22098 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
22099 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
22100 the `root' parameter to Linux.
22101
51500452 221022008-05-30 Robert Millan <rmh@aybabtu.com>
22103
22104 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
22105 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
22106 --fs_uuid with --fs-uuid.
22107 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
22108 all filesystems support them).
22109
811d3878 221102008-05-30 Robert Millan <rmh@aybabtu.com>
22111
22112 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 22113 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 22114
cab63c95 221152008-05-30 Robert Millan <rmh@aybabtu.com>
22116
22117 * util/grub.d/00_header.in: Remove obsolete comment referencing
22118 convert_system_path_to_grub_path().
22119 * util/update-grub.in: Likewise.
22120 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
22121 (convert_system_path_to_grub_path): Add a warning message explaining
22122 that this function is deprecated. Rely on is_path_readable_by_grub()
22123 for the readability checks.
22124 (font_path): Use is_path_readable_by_grub() for the readability
22125 check rather than convert_system_path_to_grub_path().
22126
972e2f7a 221272008-05-30 Robert Millan <rmh@aybabtu.com>
22128
22129 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
22130 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
22131 converting it first.
22132 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
22133 grub.cfg for access to font file, and afterwards call it again to set
22134 the root device.
22135
62191274 221362008-05-30 Robert Millan <rmh@aybabtu.com>
22137
22138 * commands/search.c (options): Add --fs_uuid option.
22139 (search_fs_uuid): New function.
22140 (grub_cmd_search): Fix --set argument passing.
22141 Use search_fs_uuid() when requested via --fs_uuid.
22142 (grub_search_init): Update help message.
22143 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
22144 and redeclare it as an array of 16-bit words.
22145 (grub_ext2_uuid): New function.
22146 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
22147 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
22148 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
22149 (GRUB_DEVICE_BOOT_UUID): New variables.
22150 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
22151 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
22152 whenever possible.
22153 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
22154 just assume `root' variable has the right value.
22155 * util/grub.d/10_linux.in: Likewise.
22156 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
22157 via PRINT_FS_UUID.
22158 (main): Recognise `-t fs_uuid' argument.
22159
01b73ec8 221602008-05-30 Robert Millan <rmh@aybabtu.com>
22161
22162 * util/biosdisk.c (map): Redefine structure to hold information
22163 about GRUB drive name.
fe6b695a 22164 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 22165 drive names.
22166 (call_hook): Remove.
22167 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
22168 member. Assume drive has partitions.
22169 (grub_util_biosdisk_open): Access device names via `.device' struct
22170 member.
22171 (open_device): Likewise.
22172 (find_drive): Likewise.
22173 (read_device_map): Adjust map[] usage to match the new struct
22174 definition. Don't check for duplicates (still possible, but not cheap
22175 anymore).
22176 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
22177 (make_device_name): Remove assumption of BIOS-like drive names.
22178
22f16596 221792008-05-30 Pavel Roskin <proski@gnu.org>
22180
22181 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
22182 compiling execute.c doesn't need grub_script.tab.h anymore.
22183 (normal/command.c_DEPENDENCIES): Likewise.
22184 (normal/function.c_DEPENDENCIES): Likewise.
22185 * conf/i386-ieee1275.rmk: Likewise.
22186 * conf/i386-linuxbios.rmk: Likewise.
22187 * conf/i386-pc.rmk: Likewise.
22188 * conf/powerpc-ieee1275.rmk: Likewise.
22189 * conf/sparc64-ieee1275.rmk: Likewise.
22190
528ad8f2 221912008-05-29 Pavel Roskin <proski@gnu.org>
22192
d1dff95d 22193 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
22194 when scanning metadata for volume group name.
22195
528ad8f2 22196 * include/grub/script.h: Don't include grub_script.tab.h. It's
22197 a generated file, which may only be included from the files with
22198 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
22199 use union YYSTYPE, as the later allows forward declaration.
22200 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
22201
47248e08 222022008-05-29 Robert Millan <rmh@aybabtu.com>
22203
22204 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
22205 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
22206 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
22207 (grub_console_checkkey): Add grub_dprintf() call to report unknown
22208 scan codes.
22209
ee632529 222102008-05-29 Robert Millan <rmh@aybabtu.com>
22211
22212 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
22213 control key combinations.
22214
eee96e08 222152008-05-29 Robert Millan <rmh@aybabtu.com>
22216
22217 * util/powerpc/ieee1275/grub-install.in: Move from here ...
22218 * util/ieee1275/grub-install.in: ... to here.
22219 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
22220 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
22221 (grub_install_SOURCES): Likewise.
22222
da9a6a94 222232008-05-29 Robert Millan <rmh@aybabtu.com>
22224
22225 * fs/affs.c: Update copyright year.
22226 * fs/ext2.c: Likewise.
22227 * fs/fshelp.c: Likewise.
22228 * fs/hfsplus.c: Likewise.
22229 * fs/ntfs.c: Likewise.
22230 * fs/xfs.c: Likewise.
22231 * include/grub/fshelp.h: Likewise.
22232 * util/grub-mkdevicemap.c: Likewise.
22233
12e65f3a 222342008-05-28 Robert Millan <rmh@aybabtu.com>
22235
22236 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
22237 might need to be fatfs to support some firmware implementations
22238 (e.g. OFW or EFI).
22239
23023641 222402008-05-28 Robert Millan <rmh@aybabtu.com>
22241
22242 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
22243 devices.
22244 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22245 (make_device_map): Likewise.
22246
887d2619 222472008-05-20 Bean <bean123ch@gmail.com>
22248
22249 * fs/fshelp.c (grub_fshelp_map_block): New function.
22250 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
22251 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
22252
22253 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
22254 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
22255 (grub_fshelp_journal): New structure.
22256 (grub_fshelp_map_block): New function prototype.
22257 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
22258 (grub_fshelp_map_block): Likewise.
22259
22260 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
22261 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
22262 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
22263 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
22264 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
22265 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
22266 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
22267 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
22268 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
22269 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
22270 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
22271 (grub_ext2_sblock): New members for journal support.
22272 (grub_ext3_journal_header): New structure.
22273 (grub_ext3_journal_revoke_header): Likewise.
22274 (grub_ext3_journal_block_tag): Likewise.
22275 (grub_ext3_journal_sblock): Likewise.
22276 (grub_fshelp_node): New members logfile and journal.
22277 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
22278 grub_fshelp_map_block to get real block number.
22279 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
22280 number.
22281 (grub_ext2_read_inode): Likewise.
22282 (grub_ext3_get_journal): New function.
22283 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
22284 (grub_ext2_close): Release memory used by journal.
22285
22286 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
22287 (REISERFS_MAGIC_DESC_BLOCK): New macro.
22288 (grub_reiserfs_transaction_header): Renamed to
22289 grub_reiserfs_description_block, replace field data with real_blocks.
22290 (grub_reiserfs_commit_block): New structure.
22291 (grub_reiserfs_data): New member journal.
22292 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
22293 number.
22294 (grub_reiserfs_read_symlink): Likewise.
22295 (grub_reiserfs_iterate_dir): Likewise.
22296 (grub_reiserfs_open): Likewise.
22297 (grub_reiserfs_read): Likewise.
22298 (grub_reiserfs_get_journal): New function.
22299 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
22300 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
22301 using grub_reiserfs_get_journal.
22302 (grub_reiserfs_close): Release memory used by journal.
22303
22304 * fs/affs.c (grub_affs_read_block): Change block type to
22305 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
22306
22307 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
22308
22309 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
22310
22311 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
22312
22313 * fs/udf.c (grub_udf_read_block): Change block type to
22314 grub_disk_addr_t. Use type cast to avoid warning.
22315
22316 * fs/xfs.c (grub_xfs_read_block): Likewise.
22317
b7c6bed5 223182008-05-16 Christian Franke <franke@computer.org>
22319
22320 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
22321 to ensure that break with ESC will always work.
22322 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
22323 Remove ESC from keyboard queue.
22324
eedf167f 223252008-05-16 Christian Franke <franke@computer.org>
22326
22327 * util/biosdisk.c: [__CYGWIN__] Add includes.
22328 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
22329 (get_os_disk): Move variable declarations to OS specific
22330 parts to avoid warning.
22331 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
22332 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
22333 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
22334 Cygwin.
22335 * util/getroot.c: [__CYGWIN__] Add includes.
22336 (strip_extra_slashes): Fix "/" case.
22337 [__CYGWIN__] (get_win32_path): New function.
22338 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
22339 [__CYGWIN__] (find_root_device): Disable.
22340 [__CYGWIN__] (get_bootsec_serial): New function.
22341 [__CYGWIN__] (find_cygwin_root_device): Likewise.
22342 [__linux__] (grub_guess_root_device): Add early returns to simplify
22343 structure.
22344 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
22345 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
22346 check for Linux only.
22347
a079699e 223482008-05-15 Bean <bean123ch@gmail.com>
22349
22350 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
22351 keyboard hang problem in apple's intel mac.
22352
1cf4059a 223532008-05-09 Robert Millan <rmh@aybabtu.com>
22354
22355 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
22356 devices.
22357 * util/grub-mkdevicemap.c (get_virtio_disk_name)
22358 (make_device_map): Likewise.
22359 Reported by Aurelien Jarno <aurel32@debian.org>
22360
ed759390 223612008-05-07 Ian Campbell <ijc@hellion.org.uk>
22362
22363 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
22364 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
22365 (make_device_map): Output entries for xvd type disks.
22366
b56c4eaa 223672008-05-07 Robert Millan <rmh@aybabtu.com>
22368
22369 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
22370 devices.
22371 * util/grub-mkdevicemap.c (get_cciss_disk_name)
22372 (make_device_map): Likewise.
22373 Reported by Roland Dreier <rdreier@cisco.com>
22374
7f8866ed 223752008-05-07 Robert Millan <rmh@aybabtu.com>
22376
22377 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
22378 grub_strstr() call. Correct a few mistakes in failure path handling.
22379
b0346e0f 223802008-05-06 Robert Millan <rmh@aybabtu.com>
22381
22382 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22383 Do not print a trailing slash (therefore, the root directory is an
22384 empty string).
22385 (convert_system_path_to_grub_path): Do not remove trailing slash
22386 from make_system_path_relative_to_its_root() output.
22387
22388 * util/i386/pc/grub-install.in: Add trailing slash to output from
22389 make_system_path_relative_to_its_root().
22390
6cf12cbd 223912008-05-06 Robert Millan <rmh@aybabtu.com>
22392
22393 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
22394 ensures that output lines aren't intermangled with those sent to
22395 stderr (via grub_util_info()).
22396 * util/grub-probe.c (grub_refresh): Likewise.
22397 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
22398
0fbb3117 223992008-05-05 Christian Franke <franke@computer.org>
22400
22401 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
22402 Add Cygwin device names.
22403 (get_ide_disk_name) [__CYGWIN__]: Likewise.
22404 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
22405 (check_device): Return error instead of success on empty name.
22406 (make_device_map): Move label inside linux specific code to
22407 prevent compiler warning.
22408
8124cdb7 224092008-04-30 Robert Millan <rmh@aybabtu.com>
22410
22411 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
22412 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
22413 first boot option.
22414 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
22415
094c01d0 224162008-04-29 Robert Millan <rmh@aybabtu.com>
22417
22418 * docs/grub.cfg: New file (example GRUB configuration).
22419
f4b1fc02 224202008-04-26 Robert Millan <rmh@aybabtu.com>
22421
329ce2a5 22422 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
22423 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
22424 and `disk/ieee1275/nand.c'.
f4b1fc02 22425
25f16ec1 224262008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 22427
25f16ec1 22428 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
22429 i386-linuxbios.
22430
22431 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
22432 change the buffer size to 4096 for cdrom device.
22433
22434 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
22435 and nand.mod.
22436 (_linux_mod_SOURCES): New variable.
22437 (_linux_mod_CFLAGS): Likewise.
22438 (_linux_mod_LDFLAGS): Likewise.
22439 (linux_mod_SOURCES): Likewise.
22440 (linux_mod_CFLAGS): Likewise.
22441 (linux_mod_LDFLAGS): Likewise.
22442 (nand_mod_SOURCES): Likewise.
22443 (nand_mod_CFLAGS): Likewise.
22444 (nand_mod_LDFLAGS): Likewise.
22445
22446 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
22447 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
22448 type property. (nand device in olpc don't have this property)
22449
22450 * include/grub/disk.h (grub_disk_dev_id): New macro
22451 GRUB_DISK_DEVICE_NAND_ID.
22452
22453 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
22454 function prototype.
22455 (grub_rescue_cmd_initrd): Likewise.
22456
22457 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
22458 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
22459 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 22460
25f16ec1 22461 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
22462 GRUB_MACHINE_IEEE1275 is defined.
22463
22464 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
22465 Use NESTED_FUNC_ATTR attribute on the hook parameter.
22466
22467 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
22468 on nested function heap_init.
22469 (grub_upper_mem): New variable for i386-ieee1275.
22470 (grub_get_extended_memory): New function for i386-ieee1275.
22471 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
22472
22473 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
22474 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
22475 property.
f19dbdb7 22476
25f16ec1 22477 * loader/i386/ieee1275/linux.c: New file.
22478
22479 * loader/i386/ieee1275/linux_normal.c: New file.
22480
22481 * disk/ieee1275/nand.c: New file.
22482
e89d61e9 224832008-04-18 Thomas Schwinge <tschwinge@gnu.org>
22484
22485 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
22486 value.
22487 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
22488
602566f6 224892008-04-18 Robert Millan <rmh@aybabtu.com>
22490
22491 Restructures early code path on ieee1275 to unify grub_main() as
22492 the first C function that is executed in every platform.
22493
22494 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
22495 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
22496 cmain().
22497 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
22498 * kern/ieee1275/cmain.c (cmain): Rename to ...
22499 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
22500 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
22501 at the beginning.
22502
57490c2b 225032008-04-18 Robert Millan <rmh@aybabtu.com>
22504
22505 * util/update-grub.in: Fix syntax error when setting
22506 `GRUB_PRELOAD_MODULES'.
22507 Reported by Stephane Chazelas <stephane@artesyncp.com>
22508
1977517d 225092008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
22510
22511 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
22512 section into account, newer toolchains generate unique build ids
22513 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 22514 we want build ids to be preserved
1977517d 22515 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
22516 far from other sections don't cause the raw binary images grow
22517 size
22518
bfb1f1a2 225192008-04-15 Robert Millan <rmh@aybabtu.com>
22520
22521 * disk/lvm.c: Update copyright year.
22522 * kern/misc.c: Likewise.
22523
01979850 225242008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22525
22526 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 22527 there is no memory left for physical volume name.
01979850 22528
0a1150e2 225292008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22530
22531 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
22532 volume name mapping to support bigger than 9 character names properly.
22533
82ead3fe 225342008-04-13 Robert Millan <rmh@aybabtu.com>
22535
22536 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
22537 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
22538
e54a72f5 225392008-04-13 Christian Franke <franke@computer.org>
22540
22541 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
22542 to create a floppy emulation boot CD when non emulation mode
22543 does not work.
22544 Enable Joliet CD filesystem extension.
22545
9fe86034 225462008-04-13 Robert Millan <rmh@aybabtu.com>
22547
22548 * kern/misc.c (grub_strncat): Fix off-by-one error.
22549 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
22550
22551 * kern/env.c (grub_env_context_close): Clear current context, not
22552 previous one.
22553 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
22554
22555 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
22556
7ceeee39 225572008-04-13 Robert Millan <rmh@aybabtu.com>
22558
22559 Improve robustness when handling LVM.
22560
22561 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 22562 (and leave `*p' unmodified).
7ceeee39 22563 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
22564 through it.
22565 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
22566 iterating through it.
22567 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
22568 through it.
fe6b695a 22569 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 22570 when due) on each grub_lvm_getvalue() or grub_strstr() call.
22571 Don't assume `vg->pvs != NULL' when iterating through it.
22572
58cd3d85 225732008-04-13 Robert Millan <rmh@aybabtu.com>
22574
22575 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
22576 * genmk.rb (partmap): New variable.
22577 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
22578 (#{partmap}): New target rule.
22579 * genpartmaplist.sh: New file.
22580 * Makefile.in (pkglib_DATA): Add partmap.lst.
22581 (partmap.lst): New target rule.
22582 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
22583 modules (including all partition maps), instead of preloading them.
22584
78b51059 225852007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
22586
22587 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
22588 `linux-boot-prober' (if installed) to detect other operating
22589 systems which are installed on the computer and add them to
22590 the boot menu.
22591 * conf/common.rmk: Build and install 30_os-prober.
22592
a91627b4 225932008-04-12 Robert Millan <rmh@aybabtu.com>
22594
22595 * kern/powerpc/ieee1275/init.c: Move from here ...
22596 * kern/ieee1275/init.c: ... to here. Update all users.
22597
22598 * kern/powerpc/ieee1275/cmain.c: Move from here ...
22599 * kern/ieee1275/cmain.c: ... to here. Update all users.
22600
22601 * kern/powerpc/ieee1275/openfw.c: Move from here ...
22602 * kern/ieee1275/openfw.c: ... to here. Update all users.
22603
22604 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
22605 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
22606
322562ea 226072008-04-10 Pavel Roskin <proski@gnu.org>
22608
22609 * configure.ac: Always use "_cv_" in cache variables for
22610 compatibility with Autoconf 2.62.
22611
a02a73c5 226122008-04-07 Robert Millan <rmh@aybabtu.com>
22613
22614 Revert grub/machine/init.h addition by Pavel (since it breaks on
22615 i386-ieee1275 and others):
22616 * util/i386/pc/misc.c: Remove grub/machine/init.h.
22617 * util/powerpc/ieee1275/misc.c: Likewise.
22618
25c024b1 226192008-04-07 Robert Millan <rmh@aybabtu.com>
22620
22621 * util/grub-probe.c (probe): Improve error message.
22622
3cbd2f98 226232008-04-07 Robert Millan <rmh@aybabtu.com>
22624
22625 * util/biosdisk.c (read_device_map): Skip devices that don't exist
22626 (this prevents the presence of a bogus entry from ruining the whole
22627 thing).
22628
87a297bf 226292008-04-06 Pavel Roskin <proski@gnu.org>
22630
36747a62 22631 * util/biosdisk.c: Include grub/util/biosdisk.h.
22632 * util/grub-fstest.c (execute_command): Make static.
22633 * util/grub-mkdevicemap.c (check_device): Likewise.
22634 * util/i386/pc/misc.c: Include grub/machine/init.h.
22635 * util/powerpc/ieee1275/misc.c: Likewise.
22636 * util/lvm.c: Include grub/util/lvm.h.
22637 * util/misc.c: Include grub/kernel.h, grub/misc.h and
22638 grub/cache.h.
22639 * util/raid.c: Include grub/util/raid.h.
22640 (grub_util_getdiskname): Make static.
22641
87a297bf 22642 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
22643 grub_hostfs_fini(), as they are called from grub_init_all() and
22644 grub_fini_all() respectively. This fixes an infinite loop in
22645 grub-fstest due to double registration of hostfs.
22646 Reported by Christian Franke <Christian.Franke@t-online.de>
22647
f6ce7629 226482008-04-05 Pavel Roskin <proski@gnu.org>
22649
22650 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
22651 all 8 functions. Otherwise, probe function 0 only.
22652
070e49e4 226532008-04-04 Pavel Roskin <proski@gnu.org>
22654
8b088a4c 22655 * commands/lspci.c (grub_lspci_iter): Print the bus number
22656 correctly.
22657
4f657021 22658 * commands/lspci.c (grub_pci_classes): Fix typos.
22659 (grub_lspci_iter): Don't print func twice. Print vendor ID
22660 before device ID, as it's normally done.
22661
070e49e4 22662 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22663 Fix signedness warnings.
22664 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
22665 Likewise.
22666 * util/ieee1275/get_disk_name.c: Include config.h so that
22667 _GNU_SOURCE is defined and getline() is declared. Mark an
22668 unused argument as such. Fix a signedness warning.
22669
ba7328dc 226702008-04-02 Pavel Roskin <proski@gnu.org>
22671
26887f22 22672 * genkernsyms.sh.in: Use more robust assignments for CC and
22673 srcdir. Quote srcdir.
22674 * gensymlist.sh.in: Likewise. Assert at the compile time that
22675 the symbol table is not empty.
22676
ba7328dc 22677 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
22678 * fs/cpio.c (grub_cpio_read): Likewise.
22679
0f582c6b 226802008-04-01 Pavel Roskin <proski@gnu.org>
22681
4b6e1995 22682 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
22683 * disk/host.c (grub_host_open): Likewise.
22684 * disk/loopback.c (grub_loopback_open): Likewise.
22685 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
22686 disk->id as in disk/host.c, not a multi-character constant.
22687
828a2768 22688 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
22689 later is obsolete, potentially dangerous and sets a bad example.
22690 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
22691 * util/misc.c (grub_util_get_image_size): Likewise.
22692
2bb4fb47 22693 * disk/loopback.c (options): Improve help for "--partitions".
22694
0f582c6b 22695 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
22696 options to align them with the short options, e.g. "echo -e".
22697
a33224e0 226982008-03-31 Bean <bean123ch@gmail.com>
22699
22700 * video/reader/png.c (grub_png_data): New member is_16bit and
22701 image_data.
22702 (grub_png_decode_image_header): Detect 16 bit png image.
22703 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
22704 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
22705 (grub_video_reader_png): Release memory occupied by image_data.
22706
22707 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
22708 4096 bytes.
22709 (grub_nfs_mount): Skip the test for sector per cluster.
22710
22711 * include/grub/ntfs.h (MAX_SPC): Removed.
22712
86cb4f54 227132008-03-31 Bean <bean123ch@gmail.com>
22714
22715 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
22716 (grub_probe_SOURCES): Add fs/afs.c.
22717 (grub_fstest_SOURCES): Likewise.
22718 (afs_mod_SOURCES): New variable.
22719 (afs_mod_CFLAGS): Likewise.
22720 (afs_mod_LDFLAGS): Likewise.
22721
22722 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
22723 (grub_emu_SOURCES): Likewise.
22724
22725 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22726
22727 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22728
22729 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22730
22731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22732
22733 * fs/afs.c: New file.
22734
17c74c21 227352008-03-30 Pavel Roskin <proski@gnu.org>
22736
4cb68e89 22737 * disk/host.c: Include grub/misc.h to fix a warning.
22738 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
22739 warnings about implicit declarations.
22740
8790bb04 22741 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
22742 variable.
22743 * include/grub/i386/loader.h: Change declaration of
22744 grub_linux_boot() to match what grub_loader_set() expects.
22745 * util/getroot.c (grub_guess_root_device): Return const char* to
22746 fix a warning.
22747 * util/grub-probe.c (probe): Fix a warning about uninitialized
22748 abstraction_name variable.
22749 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
22750 second argument as unused to fix a warning.
22751
9a3f3296 22752 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
22753 missing grub_error() call.
22754
0ecef90d 22755 * util/update-grub_lib.in: Define datarootdir, since Autoconf
22756 2.60 and newer uses it to define datadir.
22757
0bf6d401 22758 * commands/sleep.c: Fix warning about implicit declaration.
22759 * disk/memdisk.c: Likewise.
22760 * loader/aout.c: Likewise.
22761 * loader/i386/bsd_normal.c: Likewise.
22762 * util/grub-probe.c: Likewise.
22763
7cdacf97 22764 * commands/i386/cpuid.c (has_longmode): Make static.
22765 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
22766 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
22767
17c74c21 22768 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
22769 GDT. This is more robust, as %ds can change.
22770 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
22771 calling real_to_prot().
22772 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
22773
80a3e68b 227742008-03-28 Pavel Roskin <proski@gnu.org>
22775
22776 * kern/i386/pc/startup.S: Assert that uncompressed functions
22777 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
22778 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
22779 code, as they push parts of the code (error handlers) beyond
22780 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
22781 code as correctness and size.
22782
77bcd272 227832008-03-28 Pavel Roskin <proski@gnu.org>
22784
22785 * kern/i386/pc/startup.S
22786 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
22787 data block address to the real mode, keep offset minimal. This
22788 works around a bug in AWARD BIOS on old Athlon systems, which
22789 makes CD detection hang.
22790
c5dfd43b 227912008-03-26 Pavel Roskin <proski@gnu.org>
22792
22793 * normal/color.c (grub_parse_color_name_pair): Make `name' a
22794 const.
22795 * include/grub/normal.h: Add grub_parse_color_name_pair()
22796 declaration.
22797
bf962df2 227982008-03-24 Bean <bean123ch@gmail.com>
22799
22800 * disk/i386/pc/biosdisk.c (cd_start): Removed.
22801 (cd_count): Removed.
22802 (cd_drive): New variable.
22803 (grub_biosdisk_get_drive): Don't check for (cdN) device.
22804 (grub_biosdisk_call_hook): Likewise.
22805 (grub_biosdisk_iterate): Change cdrom detection method.
22806 (grub_biosdisk_open): Replace cd_start with cd_drive.
22807 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
22808 detect cdrom device.
22809
22810 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
22811 Removed.
22812 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
22813 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
22814 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
22815 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
22816 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
22817 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
22818 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
22819 (grub_biosdisk_cdrp): New structure.
22820 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
22821
22822 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
22823
22824 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
22825 device.
22826
22827 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
22828 New function.
22829
68e7fc7a 228302008-03-20 Robert Millan <rmh@aybabtu.com>
22831
22832 Remove 2 TiB limit in ata.mod.
22833 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
22834 (grub_ata_dumpinfo): Print sector count with 0x%llx.
22835 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
22836 grub_uint64_t instead of grub_uint32_t.
22837
38ad2cf5 228382008-03-05 Bean <bean123ch@gmail.com>
22839
22840 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
22841 (grub_multiboot): Set boot device.
22842
22843 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
22844
2b89344e 228452008-03-02 Bean <bean123ch@gmail.com>
22846
22847 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
22848 symlink_buffer.
22849
87a95d1f 228502008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
22851
22852 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
22853 texinfo.tex.
22854
22855 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
22856 modified.
22857
22858 * docs/fdl.texi: New file.
f19dbdb7 22859
87a95d1f 22860 * docs/mdate-sh: New file. Copied from gnulib.
22861 * docs/texinfo.tex: Likewise.
22862
22863 * config.guess: Updated from gnulib.
22864 * install-sh: Likewise.
22865
7dc15d8e 228662008-02-28 Robert Millan <rmh@aybabtu.com>
22867
22868 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
22869 (aout_mod_SOURCES): New variable.
22870 (aout_mod_CFLAGS): Likewise.
22871 (aout_mod_LDFLAGS): Likewise.
22872
22873 * conf/i386-ieee1275.rmk: Likewise.
22874
b00ab696 228752008-02-28 Robert Millan <rmh@aybabtu.com>
22876
22877 * util/update-grub.in: Reorganise terminal validity check. Accept
22878 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
22879 Based on suggestion by Franklin PIAT.
22880
79ca2d78 228812008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
22882
22883 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
22884 function.
22885 * util/getroot.c (grub_util_check_block_device): New function that
22886 returns the given argument if it is a block device and returns NULL else.
22887 * util/grub-probe.c (argument_is_device): New variable.
22888 (probe): Promote device_name from a variable to an argument. Receive
22889 device_name from grub_util_check_block_device() if path is NULL and from
22890 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 22891 (options): Introduce new parameter '-d, --device'.
79ca2d78 22892 (main): Add description of the new parameter to the help screen.
22893 Rename path variable to argument. Set argument_is_device if the '-d'
22894 option is given. Pass argument to probe() depending on
22895 argument_is_device.
22896
0d16e571 228972008-02-24 Bean <bean123ch@gmail.com>
22898
22899 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
22900 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
22901 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
22902 (GRUB_ISO9660_VOLDESC_PART): Likewise.
22903 (GRUB_ISO9660_VOLDESC_END): Likewise.
22904 (grub_iso9660_primary_voldesc): New member escape.
22905 (grub_iso9660_data): New member joliet.
22906 (grub_iso9660_convert_string): New function.
22907 (grub_iso9660_mount): Detect joliet extension.
22908 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
22909 (grub_iso9660_iso9660_label): Likewise.
22910
22911 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
22912 (grub_setup_SOURCES): Add fs/udf.c.
22913 (grub_fstest_SOURCES): Likewise.
22914 (udf_mod_SOURCES): New variable.
22915 (udf_mod_CFLAGS): Likewise.
22916 (udf_mod_LDFLAGS): Likewise.
22917
22918 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
22919 (grub_emu_SOURCES): Likewise.
22920
22921 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22922
22923 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22924
22925 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22926
22927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22928
22929 * fs/udf.c: New file.
22930
8a594a17 229312008-02-24 Robert Millan <rmh@aybabtu.com>
22932
22933 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
22934 (normal/lexer.c_DEPENDENCIES): New variables.
22935 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
22936 (normal/lexer.c_DEPENDENCIES): Likewise.
22937 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
22938 (normal/lexer.c_DEPENDENCIES): Likewise.
22939 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
22940 (normal/lexer.c_DEPENDENCIES): Likewise.
22941 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
22942 (normal/lexer.c_DEPENDENCIES): Likewise.
22943 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
22944 (normal/lexer.c_DEPENDENCIES): Likewise.
22945
2dc33c03 229462008-02-23 Robert Millan <rmh@aybabtu.com>
22947
22948 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
22949 since they were intended to be in hex. This didn't break previously
22950 because of a bug in gpt_partition_map_iterate() (see below).
22951
22952 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
22953 when checking the validity of GPT header.
22954 Remove `partno', since it always provides the same information as `i'.
22955
f6f4cfb0 229562008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
22957
22958 * include/grub/efi/time.h: Fix a wrong comment.
22959
79ff665f 229602008-02-19 Pavel Roskin <proski@gnu.org>
22961
22962 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
22963 message.
22964
d38e24c2 229652008-02-19 Bean <bean123ch@gmail.com>
22966
22967 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
22968 (aout_mod_SOURCES): New variable.
22969 (aout_mod_CFLAGS): Likewise.
22970 (aout_mod_LDFLAGS): Likewise.
22971 (_bsd_mod_SOURCES): New variable.
22972 (_bsd_mod_CFLAGS): Likewise.
22973 (_bsd_mod_LDFLAGS): Likewise.
22974 (bsd_mod_SOURCES): New variable.
22975 (bsd_mod_CFLAGS): Likewise.
22976 (bsd_mod_LDFLAGS): Likewise.
22977
22978 * include/grub/aout.h: New file.
22979
22980 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
22981
22982 * include/grub/i386/bsd.h: New file.
22983
22984 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
22985 to make it public.
22986
22987 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
22988 function is called, so that it's possible to change it inside the hook.
22989 (grub_elf64_load): Likewise.
22990 (grub_elf_file): Don't close the file if elf header is not found.
22991 (grub_elf_close): Close the file if grub_elf_file fails (The new
22992 grub_elf_file won't close it).
22993 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
22994 (grub_elf64_size): Likewise.
22995
22996 * kern/i386/loader.S (grub_unix_real_boot): New function.
22997
22998 * loader/aout.c: New file.
22999
23000 * loader/i386/bsd.c: New file.
23001
23002 * loader/i386/bsd_normal.c: New file.
23003
23004 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
23005
23006 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 23007 can test other formats.
d38e24c2 23008
b93bdb0f 230092008-02-19 Robert Millan <rmh@aybabtu.com>
23010
23011 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
23012 (grub_gpt_partition_type_empty): Redefine with macro from
23013 `<grub/gpt_partition.h>'.
23014 (gpt_partition_map_iterate): Adjust partition type comparison.
23015
23016 Export `entry' as partmap-specific `part.data' struct.
23017 (grub_gpt_header, grub_gpt_partentry): Move from here ...
23018
23019 * include/grub/gpt_partition.h (grub_gpt_header)
23020 (grub_gpt_partentry): ... to here (new file).
23021
23022 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
23023
23024 (grub_gpt_partition_type_bios_boot): New const variable, defined
23025 with macro from `<grub/gpt_partition.h>'.
23026
23027 (setup): Replace `first_start' with `embed_region', which keeps
23028 track of the embed region (and is partmap-agnostic).
23029
23030 Replace find_first_partition_start() with find_usable_region(),
23031 which finds a usable region for embedding using partmap-specific
23032 knowledge (supports PC/MSDOS and GPT).
23033
23034 Fix all assumptions that the embed region start at sector 1, using
23035 `embed_region.start' from now on. Similarly, use `embed_region.end'
23036 rather than `first_start' to calculate available size.
23037
23038 In grub_util_info() message, replace "into after the MBR" with an
23039 indication of the specific sector our embed region starts at.
23040
66cb40f6 230412008-02-19 Robert Millan <rmh@aybabtu.com>
23042
23043 * DISTLIST: Replace `commands/ieee1275/halt.c' and
23044 `commands/ieee1275/reboot.c' with `commands/halt.c' and
23045 `commands/reboot.c'.
23046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23047 (halt_mod_SOURCES): Likewise.
23048 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23049 (halt_mod_SOURCES): Likewise.
23050
b7202015 230512008-02-17 Christian Franke <franke@computer.org>
23052
23053 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
23054
32b0fc49 230552008-02-17 Robert Millan <rmh@aybabtu.com>
23056
23057 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23058 set `first_start' to 0 for non-PC/MSDOS partition maps.
23059
aca63502 230602008-02-16 Robert Millan <rmh@aybabtu.com>
23061
23062 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23063 do not assume partition map is PC/MSDOS before performing checks that
23064 are specific to that layout.
23065
0de8be86 230662008-02-13 Robert Millan <rmh@aybabtu.com>
23067
23068 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
23069 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
23070 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
23071
c3db8364 230722008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
23073
23074 * configure.ac: Only a cosmetic change on the handling of
23075 -fno-stack-protector.
23076
f714229e 230772008-02-12 Alexandre Boeglin <alex@boeglin.org>
23078
c3db8364 23079 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
23080 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
23081 reboot.c.
f714229e 23082 (grub_install_SOURCES): Add halt.mod and reboot.mod.
23083 (halt_mod_SOURCES): New variable.
23084 (halt_mod_CFLAGS): Likewise.
23085 (halt_mod_LDFLAGS): Likewise.
23086 (reboot_mod_SOURCES): Likewise.
23087 (reboot_mod_CFLAGS): Likewise.
23088 (reboot_mod_LDFLAGS): Likewise.
23089
c3db8364 23090 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
23091 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
23092 reboot.c.
f714229e 23093 (halt_mod_SOURCES): Likewise.
23094 (reboot_mod_SOURCES): Likewise.
23095
c3db8364 23096 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
23097 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 23098 (reboot_mod_SOURCES): Likewise.
23099
23100 * commands/i386/pc/reboot.c: merge this file ...
23101
23102 * commands/ieee1275/reboot.c: ... and this file ...
23103
23104 * commands/reboot.c: ... to this file.
c3db8364 23105 Add some precompiler directive to include the correct header for
23106 each machine.
f714229e 23107
23108 * commands/ieee1275/halt.c: move this file ...
23109
23110 * commands/halt.c: ... to here.
c3db8364 23111 Add some precompiler directive to include the correct header for
23112 each machine.
f714229e 23113
23114 * include/grub/efi/efi.h (grub_reboot): New function declaration.
23115 (grub_halt): Likewise.
23116
23117 * kern/efi/efi.c (grub_reboot): New function.
23118 (grub_halt): Likewise.
23119
c74493e0 231202008-02-12 Robert Millan <rmh@aybabtu.com>
23121
23122 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
23123 /dev (like it is done for /dev/mapper). This doesn't provide support
23124 for EVMS, but at least it is now easy to identify the problem when it
23125 arises.
23126
d0db4b04 231272008-02-11 Robert Millan <rmh@aybabtu.com>
23128
23129 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
23130 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
23131 comparing it with -1, not 0.
23132
bf748642 231332008-02-10 Robert Millan <rmh@aybabtu.com>
23134
23135 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
23136 `disk/lvm.c'.
23137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23138 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23139
23140 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
23141 `disk/lvm.c' to the end of the list.
23142 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23143 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23144
b5db202a 231452008-02-10 Robert Millan <rmh@aybabtu.com>
23146
23147 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
23148 grub_print_error() instead. This will let user know why we're entering
23149 rescue mode.
23150 Based on suggestions from Sam Morris.
23151
83abee31 231522008-02-10 Alexandre Boeglin <alex@boeglin.org>
23153
23154 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
23155 on remaining N args, instead of "--" arg N times.
23156
78d5a08b 231572008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
23158
23159 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
23160 (fill_with_default_glyph): Changed to use unknown_glyph for fill
23161 pattern for unknown glyphs.
23162
68807e5f 231632008-02-09 Robert Millan <rmh@aybabtu.com>
23164
23165 * configure.ac: Probe for `help2man'.
23166 * Makefile.in (builddir): New variable.
23167 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
23168 or otherwise add a few flags/options to it.
23169 (install-local): For every executable utility or script that is
23170 installed, invoke $(HELP2MAN) to install a manpage based on --help
23171 output.
23172
23173 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
23174 that it doesn't prevent --help from working in build tree.
23175
23176 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
23177 with `bug-grub@gnu.org'.
23178 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
23179 * util/update-grub.in (usage): New function.
23180 Implement proper argument check, with support for --help and --version
23181 (as well as existing -y).
23182
231832008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 23184
23185 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
23186 avoid overwriting previous output.
23187 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
23188
c1962162 231892008-02-09 Robert Millan <rmh@aybabtu.com>
23190
23191 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
23192 drawing the menu.
23193
3dac2e3f 231942008-02-09 Robert Millan <rmh@aybabtu.com>
23195
23196 * commands/sleep.c: New file.
23197 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
23198 (sleep_mod_SOURCES): New variable.
23199 (sleep_mod_CFLAGS): Likewise.
23200 (sleep_mod_LDFLAGS): Likewise.
23201
7a634e08 232022008-02-09 Robert Millan <rmh@aybabtu.com>
23203
23204 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
23205 situations in which we can deduce the RAID size and the superblock
23206 doesn't match it.
23207
b92f0c18 232082008-02-09 Robert Millan <rmh@aybabtu.com>
23209
23210 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
23211 and return a grub_diskmemberlist_t composed of LVM physical volumes.
23212 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
23213
23214 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
23215 and return a grub_diskmemberlist_t composed of physical array members.
23216 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
23217
23218 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
23219 prototype.
23220 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
23221 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
23222 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
23223
23224 * util/grub-probe.c (probe): Move partmap probing code from here ...
23225 (probe_partmap): ... to here.
23226 (probe): Use probe_partmap() once for the disk we're probing, and
23227 additionally, when such disk contains a memberlist() struct member,
23228 once for each disk that is contained in the structure returned by
23229 memberlist().
23230
91a4bf68 232312008-02-09 Robert Millan <rmh@aybabtu.com>
23232
23233 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
23234 environment variable to 'all' in order to obtain debug output from
23235 non-util/ code.
23236 * util/i386/pc/grub-setup.c (main): Likewise.
23237
a96f9caa 232382008-02-08 Robert Millan <rmh@aybabtu.com>
23239
23240 * disk/raid.c (grub_raid_scan_device): Check for
23241 `array->device[sb.this_disk.number]' rather than for
23242 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 23243 guaranteed to be accessible.
a96f9caa 23244
b37a9222 232452008-02-08 Robert Millan <rmh@aybabtu.com>
23246
23247 * disk/raid.c: Update copyright.
23248 * fs/cpio.c: Likewise.
23249 * include/grub/raid.h: Likewise.
23250 * loader/i386/pc/multiboot.c: Likewise.
23251 * util/hostfs.c: Likewise.
23252
5626aee1 232532008-02-08 Robert Millan <rmh@aybabtu.com>
23254
23255 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
23256 to a grub_disk_t array.
23257 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
23258 `device[x]'.
23259 (grub_raid_scan_device): Replace `device[x].name' accesses with
23260 `device[x]->name'. Simplify initialization of `array->device[x]'.
23261
554f0187 232622008-02-08 Robert Millan <rmh@aybabtu.com>
23263
23264 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
23265 grub_dprintf() calls.
23266 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
23267 error message.
23268
1ec8425d 232692008-02-07 Christian Franke <franke@computer.org>
23270
23271 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
23272 instead of fseek and ftell to support large files.
23273 (grub_hostfs_read): Likewise.
23274
f2156fda 232752008-02-07 Robert Millan <rmh@aybabtu.com>
23276
23277 Patch from Jeroen Dekkers.
23278 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 23279 failure, since successfully reading all array members might not be
f2156fda 23280 required.
23281
9216e0e7 232822008-02-06 Robert Millan <rmh@aybabtu.com>
23283
23284 * util/grub-probe.c (probe): Simplify partmap probing (with the
23285 assumption that the first word up to the underscore equals to
23286 the module name).
23287
b0dfd29a 232882008-02-06 Christian Franke <franke@computer.org>
23289
23290 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
23291 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
23292 last block of a cpio or tar stream.
23293 Check for "TRAILER!!!" instead of any empty data
23294 block to detect last block of a cpio stream.
23295 (grub_cpio_dir): Fix constness of variable np.
23296 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
23297 cpio or tar trailer is detected. This fixes a crash
23298 on open of a non existing file.
23299
c32865bf 233002008-02-05 Bean <bean123ch@gmail.com>
23301
23302 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
23303 address of entry.
23304 (grub_multiboot_load_elf64): Likewise.
23305 (grub_multiboot): Initialize mbi structure.
23306
23307 * util/grub-fstest.c: Don't include unused header file script.h.
23308
fe6b695a 23309 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 23310 of file.
23311 (grub_fstest_SOURCES): Likewise.
23312
409480b7 233132008-02-05 Robert Millan <rmh@aybabtu.com>
23314
23315 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
23316 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
23317 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
23318 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
23319
23320 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
23321 (translation_table): Replace hardcoded values with macros
23322 provided by `<grub/term.h>'.
23323
23324 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
23325 (keyboard_map): Correct/add a few values, with macros provided
23326 by `<grub/term.h>'.
23327 (keyboard_map_shift): Zero values that don't differ from their
23328 `keyboard_map' equivalents.
23329 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
23330 Discard the second scan code that is always sent by Caps lock.
23331 Only use `keyboard_map_shift' when it provides a non-zero value,
23332 otherwise fallback to `keyboard_map'.
23333
99fadbaa 233342008-02-04 Bean <bean123ch@gmail.com>
23335
23336 * Makefile.in (enable_grub_fstest): New variable.
23337
23338 * conf/common.rmk (grub_fstest_init.lst): New rule.
23339 (grub_fstest_init.h): Likewise.
23340 (grub_fstest_init.c): Likewise.
23341 (util/grub-fstest.c_DEPENDENCIES): New variable.
23342 (grub_fstest_SOURCES): Likewise.
23343
23344 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
23345
23346 * util/grub-fstest.c: New file.
23347
bf567c50 233482008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23349
23350 Make grub-setup handle a separate root device.
f19dbdb7 23351
bf567c50 23352 * util/i386/pc/grub-setup.c (setup): Always open the root device,
23353 so that the root device can be compared with the destination
23354 device.
23355 When embedding the core image, if the root and destination devices
23356 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
23357 0xFF.
23358 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 23359
9be6b98b 233602008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23361
23362 Add support for having a grub directory in a different drive. This
23363 is still only the data handling part.
f19dbdb7 23364
9be6b98b 23365 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
23366 (codestart): Save %dh in GRUB_ROOT_DRIVE.
23367 (grub_root_drive): New variable.
23368
23369 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
23370 instead of GRUB_BOOT_DRIVE to construct a device name. Set
23371 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
23372 as it was.
23373
23374 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
23375
23376 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
23377 macro.
23378 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
23379
23380 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
23381 is bogus, because PXE booting does not specify any drive
23382 correctly.
23383
23384 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
23385 am not sure if this is really correct.
23386
23387 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
23388 is always identical to the boot drive when booting from a CD.
23389
23390 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
23391 longer.
23392 (root_drive): New variable.
23393 (real_start): Unconditionally set %dh to ROOT_DRIVE.
23394 (setup_sectors): Push %dx right after popping it, because %dh will
23395 be modified later.
23396 (copy_buffer): Restore %dx.
23397
e0ca0677 233982008-02-03 Robert Millan <rmh@aybabtu.com>
23399
23400 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
23401 use `cdboot.img' for cdrom images.
23402
3b3f6629 234032008-02-03 Robert Millan <rmh@aybabtu.com>
23404
23405 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
23406 only setup gfxterm when `font' command has succeeded.
23407
d42b3672 234082008-02-03 Robert Millan <rmh@aybabtu.com>
23409
23410 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
23411 (grub_rescue_cmd_multiboot_loader)
23412 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
23413
fa370ea6 234142008-02-03 Pavel Roskin <proski@gnu.org>
23415
e0c5dacb 23416 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 23417 %edx and %esi from stack only after grub_gate_a20() is called.
23418 grub_gate_a20() clobbers %edx.
23419
f2a76e1d 234202008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23421
23422 * configure.ac (AC_INIT): Bumped to 1.96.
23423
23424 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
23425 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
23426 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
23427 video/readers/png.c.
23428
90fd32d1 234292008-02-03 Bean <bean123ch@gmail.com>
9be665dd 23430
23431 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
23432 (cdboot_img_SOURCES): New variable.
23433 (cdboot_img_ASFLAGS): New variable.
23434 (cdboot_img_LDFLAGS): New variable.
23435
23436 * boot/i386/pc/cdboot.S: New file.
23437
23438 * disk/i386/pc/biosdisk.c (cd_start): New variable.
23439 (cd_count): Likewise.
23440 (grub_biosdisk_get_drive): Add support for cd device.
23441 (grub_biosdisk_call_hook): Likewise.
23442 (grub_biosdisk_iterate): Likewise.
23443 (grub_biosdisk_open): Likewise.
23444 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
23445 (grub_biosdisk_rw): Support reading from cd device.
23446 (GRUB_MOD_INIT): Iterate cd devices.
23447
23448 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
23449 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
23450 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
23451
23452 * kern/i386/pc/init.c (make_install_device): Check for cd device.
23453
4020aa53 234542008-02-02 Robert Millan <rmh@aybabtu.com>
23455
23456 * commands/read.c: New file.
23457 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
23458 (read_mod_SOURCES): New variable.
23459 (read_mod_CFLAGS): Likewise.
23460 (read_mod_LDFLAGS): Likewise.
23461
e03a1132 234622008-02-02 Robert Millan <rmh@aybabtu.com>
23463
23464 * normal/main.c (grub_normal_execute): Check for `menu->size' when
23465 determining whether menu has to be displayed.
23466
58c69220 234672008-02-02 Marco Gerards <marco@gnu.org>
23468
23469 * bus/pci.c: New file.
23470
23471 * include/grub/pci.h: Likewise.
23472
23473 * include/grub/i386/pc/pci.h: Likewise.
23474
23475 * commands/lspci.c: Likewise.
23476
23477 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
23478 `lspci.mod'.
23479 (pci_mod_SOURCES): New variable.
23480 (pci_mod_CFLAGS): Likewise.
23481 (pci_mod_LDFLAGS): Likewise.
23482 (lspci_mod_SOURCES): Likewise.
23483 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 23484 (lspci_mod_LDFLAGS): Likewise.
58c69220 23485
c004e1b4 234862008-02-02 Bean <bean123ch@gmail.com>
23487
23488 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
23489 (grub_ufs_get_file_block): Fix indirect block calculation problem.
23490
23491 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
23492 (grub_xfs_btree_node): New structure.
23493 (grub_xfs_btree_root): New structure.
23494 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
23495 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
23496 (GRUB_XFS_EXTENT_BLOCK): Likewise.
23497 (GRUB_XFS_EXTENT_SIZE): Likewise.
23498 (grub_xfs_read_block): Support btree format type.
23499 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
23500 Use directory block as basic unit.
23501
23502 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
23503
23504 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
23505 __attribute__ ((__regparm__ (1))).
23506
f95562bf 235072008-02-01 Robert Millan <rmh@aybabtu.com>
23508
23509 Correct a mistake in previous commit.
23510
23511 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
23512 top.
23513 (normal/command.c_DEPENDENCIES): New variable.
23514
7d31f41f 235152008-02-01 Robert Millan <rmh@aybabtu.com>
23516
23517 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
23518 top.
23519 (normal/command.c_DEPENDENCIES): New variable.
23520 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
23521 * conf/i386-ieee1275.rmk: Likewise.
23522 * conf/i386-linuxbios.rmk: Likewise.
23523 * conf/i386-pc.rmk: Likewise.
23524 * conf/sparc64-ieee1275.rmk: Likewise.
23525 * conf/powerpc-ieee1275.rmk: Likewise.
23526 (grub_emu_SOURCES): Add `fs/fshelp.c'.
23527
23528 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
23529
60b6be74 235302008-02-01 Robert Millan <rmh@aybabtu.com>
23531
23532 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
23533 call at beginning of function.
23534
078522ab 235352008-01-31 Pavel Roskin <proski@gnu.org>
23536
23537 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 23538 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
23539 (grub_mkrescue_SOURCES): Likewise.
078522ab 23540 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
23541
ccaa8a5f 235422008-01-30 Robert Millan <rmh@aybabtu.com>
23543
23544 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
23545 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
23546 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
23547 (grub_probe_SOURCES): ... to here.
23548
23549 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
23550 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
23551 * conf/i386-ieee1275.rmk: Likewise.
23552 * conf/i386-linuxbios.rmk: Likewise.
23553 * conf/powerpc-ieee1275.rmk: Likewise.
23554
ae5a9cd7 235552008-01-30 Tristan Gingold <gingold@free.fr>
23556
23557 * kern/rescue.c: Silently accept empty lines.
23558
70bc2ef2 235592008-01-29 Bean <bean123ch@gmail.com>
23560
23561 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
23562 (real_code_2): Code cleanup and change comment style.
23563 (move_memory): Avoid using 32-bit address mode.
23564
6a4d50ea 235652008-01-29 Bean <bean123ch@gmail.com>
23566
23567 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
23568 (png_mod_SOURCES): New variable.
23569 (png_mod_CFLAGS): Likewise.
23570 (png_mod_LDFLAGS): Likewise.
23571
23572 * video/readers/png.c: New file.
23573
11cc30ac 235742008-01-28 Robert Millan <rmh@aybabtu.com>
23575
23576 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
23577 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
23578 `ifndef GRUB_MOD_GAP' hack.
23579 * util/elf/grub-mkimage.c (add_segments): Likewise.
23580
3abc589f 235812008-01-27 Robert Millan <rmh@aybabtu.com>
23582
23583 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
23584 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 23585 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 23586
e1907778 235872008-01-27 Robert Millan <rmh@aybabtu.com>
23588
23589 Get grub-emu to build again (including parallel builds).
23590
23591 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
23592 Split into ...
23593 (util/grub-emu.c_DEPENDENCIES): ... this, ...
23594 (normal/execute.c_DEPENDENCIES): ... this, ...
23595 (grub-emu_DEPENDENCIES): ... and this.
23596
23597 * conf/i386-efi.rmk: Likewise.
23598 * conf/i386-linuxbios.rmk: Likewise.
23599 * conf/i386-ieee1275.rmk: Likewise.
23600 * conf/powerpc-ieee1275.rmk: Likewise.
23601 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
23602
2216b101 236032008-01-27 Robert Millan <rmh@aybabtu.com>
23604
23605 * NEWS: Add a few items.
23606
f75172d9 236072008-01-27 Robert Millan <rmh@aybabtu.com>
23608
23609 Fix parallel builds with grub-emu. Based on earlier commit for
23610 grub-probe and grub-setup.
23611
23612 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23613 (util/grub-emu.c_DEPENDENCIES): ... this.
23614 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23615 (util/grub-emu.c_DEPENDENCIES): ... this.
23616 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23617 (util/grub-emu.c_DEPENDENCIES): ... this.
23618 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23619 (util/grub-emu.c_DEPENDENCIES): ... this.
23620 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23621 (util/grub-emu.c_DEPENDENCIES): ... this.
23622
3f51de77 236232008-01-27 Pavel Roskin <proski@gnu.org>
23624
23625 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
23626 to create a gap between _end and the modules added to the image
23627 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
23628 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
23629 * util/elf/grub-mkimage.c (add_segments): Likewise.
23630
2033f53e 236312008-01-26 Pavel Roskin <proski@gnu.org>
23632
23633 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
23634 just return an error.
23635
22da1f6f 236362008-01-26 Bean <bean123ch@gmail.com>
23637
23638 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
23639 (grub_reiserfs_get_item): Save offset of the next item.
23640 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
23641
2a9525e6 236422008-01-25 Robert Millan <rmh@aybabtu.com>
23643
23644 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
23645 make all filesystem sources appear together (possibly fixing omissions
23646 while at it).
23647 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23648 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23649 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23650 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23651
23652 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
23653 add `kern/file.c'.
23654 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
23655 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23656 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
23657 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23658
23659 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
23660 (probe): Add a sanity check to make sure of our ability to read
23661 requested files when probing for filesystem type.
23662
23663 * genmk.rb: Update copyright year (2007).
23664
23665 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
23666 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
23667 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
23668 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
23669 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
23670 : Remove function prototypes.
23671
b95f71b5 236722008-01-25 Robert Millan <rmh@aybabtu.com>
23673
23674 Revert my previous commits (based on wrong assumption of how grub_errno
23675 works).
23676
fe6b695a 23677 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 23678 * kern/file.c (grub_file_open): Likewise.
23679
d08bbb49 236802008-01-24 Pavel Roskin <proski@gnu.org>
23681
23682 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
23683 that hang if GRUB tries to setup colors.
23684 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
23685 colors for firmwares that don't support it.
23686 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
23687 Recognize Open Hack'Ware, set flags to work around its
23688 limitations.
23689
605e36ed 236902008-01-24 Robert Millan <rmh@aybabtu.com>
23691
23692 * kern/file.c (grub_file_open): Do not account previous failures of
23693 unrelated functions when grub_errno is checked for.
23694 Reported by Oleg Strikov.
23695
bac332a1 236962008-01-24 Bean <bean123ch@gmail.com>
23697
23698 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
23699 (grub_ufs_sblock): New member volume name.
23700 (grub_ufs_find_file): Fix string copy bug.
23701 (grub_ufs_label): Implement this function properly.
23702
23703 * fs/hfs.c (grub_hfs_cnid_type): New enum.
23704 (grub_hfs_iterate_records): Use the correct file number for extents
23705 and catalog file. Fix problem in next index calculation.
23706 (grub_hfs_find_node): Replace recursive function call with loop.
23707 (grub_hfs_iterate_dir): Replace recursive function call with loop.
23708
15c80c09 237092008-01-23 Robert Millan <rmh@aybabtu.com>
23710
23711 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
23712 `<grub/symbol.h>' and `<grub/multiboot.h>'.
23713 (grub_multiboot2_real_boot): New function prototype.
23714
23715 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
23716 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
23717
23718 * kern/i386/ieee1275/init.c (grub_os_area_addr)
23719 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
23720
305338fd 237212008-01-23 Robert Millan <rmh@aybabtu.com>
23722
23723 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
23724 #ifdef'ed out grub_printf().
23725
3ea52685 237262008-01-23 Robert Millan <rmh@aybabtu.com>
23727
23728 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
23729 grub_dprintf calls, since they make "debug=all" mode unusable.
23730 (grub_console_checkkey): Likewise.
23731
5882ae4b 237322008-01-23 Robert Millan <rmh@aybabtu.com>
23733
23734 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23735 `term/i386/pc/at_keyboard.c'.
23736 (pkglib_MODULES): Add `serial.mod'.
23737 (serial_mod_SOURCES): New variable.
23738 (serial_mod_CFLAGS): Likewise.
23739 (serial_mod_LDFLAGS): Likewise.
23740
23741 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
23742 `<grub/powerpc/ieee1275/console.h>'.
23743 (grub_keyboard_controller_init): New function prototype.
23744 (grub_console_checkkey): Likewise.
23745 (grub_console_getkey): Likewise.
23746
23747 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
23748 keyboard on i386.
23749
23750 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
23751 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
23752
06ab5303 237532008-01-23 Robert Millan <rmh@aybabtu.com>
23754
23755 * kern/i386/pc/init.c (make_install_device): When memdisk image is
23756 present, "(memdisk)/boot/grub" becomes the default prefix.
23757
23758 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
23759 a memdisk tarball with all the modules. Add --overlay=DIR option that
23760 allows users to overlay additional files into the image.
23761
dbb475a4 237622008-01-23 Robert Millan <rmh@aybabtu.com>
23763
23764 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
23765 and `machine/memory.h'.
23766 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
23767 (_multiboot_mod_SOURCES): New variable.
23768 (_multiboot_mod_CFLAGS): Likewise.
23769 (_multiboot_mod_LDFLAGS): Likewise.
23770 (multiboot_mod_SOURCES): Likewise.
23771 (multiboot_mod_CFLAGS): Likewise.
23772 (multiboot_mod_LDFLAGS): Likewise.
23773
23774 * include/grub/i386/ieee1275/loader.h: New file.
23775
23776 * include/grub/i386/ieee1275/machine.h: Likewise.
23777
23778 * include/grub/i386/ieee1275/memory.h: Likewise.
23779
23780 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
23781 variable declaration.
23782 (grub_os_area_size): Likewise.
23783
23784 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
23785 (grub_lower_mem, grub_upper_mem): New variables.
23786 (grub_stop_floppy): New function (just to make
23787 grub_multiboot2_real_boot() happy).
23788
23789 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
23790 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
23791 (grub_stop): New function.
23792 Include `"../realmode.S"' and `"../loader.S"'.
23793
23794 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
23795 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
23796
23797 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
23798 rely on grub_multiboot2_real_boot() for final boot.
23799
25638629 238002008-01-22 Robert Millan <rmh@aybabtu.com>
23801
23802 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
23803 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
23804 device that doesn't look like an SD card.
23805 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
23806 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
23807 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
23808 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
23809 found.
23810
9dad816d 238112008-01-22 Robert Millan <rmh@aybabtu.com>
23812
23813 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
23814 avoid claiming over our own code.
23815
34842f2d 238162008-01-22 Bean <bean123ch@gmail.com>
23817
23818 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
23819 (jpeg_mod_SOURCES): New variable.
23820 (jpeg_mod_CFLAGS): Likewise.
23821 (jpeg_mod_LDFLAGS): Likewise.
23822
23823 * video/readers/jpeg.c : New file.
23824
44023a28 238252008-01-22 Bean <bean123ch@gmail.com>
23826
23827 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
23828 there are no more items.
23829
bc2d8ac6 238302008-01-21 Robert Millan <rmh@aybabtu.com>
23831
23832 * kern/mm.c (grub_mm_init_region): Improve debug message.
23833
261bd4bc 238342008-01-21 Robert Millan <rmh@aybabtu.com>
23835
23836 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
23837 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
23838 address.
23839 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
23840 a C macro.
23841 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
23842 Indicates start of upper memory.
23843 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
23844 (generate_image): Abort when image size is big enough to corrupt
23845 upper memory.
23846
23847 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
23848 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
23849 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23850 instead of hardcoding 0xA0000.
23851 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
23852 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23853 instead of hardcoding 0xA0000.
23854
f970b55e 238552008-01-21 Robert Millan <rmh@aybabtu.com>
23856
23857 * disk/memdisk.c (memdisk_size): New variable.
23858 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
23859 `memdisk_size'.
23860 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
23861 image to dynamic memory.
23862 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
23863 `memdisk_size'. Free memdisk block.
23864
1a8b0526 238652008-01-21 Robert Millan <rmh@aybabtu.com>
23866
23867 Fix detection of very small filesystems (like tar).
23868
23869 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
23870 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
23871 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
23872 a problem with this disk).
23873
6e9b4aab 238742008-01-21 Robert Millan <rmh@aybabtu.com>
23875
23876 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
23877 on grub_biosdisk_rw_standard() error.
23878
0d8837b2 238792008-01-21 Robert Millan <rmh@aybabtu.com>
23880
23881 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
23882 recent changes.
23883 * kern/elf.c: Likewise.
23884 * kern/ieee1275/ieee1275.c: Likewise.
23885 * kern/powerpc/ieee1275/openfw.c: Likewise.
23886 * term/ieee1275/ofconsole.c: Likewise.
23887
ffd36e34 238882008-01-21 Robert Millan <rmh@aybabtu.com>
23889
23890 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
23891
3f0093d0 23892 * include/grub/kernel.h (grub_arch_memdisk_addr)
23893 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 23894
3f0093d0 23895 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
23896 (grub_arch_memdisk_size): ... to here.
ffd36e34 23897
6c391b21 238982008-01-21 Robert Millan <rmh@aybabtu.com>
23899
23900 Mostly based on bugfix from Bean.
23901
23902 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
23903 attribute with hook() parameter.
23904 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
23905 declaration.
23906 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
23907 attribute with hook() parameter.
23908 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
23909 declaration.
23910
55a581dc 239112008-01-21 Robert Millan <rmh@aybabtu.com>
23912
23913 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
23914 (pkglib_MODULES): Add `memdisk.mod'.
23915 (memdisk_mod_SOURCES): New variable.
23916 (memdisk_mod_CFLAGS): Likewise.
23917 (memdisk_mod_LDFLAGS): Likewise.
23918
23919 * disk/memdisk.c: New file.
23920
23921 * include/grub/disk.h (grub_disk_dev_id): Add
23922 `GRUB_DISK_DEVICE_MEMDISK_ID'.
23923
23924 * include/grub/i386/pc/kernel.h
23925 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
23926 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
23927 (grub_kernel_image_size): New variable declaration.
23928 (grub_total_module_size): Likewise.
23929 (grub_memdisk_image_size): Likewise.
23930
23931 * include/grub/i386/pc/memory.h
23932 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
23933
23934 * include/grub/kernel.h: Include `<grub/symbol.h>'.
23935 (grub_arch_memdisk_addr): New variable declaration.
23936 (grub_arch_memdisk_size): Likewise.
23937
23938 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
23939 (grub_arch_memdisk_size): Likewise.
23940
23941 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
23942 (codestart): Replace hardcoded `0x100000' with
23943 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
23944
23945 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
23946 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
23947 not NULL, append the contents of the file it refers to, at the end of
23948 the compressed kernel image. Initialize `grub_memdisk_image_size'
23949 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
23950 (options): Add "memdisk"|'m' option.
23951 (main): Parse --memdisk|-m option, and pass user-provided path as
23952 parameter to generate_image().
23953
3d7f54c9 239542008-01-20 Robert Millan <rmh@aybabtu.com>
23955
23956 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
23957 grub_dprintf() calls from here ...
23958 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
23959
0bf74728 239602008-01-20 Robert Millan <rmh@aybabtu.com>
23961
23962 Fix detection of "real mode" when /options/real-mode? doesn't exist.
23963
23964 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
23965 declaration.
23966 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
23967 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
23968 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 23969 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 23970 property).
23971 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
23972 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
23973
33bf70a7 239742008-01-19 Robert Millan <rmh@aybabtu.com>
23975
fe6b695a 23976 Get rid of confusing function (superseded by
33bf70a7 23977 `grub_ieee1275_get_integer_property')
23978 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
23979 prototype.
23980 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
23981 function.
23982 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
23983 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 23984 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 23985
e2da7d26 239862008-01-19 Robert Millan <rmh@aybabtu.com>
23987
23988 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
23989 command after "shut-down", since implementations differ on which
23990 the command for halt is.
23991
59f1fd8d 239922008-01-19 Robert Millan <rmh@aybabtu.com>
23993
23994 * include/grub/i386/linuxbios/console.h: Add header protection.
23995 (grub_keyboard_controller_init): New function prototype.
23996 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
23997 (KEYBOARD_COMMAND_READ): Likewise.
23998 (KEYBOARD_COMMAND_WRITE): Likewise.
23999 (KEYBOARD_SCANCODE_SET1): Likewise.
24000 (grub_keyboard_controller_write): New function.
24001 (grub_keyboard_controller_read): Likewise.
24002 (grub_keyboard_controller_init): Likewise.
24003
24004 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
24005 (grub_console_init): On coreboot/LinuxBIOS, call
24006 grub_keyboard_controller_init().
24007
5f5a7c15 240082008-01-19 Robert Millan <rmh@aybabtu.com>
24009
24010 PowerPC changes provided by Pavel Roskin.
24011
24012 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
24013 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
24014 don't rely on cmain() doing it.
24015 * kern/i386/ieee1275/startup.S (_start): Store %eax in
24016 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
24017
1210e168 240182008-01-16 Robert Millan <rmh@aybabtu.com>
24019
24020 * include/grub/i386/linuxbios/memory.h
24021 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
24022 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
24023 receive `table_header' as argument. Instead, probe for it in the
24024 known memory ranges where it can be present.
24025 (grub_available_iterate): Do not pass a fixed `table_header' address
24026 to grub_linuxbios_table_iterate().
24027
3d04eab8 240282008-01-15 Robert Millan <rmh@aybabtu.com>
24029
24030 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
24031 * conf/i386-ieee1275.rmk: New file.
24032 * include/grub/i386/ieee1275/console.h: Likewise.
24033 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
24034 * include/grub/i386/ieee1275/kernel.h: Likewise.
24035 * include/grub/i386/ieee1275/time.h: Likewise.
24036 * kern/i386/ieee1275/init.c: Likewise.
24037 * kern/i386/ieee1275/startup.S: Likewise.
24038
d1bc1b73 240392008-01-15 Robert Millan <rmh@aybabtu.com>
24040
24041 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
24042 when pointers are 32-bit (but still do set it to one when they are
24043 64-bit).
24044
66a65807 240452008-01-15 Robert Millan <rmh@aybabtu.com>
24046
24047 * include/grub/ieee1275/ieee1275.h
24048 (grub_ieee1275_get_integer_property): New function prototype.
24049
24050 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
24051 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 24052 grub_ieee1275_get_property() to handle endianness.
66a65807 24053
24054 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
24055 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 24056 where appropriate.
66a65807 24057 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
24058 (grub_map): Likewise.
24059 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
24060
a83ccafd 240612008-01-15 Bean <bean123ch@gmail.com>
24062
24063 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
24064 (grub_script_execute_cmdline): Reset grub_errno.
24065
24066 * normal/main.c (read_config_file): Reset grub_errno.
24067
24068 * normal/parse.y (script_init): New.
24069 (script): Move function and menuentry here.
24070 (delimiter): New.
24071 (command): Add delimiter at the end of command.
24072 (commands): Adjust to match the new command.
24073 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 24074 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 24075 (if): Use the new commands.
24076
24077 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
24078
df6ecfc6 240792008-01-15 Robert Millan <rmh@aybabtu.com>
24080
24081 * normal/menu.c (run_menu): Move timeout message from here ...
24082 (print_timeout): ... to here.
24083 (run_menu): Use print_timeout() once during initial draw to print
24084 the whole message, and again in every clock tick to update only
24085 the number of seconds.
24086
87ae25eb 240872008-01-15 Robert Millan <rmh@aybabtu.com>
24088
24089 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
24090 actual size of `available' from grub_ieee1275_get_property(), and
24091 restrict parsing to that bound.
24092
47bf09a4 240932008-01-15 Christian Franke <franke@computer.org>
24094
24095 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
24096 (argp_program_version): Remove variable.
24097 (argp_program_bug_address): Likewise.
24098 (options): Convert from struct argp_option to struct option.
24099 (struct arguments): Remove.
24100 (parse_opt): Remove.
24101 (usage): New function.
24102 (main): Replace struct args members by simple variables.
24103 Replace argp_parse() by getopt_long().
24104 Add switch to evaluate options.
24105 Add missing "(...)" around root_dev in prefix string.
24106
c86f1469 241072008-01-14 Robert Millan <rmh@aybabtu.com>
24108
24109 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
24110 for grub_ieee1275_exit(), in order to improve portability.
24111
e622c559 241122008-01-14 Robert Millan <rmh@aybabtu.com>
24113
24114 * util/grub.d/10_linux.in (prefix): Define.
24115 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
24116
44cb1ec8 241172008-01-13 Pavel Roskin <proski@gnu.org>
24118
24119 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
24120 grub_errno if no errors have been detected.
24121
1eb8c802 241222008-01-12 Robert Millan <rmh@aybabtu.com>
24123
24124 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
24125 (grub_util_get_dev_abstraction): New function prototype.
24126
24127 * util/getroot.c: Include `<grub/util/getroot.h>'
24128 (grub_util_get_grub_dev): Move detection of abstraction type to ...
24129 (grub_util_get_dev_abstraction): ... here (new function).
24130
24131 * util/grub-probe.c: Convert PRINT_* to an enum. Add
24132 `PRINT_ABSTRACTION'.
24133 (probe): Probe for abstraction type when requested.
24134 (main): Understand `--target=abstraction'.
24135
24136 * util/i386/efi/grub-install.in: Add abstraction module to core
24137 image when it is found to be necessary.
24138 * util/i386/pc/grub-install.in: Likewise.
24139 * util/powerpc/ieee1275/grub-install.in: Likewise.
24140
24141 * util/update-grub_lib.in (font_path): Return system path without
24142 converting to GRUB path.
24143 * util/update-grub.in: Convert system path returned by font_path()
24144 to a GRUB path. Use `grub-probe -t abstraction' to determine what
24145 abstraction module is needed for loading fonts (if any). Export
24146 that as `GRUB_PRELOAD_MODULES'.
24147 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
24148 insmod commands).
24149
52bd3de9 241502008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
24151
24152 Remove some unused code from reiserfs.
f19dbdb7 24153
52bd3de9 24154 * fs/reiserfs.c (struct grub_reiserfs_key)
24155 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
24156 (struct grub_reiserfs_node_body): Removed.
24157 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24158 Likewise.
24159 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24160 Likewise.
24161 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24162 Likewise.
24163 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24164 Likewise.
24165 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24166 Likewise.
24167 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
24168 Likewise.
24169 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24170 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24171 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24172
2f80039d 241732008-01-10 Robert Millan <rmh@aybabtu.com>
24174
24175 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
24176 Determines if a file is garbage left by packaging systems, etc.
24177 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
24178 for processing /etc/grub.d scripts.
24179 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
24180 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
24181 as a condition for processing Linux images.
24182
87888032 241832008-01-10 Pavel Roskin <proski@gnu.org>
24184
24185 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
24186 to compile reiserfs.c on PowerPC.
24187
7e54fced 241882008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 24189
24190 * kern/device.c (grub_device_iterate): Do not abort device iteration
24191 when one of the devices cannot be opened.
24192 * kern/disk.c (grub_disk_open): Do not account previous failures of
24193 unrelated functions when grub_errno is checked for.
24194
5aa541e6 241952008-01-08 Robert Millan <rmh@aybabtu.com>
24196
24197 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
24198 `! grub_linux_is_bzimage', change order of address comparison to make
24199 it more intuitive, and improve "too big zImage" error message.
24200
7076340d 242012008-01-08 Robert Millan <rmh@aybabtu.com>
24202
24203 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
24204 `$(update-grub_DATA)'.
24205 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
24206 targets.
24207
9ca70333 242082008-01-07 Robert Millan <rmh@aybabtu.com>
24209
24210 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
24211 which instruction is modified by grub-setup during installation
24212 (since it wasn't obvious by only looking at this file).
24213
38ccf575 242142008-01-07 Robert Millan <rmh@aybabtu.com>
24215
24216 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
24217 listing actual TODO items.
24218
f5db4291 242192008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24220
868967cf 24221 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
24222 correctly.
24223 (grub_reiserfs_get_key_offset): Likewise.
24224 (grub_reiserfs_set_key_offset): Likewise.
24225 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 24226 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 24227
24228 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
24229 better to remove the bitfield version completely.
f19dbdb7 24230
868967cf 242312008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24232
f5db4291 24233 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
24234 allocated from the heap, due to the fshelp implementation.
24235 (grub_reiserfs_dir): Free NODE, due to the same reason.
24236
492e6d9d 242372008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24238
24239 Mostly from Vincent Pelletier:
f19dbdb7 24240
492e6d9d 24241 * fs/reiserfs.c: New file.
f19dbdb7 24242
492e6d9d 24243 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
24244 (reiserfs_mod_SOURCES): New variable.
24245 (reiserfs_mod_CFLAGS): Likewise.
24246 (reiserfs_mod_LDFLAGS): Likewise.
24247
24248 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
24249 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
24250 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
24251 normal/color.c.
24252
9ce3e7c1 242532008-01-06 Robert Millan <rmh@aybabtu.com>
24254
24255 * normal/color.c: Remove `<grub/env.h>'.
24256
f3b58148 242572008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
24258
24259 * include/grub/normal.h: Include <grub/env.h>.
24260
7ac3bcfa 242612008-01-05 Robert Millan <rmh@aybabtu.com>
24262
24263 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
24264 usage example with `(hd0,1)'.
fb358190 24265 Reported by Samuel Thibault.
7ac3bcfa 24266
c8ee99d7 242672008-01-05 Robert Millan <rmh@aybabtu.com>
24268
24269 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
24270 (grub_linux_boot_zimage): Rename to ...
24271 (grub_linux_boot): ... this.
24272 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
24273 (grub_linux_boot_zimage): Conditionalize zImage copy.
24274
24275 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
24276 (grub_linux_boot_bzimage): Remove prototype.
24277 (grub_linux_boot_zimage): Rename to ...
24278 (grub_linux_boot): ... this.
24279
24280 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
24281 (grub_linux_boot): Remove function.
24282
0ece25b1 242832008-01-05 Robert Millan <rmh@aybabtu.com>
24284
24285 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
24286 (grub_env_write_color_highlight): Likewise.
24287 (grub_wait_after_message): Likewise.
24288
24289 * normal/color.c: New file.
24290
24291 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24292 (normal_mod_DEPENDENCIES): Likewise.
24293
24294 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24295 (normal_mod_DEPENDENCIES): Likewise.
24296
24297 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24298 (normal_mod_DEPENDENCIES): Likewise.
24299
24300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24301 (normal_mod_DEPENDENCIES): Likewise.
24302
24303 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
24304 for waiting after a message is printed.
24305 * normal/main.c (read_config_file): Likewise.
24306 (grub_normal_init): Register grub_env_write_color_normal() and
24307 grub_env_write_color_highlight() hooks. Mark `color_normal' and
24308 `color_highlight' variables as global.
24309
24310 * normal/menu.c (grub_wait_after_message): New function.
24311 (grub_color_menu_normal): New variable. Replaces ...
24312 (GRUB_COLOR_MENU_NORMAL): ... this macro.
24313 (grub_color_menu_highlight): New variable. Replaces ...
24314 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
24315 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
24316 `GRUB_TERM_COLOR_STANDARD'.
24317 (print_message): Use `grub_setcolorstate' to reload colors. Rename
24318 `normal_code' and `highlight_code' to `old_color_normal' and
24319 `old_color_highlight', respectively.
24320 (grub_menu_init_page): Update colors when drawing the menu, based on
24321 `menu_color_normal' and `menu_color_highlight' variables.
24322 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
24323 a message is printed.
24324
182dd4e5 243252008-01-05 Robert Millan <rmh@aybabtu.com>
24326
24327 * kern/env.c (grub_env_context_open): Propagate hooks for global
24328 variables to new context.
24329
24330 * kern/main.c (grub_set_root_dev): Export `root' variable.
24331
ddf8f6ad 243322008-01-05 Robert Millan <rmh@aybabtu.com>
24333
24334 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 24335 discs unconditionally, since udev and others have options to provide
ddf8f6ad 24336 them.
24337
d8b43d9b 243382008-01-05 Robert Millan <rmh@aybabtu.com>
24339
24340 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
24341
2bff2de3 243422008-01-04 Christian Franke <franke@computer.org>
24343
24344 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
24345 of eisa_mmap.
24346
97eab917 243472008-01-03 Pavel Roskin <proski@gnu.org>
24348
24349 * kern/i386/linuxbios/init.c: Put "void" to all function
24350 declarations with no arguments.
24351 * kern/powerpc/ieee1275/init.c: Likewise.
24352 * term/i386/pc/at_keyboard.c: Likewise.
24353 * term/i386/pc/vga_text.c: Likewise.
24354 * util/grub-mkdevicemap.c: Likewise.
24355
b9416d00 243562008-01-02 Robert Millan <rmh@aybabtu.com>
24357
24358 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
24359 message when loaded image is out of bounds.
24360 (grub_multiboot_load_elf64): Likewise.
24361
92695df9 243622008-01-02 Pavel Roskin <proski@gnu.org>
24363
24364 * util/grub.d/10_linux.in: Try version without ".old" when
24365 looking for initrd. It's better to use initrd from the newer
24366 kernel of the same version than no initrd at all.
24367
d98d9cad 243682008-01-01 Robert Millan <rmh@aybabtu.com>
24369
24370 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
24371
dbfdce36 243722008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
24373
f19dbdb7 24374 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 24375 grub_video_get_active_render_target.
24376 (grub_video_adapter): Added unmap_color and get_active_render_target.
24377
f19dbdb7 24378 * video/video.c: Added grub_video_unmap_color and
dbfdce36 24379 grub_video_get_active_render_target.
24380 (grub_video_get_info): Changed method to accept NULL pointer as an
24381 argument to allow detection of active video adapter.
24382
24383 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
24384 grub_video_vbe_unmap_color_int.
24385 Added grub_video_vbe_unmap_color and
24386 grub_video_vbe_get_active_render_target.
24387 (grub_video_vbe_adapter): Added unmap_color and
24388 get_active_render_target.
24389
f19dbdb7 24390 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 24391 with grub_video_vbe_unmap_color_int.
24392
24393 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
24394 (DEFAULT_NORMAL_COLOR): Likewise.
24395 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
24396 (DEFAULT_FG_COLOR): Removed.
24397 (DEFAULT_BG_COLOR): Likewise.
24398 (DEFAULT_CURSOR_COLOR): Changed value.
24399 (grub_virtual_screen): Added standard_color_setting,
24400 normal_color_setting, highlight_color_setting and term_color.
24401 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
24402 (bitmap_width): Added.
24403 (bitmap_height): Likewise.
24404 (bitmap): Likewise.
24405 (set_term_color): Likewise.
24406 (grub_virtual_screen_setup): Changed to use new terminal coloring
24407 settings.
24408 (grub_gfxterm_init): Added init for bitmap.
24409 (grub_gfxterm_fini): Added destroy for bitmap.
24410 (redraw_screen_rect): Updated to use background bitmap and new
24411 terminal coloring.
24412 (scroll_up): Added optimization for case when there is no bitmap.
24413 (grub_gfxterm_cls): Fixed to use correct background color.
24414 (grub_virtual_screen_setcolorstate): Changed to use new terminal
24415 coloring.
24416 (grub_virtual_screen_setcolor): Likewise.
24417 (grub_virtual_screen_getcolor): Added.
24418 (grub_gfxterm_background_image_cmd): Likewise.
24419 (grub_video_term): Added setcolor and getcolor.
24420 (MOD_INIT): Added registration of background_image command.
24421 (MOD_TERM): Added unregistration for background_image command.
24422
c3c20931 244232007-12-30 Pavel Roskin <proski@gnu.org>
24424
24425 * loader/multiboot_loader.c: Fix multiboot command
24426 unregistration. Fix all typos in the word "multiboot".
24427
df266716 244282007-12-29 Pavel Roskin <proski@gnu.org>
94239199 24429
24430 * util/grub.d/10_linux.in: Refactor search for initrd. Add
24431 support for initrd names used in Fedora.
24432
fc6e896c 244332007-12-26 Bean <bean123ch@gmail.com>
24434
24435 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
24436 (cpio_mod_SOURCES): New variable.
24437 (cpio_mod_CFLAGS): Likewise.
24438 (cpio_mod_LDFLAGS): Likewise.
24439
24440 * fs/cpio.c: New file.
24441
24442 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
24443
24444 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24445
24446 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24447
24448 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24449
533110ad 244502007-12-25 Robert Millan <rmh@aybabtu.com>
24451
24452 * include/grub/term.h (struct grub_term): Add `getcolor' function.
24453 (grub_getcolor): New function.
24454
24455 * kern/term.c (grub_getcolor): New function.
24456 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
24457 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
24458 (print_entry): Set normal and highlight colors to
24459 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
24460 respectively, before printing and restore them to old
24461 values afterwards.
24462 (grub_menu_init_page): Likewise. Fill an additional colored space
24463 that would otherwise be left blank.
24464
24465 * term/efi/console.c (grub_console_getcolor): New function.
24466 (struct grub_console_term.getcolor): New variable.
24467 * term/i386/pc/console.c (grub_console_getcolor): New function.
24468 (struct grub_console_term.getcolor): New variable.
24469 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
24470 (struct grub_console_term.getcolor): New variable.
24471
24472 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
24473 (struct grub_console_term.setcolor): Remove variable.
24474 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
24475 (struct grub_console_term.setcolor): Remove variable.
24476 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
24477 (struct grub_console_term.setcolor): Remove variable.
24478 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
24479 (struct grub_console_term.setcolor): Remove variable.
24480
4931827f 244812007-12-25 Robert Millan <rmh@aybabtu.com>
24482
24483 * configure.ac: Search for possible unifont.hex locations, and
24484 define UNIFONT_HEX if found.
24485
24486 * Makefile.in (UNIFONT_HEX): Define variable.
24487 (DATA): Rename to ...
24488 (PKGLIB): ... this. Update all users.
24489 (PKGDATA): New variable.
24490 (pkgdata_IMAGES): Rename to ...
24491 (pkglib_IMAGES): ... this. Update all users.
24492 (pkgdata_MODULES): Rename to ...
24493 (pkglib_MODULES): ... this. Update all users.
24494 (pkgdata_PROGRAMS): Rename to ...
24495 (pkglib_PROGRAMS): ... this. Update all users.
24496 (pkgdata_DATA): Rename to ...
24497 (pkglib_DATA): ... this. Update all users.
24498 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
24499 (unicode.pff, ascii.pff): New rules.
24500 (all-local): Add `$(PKGDATA)' dependency.
24501 (install-local): Process `$(PKGDATA)'.
24502
24503 * util/update-grub_lib.in (font_path): Search for *.pff files in
24504 a few more locations, including `${pkgdata}'.
24505
57e57e31 245062007-12-23 Robert Millan <rmh@aybabtu.com>
24507
24508 Patch from Bean <bean123ch@gmail.com>:
24509 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
24510 `size'.
24511
4bc72aa9 245122007-12-21 Bean <bean123ch@gmail.com>
24513
24514 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
24515 (ntfscomp_mod_SOURCES): New variable.
24516 (ntfscomp_mod_CFLAGS): Likewise.
24517 (ntfscomp_mod_LDFLAGS): Likewise.
24518
24519 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
24520 (grub_probe_SOURCES): Likewise.
24521 (grub_emu_SOURCES): Likewise.
24522
24523 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24524 (grub_emu_SOURCES): Likewise.
24525
24526 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24527 (grub_emu_SOURCES): Likewise.
24528
24529 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24530 (grub_emu_SOURCES): Likewise.
24531
24532 * fs/ntfs.c (grub_ntfscomp_func): New variable.
24533 (read_run_list): Renamed to grub_ntfs_read_run_list.
24534 (decomp_nextvcn): Moved to ntfscomp.c.
24535 (decomp_getch): Likewise.
24536 (decomp_get16): Likewise.
24537 (decomp_block): Likewise.
24538 (read_block): Likewise.
24539 (read_data): Partially moved to ntfscomp.c.
24540 (fixup): Change unsigned to grub_uint16_t.
24541 (read_mft): Change unsigned long to grub_uint32_t.
24542 (read_attr): Likewise.
24543 (read_data): Likewise.
24544 (read_run_data): Likewise.
24545 (read_run_list): Likewise.
24546 (read_mft): Likewise.
24547
24548 * fs/ntfscomp.c: New file.
24549
24550 * include/grub/ntfs.h: New file.
24551
af680a87 245522007-12-16 Robert Millan <rmh@aybabtu.com>
24553
24554 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
24555 IDE disk check, since Linux is known to support 20 IDE disks.
24556 Reported by Colin Watson.
24557
84be7599 245582007-12-15 Bean <bean123ch@gmail.com>
24559
24560 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
24561 (lnxboot_img_SOURCES): New variable.
24562 (lnxboot_img_ASFLAGS): Likewise.
24563 (lnxboot_img_LDFLAGS): Likewise.
24564
24565 * boot/i386/pc/lnxboot.S: New file.
24566
6af9db01 245672007-11-24 Pavel Roskin <proski@gnu.org>
24568
24569 * configure.ac: Test if '--build-id=none' is supported by the
24570 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
24571 objcopy to generate incorrect binary files (binutils
24572 2.17.50.0.18-1 as shipped by Fedora 8).
24573 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
24574 linking, so that build ID doesn't break the test.
24575
7361cfe6 245762007-11-24 Pavel Roskin <proski@gnu.org>
24577
24578 * include/grub/i386/time.h: use "void" in the argument list
24579 of grub_cpu_idle().
24580 * include/grub/powerpc/time.h: Likewise.
24581 * include/grub/sparc64/time.h: Likewise.
24582
1593e10c 245832007-11-18 Christian Franke <franke@computer.org>
24584
24585 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
24586 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
24587 This fixes the problem that function keys did not work in grub-emu.
24588
3b8db1a8 245892007-11-18 Christian Franke <franke@computer.org>
24590
24591 * disk/host.c (grub_host_open): Remove attribute unused from
24592 name parameter. Add check for "host". This fixes the problem
24593 that grub-emu does not find partitions.
24594
2e29408d 245952007-11-18 Christian Franke <franke@computer.org>
24596
24597 * util/hostfs.c (is_dir): New function.
24598 (grub_hostfs_dir): Handle missing dirent.d_type case.
24599 (grub_hostfs_read): Add missing fseek().
24600 (grub_hostfs_label): Clear label pointer. This fixes a crash
24601 of grub-emu on "ls (host)".
24602
398cd047 246032007-11-18 Christian Franke <franke@computer.org>
24604
24605 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
24606 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
24607 to 64 bit boundary by default.
24608
c405c391 246092007-11-18 Bean <bean123ch@gmail.com>
24610
24611 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
24612 (hexdump_mod_SOURCES): New variable.
24613 (hexdump_mod_CFLAGS): Likewise.
24614 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 24615
c405c391 24616 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24617
24618 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24619
24620 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24621
24622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24623
24624 * include/grub/hexdump.h: New file.
24625
24626 * commands/hexdump.c: New file.
24627
5cced7fd 246282007-11-10 Robert Millan <rmh@aybabtu.com>
24629
24630 * commands/i386/pc/play.c (beep_off): Switch order of arguments
24631 in grub_outb() calls.
24632 (beep_on): Likewise.
24633
8b714eb0 246342007-11-10 Christian Franke <franke@computer.org>
24635
24636 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
24637 (grub_menu_run): Likewise.
24638
ce0f1839 246392007-11-10 Robert Millan <rmh@aybabtu.com>
24640
24641 * include/grub/i386/efi/machine.h: New file.
24642 * include/grub/i386/linuxbios/machine.h: Likewise.
24643 * include/grub/i386/pc/machine.h: Likewise.
24644 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24645 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24646
24647 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
24648 (serial_hw_io_addr): New variable.
24649 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
24650 instead of `(unsigned short *) 0x400'.
24651
270c237d 246522007-11-10 Bean <bean123ch@gmail.com>
24653
24654 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
24655
a87783bf 246562007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24657
24658 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
24659 (vga_mod_SOURCES): Added.
24660 (vga_mod_CFLAGS): Likewise.
24661 (vga_mod_LDFLAGS): Likewise.
24662
24663 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
24664 grub_outb() calls.
24665 (set_map_mask): Likewise.
24666 (set_read_map): Likewise.
24667 (set_read_address): Likewise.
24668 (vga_font): Removed variable.
24669 (get_vga_glyph): Removed function.
24670 (invalidate_char): Likewise.
24671 (write_char): Changed to use grub_font_get_glyph() for font
24672 information.
24673 (grub_vga_putchar): Likewise.
24674 (grub_vga_getcharwidth): Likewise.
24675
6433b448 246762007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24677
24678 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
24679 flags.
24680 (pxeboot_img_LDFLAGS): Likewise.
24681 (diskboot_img_LDFLAGS): Likewise.
24682 (kernel_img_LDFLAGS): Likewise.
24683
49178511 246842007-11-06 Robert Millan <rmh@aybabtu.com>
24685
24686 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
24687 in grub_outb() calls.
24688 (serial_hw_init): Likewise.
24689
53b052de 246902007-11-05 Robert Millan <rmh@aybabtu.com>
24691
24692 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
24693 spaces. Skip non-regular files.
24694
5ab33bba 246952007-11-05 Robert Millan <rmh@aybabtu.com>
24696
24697 * kern/disk.c (grub_disk_firmware_fini)
24698 (grub_disk_firmware_is_tainted): New variables.
24699
24700 * include/grub/disk.h (grub_disk_firmware_fini)
24701 (grub_disk_firmware_is_tainted): Likewise.
24702
24703 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
24704 (grub_disk_biosdisk_fini): ... to here.
24705 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
24706 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
24707 is set. Register grub_disk_biosdisk_fini() in
24708 `grub_disk_firmware_fini'.
24709
24710 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
24711 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
24712 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
24713 to finish existing firmware disk interface.
24714
24715 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
24716 (ata_mod_SOURCES): New variable.
24717 (ata_mod_CFLAGS): Likewise.
24718 (ata_mod_LDFLAGS): Likewise.
24719
0149ab7c 247202007-11-05 Robert Millan <rmh@aybabtu.com>
24721
24722 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
24723 (grub_ata_wait): Reimplement using grub_millisleep().
24724
24725 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
24726 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
24727
be7ac41e 247282007-11-03 Marco Gerards <marco@gnu.org>
24729
24730 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
24731 (CRTC_ADDR_PORT): New macro.
24732 (CRTC_DATA_PORT): Likewise.
24733 (CRTC_CURSOR): Likewise.
24734 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24735 (CRTC_CURSOR_ADDR_LOW): Likewise.
24736 (update_cursor): New function.
24737 (grub_console_real_putchar): Call `update_cursor'.
24738 (grub_console_gotoxy): Likewise.
24739 (grub_console_cls): Set the default color when clearing the
24740 screen.
24741 (grub_console_setcursor): Implemented.
24742
bb06ab2e 247432007-11-03 Marco Gerards <marco@gnu.org>
24744
24745 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
24746 become activate.
24747 (grub_ata_pio_write): Likewise.
24748
24749 (grub_atapi_identify): Wait after issuing an ATA command.
24750 (grub_atapi_packet): Likewise.
24751 (grub_ata_identify): Likewise.
24752 (grub_ata_readwrite): Likewise.
24753
cf8f780b 247542007-11-03 Marco Gerards <marco@gnu.org>
24755
24756 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
24757 (grub_ata_pio_write): Likewise.
24758 (grub_ata_readwrite): Use `grub_error', instead of
24759 returning `grub_errno'.
24760
ed649e54 247612007-11-03 Marco Gerards <marco@gnu.org>
24762
24763 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
24764 grub_ata_pio_write once for every single sector, instead of for
24765 multiple sectors.
24766
ca25d8f0 247672007-10-31 Robert Millan <rmh@aybabtu.com>
24768
24769 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
24770
24771 * conf/i386-linuxbios.rmk: New file.
24772
24773 * kern/i386/pc/hardware.c: Likewise.
24774 * term/i386/pc/at_keyboard.c: Likewise.
24775 * term/i386/pc/vga_text.c: Likewise.
24776
24777 * include/grub/i386/linuxbios/boot.h: Likewise.
24778 * include/grub/i386/linuxbios/console.h: Likewise.
24779 * include/grub/i386/linuxbios/init.h: Likewise.
24780 * include/grub/i386/linuxbios/kernel.h: Likewise.
24781 * include/grub/i386/linuxbios/loader.h: Likewise.
24782 * include/grub/i386/linuxbios/memory.h: Likewise.
24783 * include/grub/i386/linuxbios/serial.h: Likewise.
24784 * include/grub/i386/linuxbios/time.h: Likewise.
24785
24786 * kern/i386/linuxbios/init.c: Likewise.
24787 * kern/i386/linuxbios/startup.S: Likewise.
24788 * kern/i386/linuxbios/table.c: Likewise.
24789
e911ecc1 247902007-10-31 Marco Gerards <marco@gnu.org>
24791
24792 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
24793 (ata_mod_SOURCES): New variable.
24794 (ata_mod_CFLAGS): Likewise.
24795 (ata_mod_LDFLAGS): Likewise.
24796
24797 * disk/ata.c: New file.
24798
24799 * include/grub/disk.h (grub_disk_dev_id): Add
24800 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 24801
7f66d0e0 248022007-10-31 Robert Millan <rmh@aybabtu.com>
24803
24804 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
24805 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
24806
24807 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
24808 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
24809
24810 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
24811 `<grub/types.h>'.
24812
24813 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
24814
5cd7dd46 248152007-10-27 Robert Millan <rmh@aybabtu.com>
24816
3236ca65 24817 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 24818
2ebfc90f 248192007-10-22 Robert Millan <rmh@aybabtu.com>
24820
24821 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
24822 `"../realmode.S"'.
24823 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
24824
73fcb0f3 248252007-10-22 Robert Millan <rmh@aybabtu.com>
24826
24827 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
24828 (pkgdata_MODULES): Add `biosdisk.mod'.
24829 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
24830 variables.
24831
24832 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
24833 (grub_biosdisk_init): Replace with ...
24834 (GRUB_MOD_INIT(biosdisk)): ... this.
24835 (grub_biosdisk_fini): Replace with ...
24836 (GRUB_MOD_FINI(biosdisk)): ... this.
24837
24838 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
24839 (grub_machine_init): Remove call to grub_biosdisk_init().
24840 (grub_machine_fini): Remove call to grub_machine_fini().
24841
24842 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
24843
3381d274 248442007-10-22 Robert Millan <rmh@aybabtu.com>
24845
24846 * include/grub/time.h: New file.
24847 * include/grub/i386/time.h: Likewise.
24848 * include/grub/powerpc/time.h: Likewise.
24849 * include/grub/sparc64/time.h: Likewise.
24850
24851 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
24852 instances to ...
24853 (KERNEL_MACHINE_TIME_HEADER): ... this.
24854 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24855 instances to ...
24856 (KERNEL_MACHINE_TIME_HEADER): ... this.
24857 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24858 instances to ...
24859 (KERNEL_MACHINE_TIME_HEADER): ... this.
24860
24861 * kern/i386/efi/init.c: Include `<grub/time.h>'.
24862 (grub_millisleep): New function.
24863 * kern/i386/pc/init.c: Include `<grub/time.h>'.
24864 (grub_millisleep): New function.
24865 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
24866 Remove `grub/machine/time.h' include.
24867 (grub_millisleep): New function.
24868 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
24869 Remove `grub/machine/time.h' include.
24870 (grub_millisleep): New function.
24871
24872 * include/grub/misc.h (grub_div_roundup): New function.
24873
24874 * kern/misc.c: Include `<grub/time.h>'.
24875 (grub_millisleep_generic): New function.
24876
24877 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
24878 Add `time.h'.
24879 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
24880 Add `time.h'.
24881 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
24882 `machine/time.h'. Add `time.h'.
24883 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24884
a39a0312 248852007-10-21 Robert Millan <rmh@aybabtu.com>
24886
24887 * include/grub/misc.h (grub_max): New function.
24888
2aad70e2 248892007-10-21 Robert Millan <rmh@aybabtu.com>
24890
24891 * util/misc.c (grub_util_info): Call fflush() before returning.
24892
54b71c4b 248932007-10-20 Robert Millan <rmh@aybabtu.com>
24894
24895 * genmk.rb (Image): Copy `extra_flags' from here ...
24896 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
24897
24898 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
24899 to `argc' and `args' arguments.
24900
a979f513 249012007-10-17 Robert Millan <rmh@aybabtu.com>
24902
24903 * kern/i386/loader.S: New file.
24904
24905 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
24906 * kern/i386/loader.S (grub_linux_prot_size)... to here.
24907 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
24908 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
24909 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
24910 * kern/i386/loader.S (grub_linux_real_addr)... to here.
24911 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
24912 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
24913 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
24914 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
24915 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
24916 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
24917 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
24918 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
24919
24920 * kern/i386/realmode.S: New file.
24921
24922 * kern/i386/pc/startup.S (protstack): Moved from here ...
24923 * kern/i386/realmode.S (protstack)... to here.
24924 * kern/i386/pc/startup.S (gdt): Moved from here ...
24925 * kern/i386/realmode.S (gdt)... to here.
24926 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
24927 * kern/i386/realmode.S (prot_to_real)... to here.
24928
24929 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
24930 `kern/i386/realmode.S'.
24931
825fc8fd 249322007-10-17 Robert Millan <rmh@aybabtu.com>
24933
24934 * include/grub/i386/loader.h: New file.
24935
24936 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
24937 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
24938 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
24939 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
24940 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
24941 * include/grub/i386/loader.h (grub_linux_prot_size)
24942 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
24943 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
24944 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
24945 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
24946
24947 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
24948
e179b2f4 249492007-10-15 Robert Millan <rmh@aybabtu.com>
24950
24951 * normal/misc.c (grub_normal_print_device_info): Do not probe for
24952 filesystem when dev->disk is unset.
24953 Do probe for filesystem even when dev->disk->has_partitions is set.
24954 In case a filesystem is found, always report it.
24955 In case it isn't, if dev->disk->has_partitions is set, report that
24956 a partition table was found instead of reporting that no filesystem
24957 could be identified.
24958
5db82af6 249592007-10-12 Robert Millan <rmh@aybabtu.com>
24960
24961 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
24962 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
24963
68f6ac74 24964 * include/grub/types.h (grub_host_to_target16): New macro.
24965 (grub_host_to_target32): Likewise.
24966 (grub_host_to_target64): Likewise.
24967 (grub_target_to_host16): Likewise.
24968 (grub_target_to_host32): Likewise.
24969 (grub_target_to_host64): Likewise.
5db82af6 24970
24971 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
24972 Renamed from to ...
24973 (GRUB_MOD_ALIGN): ...this. Update all users.
24974
68f6ac74 24975 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
24976 grub_host_to_target32.
24977 Replace grub_be_to_cpu32 with grub_target_to_host32.
24978 (load_modules): Likewise.
24979 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
24980 Replace grub_be_to_cpu32 with grub_target_to_host32.
24981 Replace grub_cpu_to_be16 with grub_host_to_target16.
24982 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 24983
3cf497cc 249842007-10-12 Robert Millan <rmh@aybabtu.com>
24985
24986 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
24987 * util/elf/grub-mkimage.c: ... here.
24988
24989 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
24990 `util/powerpc/ieee1275/grub-mkimage.c'.
24991
c8cc3692 249922007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 24993
c8cc3692 24994 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
24995 and make it easier to figure out.
24996 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
24997 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
24998 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
24999 leave us with less than HEAP_MIN_SIZE total heap.
25000 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 25001
5c58b791 250022007-10-03 Robert Millan <rmh@aybabtu.com>
25003
25004 * include/grub/i386/io.h: New file.
25005 * commands/i386/pc/play.c (inb): Removed.
25006 (outb): Removed.
25007 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25008 with grub_outb().
afcd2ef8 25009 * term/i386/pc/serial.c (inb): Removed.
25010 (outb): Removed.
25011 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25012 with grub_outb().
25013 * term/i386/pc/vga.c (inb): Removed.
25014 (outb): Removed.
25015 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25016 with grub_outb().
5c58b791 25017
1a477ed6 250182007-10-02 Robert Millan <rmh@aybabtu.com>
25019
25020 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
25021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25022 Reported by Marcin Kurek.
25023
6b5d80fa 250242007-09-07 Robert Millan <rmh@aybabtu.com>
25025
25026 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
25027 SmartFirmware version updates (as released by Sven Luther), and avoid
25028 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
25029 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
25030 known broken.
25031
5618afbf 250322007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25033
25034 From Hitoshi Ozeki:
25035 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
25036 when merging two regions.
25037
6139dcd9 250382007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25039
508e39ee 25040 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
25041 * normal/completion.c (grub_normal_do_completion): Likewise.
25042 Reported by Hitoshi Ozeki.
25043
250442007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25045
6139dcd9 25046 Do not use devices at boot in chainloading.
f19dbdb7 25047
6139dcd9 25048 * loader/i386/pc/chainloader.c (boot_drive): New variable.
25049 (boot_part_addr): Likewise.
25050 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
25051 with BOOT_DRIVE and BOOT_PART_ADDR.
25052 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
25053 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
25054
38da6516 250552007-08-29 Robert Millan <rmh@aybabtu.com>
25056
25057 Patch from Simon Peter <dn.tlp@gmx.net>:
25058 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
25059 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
25060 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
25061 util/i386/pc/grub-setup.c_DEPENDENCIES.
25062 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
25063 util/grub-probe.c_DEPENDENCIES.
25064 * conf/powerpc-ieee1275.rmk: Likewise.
25065
29d0928c 250662007-08-28 Robert Millan <rmh@aybabtu.com>
25067
25068 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
25069 to tell grub-mkdevicemap how to name devices.
25070 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
25071 feature).
25072
25073 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
25074 util/i386/get_disk_name.c.
25075 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
25076 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
25077 util/ieee1275/get_disk_name.c.
25078
25079 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
25080
25081 * DISTLIST: Add util/i386/get_disk_name.c and
25082 util/ieee1275/get_disk_name.c.
25083
25084 * util/grub-mkdevicemap.c: Replace device naming logic with
25085 grub_util_get_disk_name() calls.
25086
5a0d3cca 250872007-08-20 Robert Millan <rmh@aybabtu.com>
25088
25089 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
25090 (so that it works for both plural and singular quantities).
25091
8b72db2f 250922007-08-05 Robert Millan <rmh@aybabtu.com>
25093
25094 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
25095 so that [xz] isn't taken into account when determining order.
25096
352466bf 250972007-08-02 Marco Gerards <marco@gnu.org>
25098
25099 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
25100 `include/multiboot2.h', `include/grub/elfload.h',
25101 `include/multiboot.h', `include/grub/multiboot.h',
25102 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
25103 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
25104 `kern/elf.c', `loader/multiboot_loader.c',
25105 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
25106 `loader/i386/pc/multiboot2.c',
25107 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
25108 `util/i386/pc/grub-mkrescue.in'. Remove
25109 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
25110 `include/grub/i386/pc/util/biosdisk.h' and
25111 `include/grub/powerpc/ieee1275/multiboot.h'.
25112
8f096014 251132007-08-02 Bean <bean123ch@gmail.com>
25114
25115 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
25116 (ntfs_mod_SOURCES): New variable.
25117 (ntfs_mod_CFLAGS): Likewise.
25118 (ntfs_mod_LDFLAGS): Likewise.
25119
25120 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
25121 (grub_probe_SOURCES): Likewise.
25122 (grub_emu_SOURCES): Likewise.
25123
25124 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25125 (grub_emu_SOURCES): Likewise.
25126
25127 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25128 (grub_emu_SOURCES): Likewise.
f19dbdb7 25129
8f096014 25130 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
25131
25132 * fs/ntfs.c: New file.
25133
9959f7db 251342007-08-02 Bean <bean123ch@gmail.com>
25135
25136 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
25137
25138 * file.h (grub_file): Likewise.
25139
25140 * fshelp.h (grub_fshelp_read_file): Likewise.
25141
25142 * util/i386/pc/grub-setup.c (setup): Likewise.
25143 (save_first_sector): Likewise.
25144 (save_blocklists): Likewise.
f19dbdb7 25145
9959f7db 25146 * fs/affs.c (grub_affs_read_file): Likewise.
25147
25148 * fs/ext2.c (grub_ext2_read_file): Likewise.
25149
25150 * fs/fat.c (grub_fat_read_data): Likewise.
25151
25152 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
25153
25154 * fs/hfs.c (grub_hfs_read_file): Likewise.
25155
25156 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25157
25158 * fs/jfs.c (grub_jfs_read_file): Likewise.
25159
25160 * fs/minix.c (grub_minix_read_file): Likewise.
25161
25162 * fs/sfs.c (grub_sfs_read_file): Likewise.
25163
25164 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 25165
9959f7db 25166 * fs/xfs.c (grub_xfs_read_file): Likewise.
25167
25168 * command/blocklist.c (read_blocklist): Likewise.
25169 (print_blocklist): Likewise.
25170
0a203f83 251712007-08-02 Marco Gerards <marco@gnu.org>
25172
25173 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
25174 `util/hostfs.c'.
25175
25176 * disk/host.c: New file.
25177
25178 * util/hostfs.c: Likewise.
25179
25180 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
25181 return `GRUB_ERR_BAD_FS'.
25182 * fs/sfs.c (grub_sfs_mount): Likewise.
25183 * fs/xfs.c (grub_xfs_mount): Likewise.
25184
25185 * include/grub/disk.h (enum grub_disk_dev_id): Add
25186 `GRUB_DISK_DEVICE_HOST_ID'.
25187
25188 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
25189
e5dfe777 251902007-07-24 Jerone Young <jerone@gmail.com>
25191
f19dbdb7 25192 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 25193 modules for compilation.
25194 * conf/powerpc-ieee1275.rmk: Likewise.
25195
25196 * include/multiboot.h: Move multiboot definitions to one file. Rename
25197 many definitions to not get grub specific.
25198 * include/multiboot2.h: Create header with multiboot 2 definitions.
25199 * include/grub/multiboot.h: Header for grub specific function
25200 prototypes and definitions.
25201 * include/grub/multiboot2.h: Likewise.
25202 * include/grub/multiboot_loader.h: Likewise.
25203 * include/grub/i386/pc/multiboot.h: Removed.
25204 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
25205
25206 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
25207 and 2 to allow for one multiboot and module commands.
25208 * loader/multiboot2.c: Add multiboot2 functionality.
25209 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
25210 and definition names.
25211 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
25212 2 functions.
25213 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
25214 ieee1275 specific multiboot2 code.
25215
25216 * kern/i386/pc/startup.S: Change headers and definition names for
25217 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
25218
daf0f0ba 252192007-07-22 Robert Millan <rmh@aybabtu.com>
25220
25221 * geninitheader.sh: Process file specified in first parameter rather
25222 than hardcoding grub_modules_init.lst.
fe6b695a 25223 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 25224 than hardcoding grub_modules_init.h.
25225
25226 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
25227 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
25228 grub_probe_init.[ch] and grub_setup_init.[ch].
25229
25230 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
25231 grub_modules_init.h with grub_emu_init.h.
25232 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
25233 grub_probe_init.[ch] files.
25234 * conf/i386-efi.rmk: Likewise.
25235 * conf/i386-pc.rmk: Likewise.
25236 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
25237 grub_setup_init.[ch] files.
25238
25239 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
25240 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
25241 to initialize modules rather than a list of hardcoded functions.
25242 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
25243 grub_init_all() to initialize modules rather than a list of hardcoded
25244 functions.
25245
54cdc1cc 252462007-07-22 Robert Millan <rmh@aybabtu.com>
25247
25248 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25249 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
25250
ad0686cc 252512007-07-22 Robert Millan <rmh@aybabtu.com>
25252
25253 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25254 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
25255 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
25256 flag when running on SmartFirmware.
25257 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
25258 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
25259 was set.
25260
25261 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25262 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
25263 rather than decreasing it.
25264
25265 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
25266 there's not enough space to do it, fail in the same way as when it
25267 can't be done because there are no partitions.
25268
25269 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
25270 when nvsetenv failed.
25271
969c02ec 252722007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25273
25274 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
25275 because this rule is automatically generated.
25276 (grub-mkrescue): Removed for the same reason as above.
25277
5a79f472 252782007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25279
25280 Migrate to GNU General Public License Version 3.
f19dbdb7 25281
5a79f472 25282 * COPYING: Replaced with the plain text version of GPLv3.
25283
25284 * config.guess: Updated from gnulib.
25285 * config.sub: Likewise.
25286
25287 * geninit.sh: Output a GPLv3 copyright notice.
25288 * geninitheader.sh: Likewise.
25289 * genmodsrc.sh: Likewise.
25290 * gensymlist.sh.in: Likewise.
25291
25292 * boot/i386/pc/boot.S: Upgraded to GPLv3.
25293 * boot/i386/pc/diskboot.S: Likewise.
25294 * boot/i386/pc/pxeboot.S: Likewise.
25295 * commands/blocklist.c: Likewise.
25296 * commands/boot.c: Likewise.
25297 * commands/cat.c: Likewise.
25298 * commands/cmp.c: Likewise.
25299 * commands/configfile.c: Likewise.
25300 * commands/echo.c: Likewise.
25301 * commands/help.c: Likewise.
25302 * commands/ls.c: Likewise.
25303 * commands/search.c: Likewise.
25304 * commands/terminal.c: Likewise.
25305 * commands/test.c: Likewise.
25306 * commands/videotest.c: Likewise.
25307 * commands/i386/cpuid.c: Likewise.
25308 * commands/i386/pc/halt.c: Likewise.
25309 * commands/i386/pc/play.c: Likewise.
25310 * commands/i386/pc/reboot.c: Likewise.
25311 * commands/i386/pc/vbeinfo.c: Likewise.
25312 * commands/i386/pc/vbetest.c: Likewise.
25313 * commands/ieee1275/halt.c: Likewise.
25314 * commands/ieee1275/reboot.c: Likewise.
25315 * commands/ieee1275/suspend.c: Likewise.
25316 * disk/loopback.c: Likewise.
25317 * disk/lvm.c: Likewise.
25318 * disk/raid.c: Likewise.
25319 * disk/efi/efidisk.c: Likewise.
25320 * disk/i386/pc/biosdisk.c: Likewise.
25321 * disk/ieee1275/ofdisk.c: Likewise.
25322 * font/manager.c: Likewise.
25323 * fs/affs.c: Likewise.
25324 * fs/ext2.c: Likewise.
25325 * fs/fat.c: Likewise.
25326 * fs/fshelp.c: Likewise.
25327 * fs/hfs.c: Likewise.
25328 * fs/hfsplus.c: Likewise.
25329 * fs/iso9660.c: Likewise.
25330 * fs/jfs.c: Likewise.
25331 * fs/minix.c: Likewise.
25332 * fs/sfs.c: Likewise.
25333 * fs/ufs.c: Likewise.
25334 * fs/xfs.c: Likewise.
25335 * hello/hello.c: Likewise.
25336 * include/grub/acorn_filecore.h: Likewise.
25337 * include/grub/arg.h: Likewise.
25338 * include/grub/bitmap.h: Likewise.
25339 * include/grub/boot.h: Likewise.
25340 * include/grub/cache.h: Likewise.
25341 * include/grub/device.h: Likewise.
25342 * include/grub/disk.h: Likewise.
25343 * include/grub/dl.h: Likewise.
25344 * include/grub/elfload.h: Likewise.
25345 * include/grub/env.h: Likewise.
25346 * include/grub/err.h: Likewise.
25347 * include/grub/file.h: Likewise.
25348 * include/grub/font.h: Likewise.
25349 * include/grub/fs.h: Likewise.
25350 * include/grub/fshelp.h: Likewise.
25351 * include/grub/gzio.h: Likewise.
25352 * include/grub/hfs.h: Likewise.
25353 * include/grub/kernel.h: Likewise.
25354 * include/grub/loader.h: Likewise.
25355 * include/grub/lvm.h: Likewise.
25356 * include/grub/misc.h: Likewise.
25357 * include/grub/mm.h: Likewise.
25358 * include/grub/net.h: Likewise.
25359 * include/grub/normal.h: Likewise.
25360 * include/grub/parser.h: Likewise.
25361 * include/grub/partition.h: Likewise.
25362 * include/grub/pc_partition.h: Likewise.
25363 * include/grub/raid.h: Likewise.
25364 * include/grub/rescue.h: Likewise.
25365 * include/grub/script.h: Likewise.
25366 * include/grub/setjmp.h: Likewise.
25367 * include/grub/symbol.h: Likewise.
25368 * include/grub/term.h: Likewise.
25369 * include/grub/terminfo.h: Likewise.
25370 * include/grub/tparm.h: Likewise.
25371 * include/grub/types.h: Likewise.
25372 * include/grub/video.h: Likewise.
25373 * include/grub/efi/api.h: Likewise.
25374 * include/grub/efi/chainloader.h: Likewise.
25375 * include/grub/efi/console.h: Likewise.
25376 * include/grub/efi/console_control.h: Likewise.
25377 * include/grub/efi/disk.h: Likewise.
25378 * include/grub/efi/efi.h: Likewise.
25379 * include/grub/efi/pe32.h: Likewise.
25380 * include/grub/efi/time.h: Likewise.
25381 * include/grub/i386/linux.h: Likewise.
25382 * include/grub/i386/setjmp.h: Likewise.
25383 * include/grub/i386/types.h: Likewise.
25384 * include/grub/i386/efi/kernel.h: Likewise.
25385 * include/grub/i386/efi/loader.h: Likewise.
25386 * include/grub/i386/efi/time.h: Likewise.
25387 * include/grub/i386/pc/biosdisk.h: Likewise.
25388 * include/grub/i386/pc/boot.h: Likewise.
25389 * include/grub/i386/pc/chainloader.h: Likewise.
25390 * include/grub/i386/pc/console.h: Likewise.
25391 * include/grub/i386/pc/init.h: Likewise.
25392 * include/grub/i386/pc/kernel.h: Likewise.
25393 * include/grub/i386/pc/loader.h: Likewise.
25394 * include/grub/i386/pc/memory.h: Likewise.
25395 * include/grub/i386/pc/multiboot.h: Likewise.
25396 * include/grub/i386/pc/serial.h: Likewise.
25397 * include/grub/i386/pc/time.h: Likewise.
25398 * include/grub/i386/pc/vbe.h: Likewise.
25399 * include/grub/i386/pc/vbeblit.h: Likewise.
25400 * include/grub/i386/pc/vbefill.h: Likewise.
25401 * include/grub/i386/pc/vbeutil.h: Likewise.
25402 * include/grub/i386/pc/vga.h: Likewise.
25403 * include/grub/ieee1275/ieee1275.h: Likewise.
25404 * include/grub/ieee1275/ofdisk.h: Likewise.
25405 * include/grub/powerpc/libgcc.h: Likewise.
25406 * include/grub/powerpc/setjmp.h: Likewise.
25407 * include/grub/powerpc/types.h: Likewise.
25408 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
25409 * include/grub/powerpc/ieee1275/console.h: Likewise.
25410 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
25411 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25412 * include/grub/powerpc/ieee1275/loader.h: Likewise.
25413 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
25414 * include/grub/powerpc/ieee1275/time.h: Likewise.
25415 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
25416 * include/grub/sparc64/libgcc.h: Likewise.
25417 * include/grub/sparc64/setjmp.h: Likewise.
25418 * include/grub/sparc64/types.h: Likewise.
25419 * include/grub/sparc64/ieee1275/console.h: Likewise.
25420 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25421 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25422 * include/grub/sparc64/ieee1275/time.h: Likewise.
25423 * include/grub/util/biosdisk.h: Likewise.
25424 * include/grub/util/getroot.h: Likewise.
25425 * include/grub/util/lvm.h: Likewise.
25426 * include/grub/util/misc.h: Likewise.
25427 * include/grub/util/raid.h: Likewise.
25428 * include/grub/util/resolve.h: Likewise.
25429 * io/gzio.c: Likewise.
25430 * kern/device.c: Likewise.
25431 * kern/disk.c: Likewise.
25432 * kern/dl.c: Likewise.
25433 * kern/elf.c: Likewise.
25434 * kern/env.c: Likewise.
25435 * kern/err.c: Likewise.
25436 * kern/file.c: Likewise.
25437 * kern/fs.c: Likewise.
25438 * kern/loader.c: Likewise.
25439 * kern/main.c: Likewise.
25440 * kern/misc.c: Likewise.
25441 * kern/mm.c: Likewise.
25442 * kern/parser.c: Likewise.
25443 * kern/partition.c: Likewise.
25444 * kern/rescue.c: Likewise.
25445 * kern/term.c: Likewise.
25446 * kern/efi/efi.c: Likewise.
25447 * kern/efi/init.c: Likewise.
25448 * kern/efi/mm.c: Likewise.
25449 * kern/i386/dl.c: Likewise.
25450 * kern/i386/efi/init.c: Likewise.
25451 * kern/i386/efi/startup.S: Likewise.
25452 * kern/i386/pc/init.c: Likewise.
25453 * kern/i386/pc/lzo1x.S: Likewise.
25454 * kern/i386/pc/startup.S: Likewise.
25455 * kern/ieee1275/ieee1275.c: Likewise.
25456 * kern/powerpc/cache.S: Likewise.
25457 * kern/powerpc/dl.c: Likewise.
25458 * kern/powerpc/ieee1275/cmain.c: Likewise.
25459 * kern/powerpc/ieee1275/crt0.S: Likewise.
25460 * kern/powerpc/ieee1275/init.c: Likewise.
25461 * kern/powerpc/ieee1275/openfw.c: Likewise.
25462 * kern/sparc64/cache.S: Likewise.
25463 * kern/sparc64/dl.c: Likewise.
25464 * kern/sparc64/ieee1275/init.c: Likewise.
25465 * kern/sparc64/ieee1275/openfw.c: Likewise.
25466 * loader/efi/chainloader.c: Likewise.
25467 * loader/efi/chainloader_normal.c: Likewise.
25468 * loader/i386/efi/linux.c: Likewise.
25469 * loader/i386/efi/linux_normal.c: Likewise.
25470 * loader/i386/pc/chainloader.c: Likewise.
25471 * loader/i386/pc/chainloader_normal.c: Likewise.
25472 * loader/i386/pc/linux.c: Likewise.
25473 * loader/i386/pc/linux_normal.c: Likewise.
25474 * loader/i386/pc/multiboot.c: Likewise.
25475 * loader/i386/pc/multiboot_normal.c: Likewise.
25476 * loader/powerpc/ieee1275/linux.c: Likewise.
25477 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25478 * normal/arg.c: Likewise.
25479 * normal/cmdline.c: Likewise.
25480 * normal/command.c: Likewise.
25481 * normal/completion.c: Likewise.
25482 * normal/execute.c: Likewise.
25483 * normal/function.c: Likewise.
25484 * normal/lexer.c: Likewise.
25485 * normal/main.c: Likewise.
25486 * normal/menu.c: Likewise.
25487 * normal/menu_entry.c: Likewise.
25488 * normal/misc.c: Likewise.
25489 * normal/parser.y: Likewise.
25490 * normal/script.c: Likewise.
25491 * normal/i386/setjmp.S: Likewise.
25492 * normal/powerpc/setjmp.S: Likewise.
25493 * normal/sparc64/setjmp.S: Likewise.
25494 * partmap/acorn.c: Likewise.
25495 * partmap/amiga.c: Likewise.
25496 * partmap/apple.c: Likewise.
25497 * partmap/gpt.c: Likewise.
25498 * partmap/pc.c: Likewise.
25499 * partmap/sun.c: Likewise.
25500 * term/gfxterm.c: Likewise.
25501 * term/terminfo.c: Likewise.
25502 * term/efi/console.c: Likewise.
25503 * term/i386/pc/console.c: Likewise.
25504 * term/i386/pc/serial.c: Likewise.
25505 * term/i386/pc/vesafb.c: Likewise.
25506 * term/i386/pc/vga.c: Likewise.
25507 * term/ieee1275/ofconsole.c: Likewise.
25508 * util/biosdisk.c: Likewise.
25509 * util/console.c: Likewise.
25510 * util/genmoddep.c: Likewise.
25511 * util/getroot.c: Likewise.
25512 * util/grub-emu.c: Likewise.
25513 * util/grub-mkdevicemap.c: Likewise.
25514 * util/grub-probe.c: Likewise.
25515 * util/lvm.c: Likewise.
25516 * util/misc.c: Likewise.
25517 * util/raid.c: Likewise.
25518 * util/resolve.c: Likewise.
25519 * util/update-grub.in: Likewise.
25520 * util/update-grub_lib.in: Likewise.
25521 * util/grub.d/00_header.in: Likewise.
25522 * util/grub.d/10_hurd.in: Likewise.
25523 * util/grub.d/10_linux.in: Likewise.
25524 * util/i386/efi/grub-install.in: Likewise.
25525 * util/i386/efi/grub-mkimage.c: Likewise.
25526 * util/i386/pc/grub-install.in: Likewise.
25527 * util/i386/pc/grub-mkimage.c: Likewise.
25528 * util/i386/pc/grub-mkrescue.in: Likewise.
25529 * util/i386/pc/grub-setup.c: Likewise.
25530 * util/i386/pc/misc.c: Likewise.
25531 * util/powerpc/ieee1275/grub-install.in: Likewise.
25532 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
25533 * util/powerpc/ieee1275/misc.c: Likewise.
25534 * video/bitmap.c: Likewise.
25535 * video/video.c: Likewise.
25536 * video/i386/pc/vbe.c: Likewise.
25537 * video/i386/pc/vbeblit.c: Likewise.
25538 * video/i386/pc/vbefill.c: Likewise.
25539 * video/i386/pc/vbeutil.c: Likewise.
25540 * video/readers/tga.c: Likewise.
25541
3572d015 255422007-07-02 Robert Millan <rmh@aybabtu.com>
25543
25544 * conf/i386-efi.rmk: Replace obsolete reference to
25545 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
25546 with util/getroot.c.
25547 * conf/powerpc-ieee1275.rmk: Likewise.
25548 * conf/sparc64-ieee1275.rmk: Likewise.
25549
25550 * util/grub-emu.c (main): Fix unchecked pointer handling.
25551
2c2a681b 255522007-07-02 Robert Millan <rmh@aybabtu.com>
25553
25554 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
25555 invocation to fail, in order to support partition-less media.
25556
25557 * util/i386/pc/grub-install.in: Likewise.
25558
25559 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
25560 which fs or partmap modules are needed (akin to its sister scripts).
25561
25562 Also use grub-probe to get rid of unportable /proc/mounts check.
25563
25564 Print the same informational message that the other scripts do, before
fe6b695a 25565 exiting.
2c2a681b 25566
6193defe 255672007-06-23 Robert Millan <rmh@aybabtu.com>
25568
fe6b695a 25569 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 25570 a font file can be found and, if so, echo the GRUB path to it.
25571
25572 * util/update-grub.in: Handle multiple terminals depending on user
25573 input, platform availability and font file presence. Propagate
25574 variables of our findings to /etc/grub.d/ children.
25575
25576 * util/grub.d/00_header.in: Handle multiple terminals, based on
25577 environment setup by update-grub.
25578
eface1dc 255792007-06-23 Robert Millan <rmh@aybabtu.com>
25580
ba50d28f 25581 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 25582
bf697e28 255832007-06-21 Robert Millan <rmh@aybabtu.com>
25584
25585 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
25586 indicate end of data section in kernel image.
25587 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
25588 GRUB_KERNEL_MACHINE_DATA_END.
25589
25590 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
25591 space for it.
25592 * kern/i386/efi/startup.S: Likewise.
25593
25594 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
25595 during image generation. Implement --prefix option to override this
25596 patch.
25597 * util/i386/efi/grub-mkimage.c: Likewise.
25598
25599 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
25600 code to make path relative to its root into a separate function.
25601
25602 * util/i386/pc/grub-install.in: Use newly provided
25603 make_system_path_relative_to_its_root() to convert ${grubdir}, then
25604 pass the result to grub-install --prefix.
25605
baa574b4 256062007-06-13 Robert Millan <rmh@aybabtu.com>
25607
25608 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
25609 DEFAULT_DEVICE_MAP.
25610 * util/grub-emu.c: Use above definitions from misc.h instead of
25611 defining them.
25612 * util/grub-mkdevicemap.c: Likewise.
25613 * util/i386/pc/grub-setup.c: Likewise.
25614 * util/grub-probe.c: Likewise.
25615 (probe): Abort with grub_util_error() when either
25616 grub_guess_root_device or grub_util_get_grub_dev fails.
25617
0215dcbf 256182007-06-12 Robert Millan <rmh@aybabtu.com>
25619
25620 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
25621 "pager" assignment.
25622 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
25623 "pcdata".
25624 * util/grub-probe.c (probe): Likewise for "drive_name".
25625
8af2ab7b 256262007-06-11 Robert Millan <rmh@aybabtu.com>
25627
25628 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
25629 not just the cdrom one.
25630
59d31694 256312007-06-11 Robert Millan <rmh@aybabtu.com>
25632
25633 * util/i386/pc/grub-mkrescue.in: Add "set -e".
25634 Add --pkglibdir=DIR option to override pkglibdir.
25635 Mention --image-type=TYPE in help output.
25636 Fix --grub-mkimage (it was a no-op).
fe6b695a 25637 Abort gracefully when no parameter is given.
59d31694 25638
7ee367e4 256392007-06-11 Robert Millan <rmh@aybabtu.com>
25640
25641 * util/i386/pc/grub-mkrescue.in: New file.
25642 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
25643 * Makefile.in: Handle bin_SCRIPTS.
25644
29b0ed46 256452007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
25646
25647 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
25648 list of video modes.
25649
c0f90770 256502007-06-06 Robert Millan <rmh@aybabtu.com>
25651
25652 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
25653 file doesn't exist, or if it is in a filesystem grub can't read.
25654
25655 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
25656 not abort if GRUB_DRIVE could not be defined. Rearrange generated
25657 header comment to fit in 80 columns when the variables are resolved.
25658
25659 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
25660 could be identified by update-grub. Remove redundant check for
fe6b695a 25661 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 25662 handles that).
25663
fb36dc26 256642007-06-04 Robert Millan <rmh@aybabtu.com>
25665
25666 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
25667
25668 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
25669
25670 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
25671
0c68c93e 256722007-06-04 Robert Millan <rmh@aybabtu.com>
25673
25674 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
25675
25676 * include/grub/partition.h: Declare grub_apple_partition_map_init and
25677 grub_apple_partition_map_fini.
25678
25679 * util/biosdisk.c
25680 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
25681 to access >2 TiB disks).
25682
25683 Print disk->total_sectors with %llu instead of %lu, since this
25684 variable is always 64-bit (prevents wrong disk size from being displayed
25685 on either >2 TiB disk or big-endian CPU).
25686
25687 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
25688 into a generic case that supports all (sane) partition maps.
25689
25690 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
25691 breaks big-endian.
25692
25693 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
25694 and grub_apple_partition_map_fini() after that.
25695
0f23eb74 256962007-06-01 Robert Millan <rmh@aybabtu.com>
25697
25698 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
25699
25700 * util/grub.d/00_header.in: Only enable gfxterm when
25701 convert_system_path_to_grub_path() succeeds.
25702
42c71976 257032007-05-20 Robert Millan <rmh@aybabtu.com>
25704
25705 * util/update-grub_lib.in: New file.
25706 * DISTLIST: Add update-grub_lib.in.
25707 * conf/common.rmk: Generate update-grub_lib and install it in
25708 $(lib_DATA).
25709 * Makefile.in: Add install routine for $(lib_DATA).
25710
25711 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
25712 function provided by update-grub_lib to support arbitrary paths of
25713 unifont.pff.
25714 * util/update-grub.in: Use convert_system_path_to_grub_path() to
25715 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
25716
5beb2291 257172007-05-19 Robert Millan <rmh@aybabtu.com>
25718
25719 * commands/i386/cpuid.c: New module.
25720 * DISTLIST: Add it.
25721 * conf/i386-efi.rmk: Enable cpuid.mod.
25722 * conf/i386-pc.rmk: Likewise.
25723
7262eca1 257242007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25725
25726 * kern/disk.c (grub_disk_read): Check return value of
25727 grub_realloc().
25728
260ba823 257292007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25730
25731 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
25732 arrays.
25733 * disk/raid.c (grub_raid_open): Likewise.
25734
1ecb6cf2 257352007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25736
25737 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
25738 stack instead of on the heap.
25739
25740 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
25741 before doing a read on it.
25742
25743 * configure.ac: Only use -fno-stack-protector for the target
25744 environment.
f19dbdb7 25745
21c8cbb1 257462007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25747
25748 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
25749 __attribute_ ((unused)) to mode_type argument.
25750
25751 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 25752
21c8cbb1 25753 * kern/misc.c (memcmp): Fix prototype.
25754
25755 * include/grub/partition.h [GRUB_UTIL]
25756 (grub_gpt_partition_map_init): Add prototype.
25757 (grub_gpt_partition_map_fini): Likewise.
25758
25759 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
25760 at the right place.
25761
25762 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
25763 (grub_fat_read_data): Likewise.
25764 (grub_fat_find_dir): Likewise.
25765
25766 * font/manager.c (find_glyph): Make table a const.
25767 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 25768
849d55d3 257692007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
25770
25771 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
25772 code, first search for device in /dev/mapper, then in /dev.
25773 (grub_util_get_grub_dev): New function.
25774 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
25775 prototype.
25776 * util/grub-probe.c (probe): Remove check for RAID, call
25777 grub_util_get_grub_dev() instead of
25778 grub_util_biosdisk_get_grub_dev().
25779 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
25780 grub_util_biosdisk_get_grub_dev().
25781 * util/i386/pc/grub-setup.c (main): Likewise.
25782
8fff7c2f 257832007-05-16 Robert Millan <rmh@aybabtu.com>
25784
25785 * DISTLIST: Update for the latest changes.
25786 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
25787 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
25788 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
25789 grub/util/biosdisk.h.
25790 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
25791 grub/util/biosdisk.h.
25792
48e12b52 257932007-05-16 Robert Millan <rmh@aybabtu.com>
25794
25795 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
25796
46b9d128 257972007-05-16 Robert Millan <rmh@aybabtu.com>
25798
25799 * util/i386/efi/grub-install.in: New.
25800 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
25801 newly added grub-install.
25802 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
25803 include.
25804 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
25805 grub/util/biosdisk.h.
25806 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
25807 grub/util/biosdisk.h.
25808
2d1a40a9 258092007-05-16 Robert Millan <rmh@aybabtu.com>
25810
25811 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
25812 * include/grub/util/biosdisk.h: ... here.
25813 * util/i386/pc/biosdisk.c: Moved to ...
25814 * util/biosdisk.c: ... here.
25815 * util/i386/pc/getroot.c: Moved to ...
25816 * util/getroot.c: ... here.
25817 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
25818 * util/grub-mkdevicemap.c: ... here.
25819 * util/i386/pc/grub-probe.c: Moved to ...
25820 * util/grub-probe.c: ... here.
25821
9e26e3bc 258222007-05-15 Robert Millan <rmh@aybabtu.com>
25823
25824 * util/update-grub.in: Remove duplicated line in grub.cfg header
25825 message.
25826
57f96397 258272007-05-13 Robert Millan <rmh@aybabtu.com>
25828
25829 * util/update-grub.in: Fix a few assumptions about the devices holding
25830 /, /boot and /boot/grub being the same.
25831 * util/grub.d/00_header.in: Likewise.
25832 * util/grub.d/10_hurd.in: Likewise.
25833 * util/grub.d/10_linux.in: Likewise.
25834
25835 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
25836 patterns. Use that to define the `.old' suffix as older than `'.
25837
25838 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
25839
25840 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
25841 the grub.cfg header message.
25842
2e610d62 258432007-05-11 Robert Millan <rmh@aybabtu.com>
25844
25845 * util/update-grub.in: Create device.map if it doesn't already exist,
25846 before attempting to run grub-probe.
25847 Check for grub-probe and grub-mkdevicemap with the same code
25848 grub-install is using.
25849 Remove test mode.
25850
3f6a10ef 258512007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
25852
25853 * Makefile.in: Add the datarootdir autoconf variable.
25854
02e7b75e 258552007-05-09 Robert Millan <rmh@aybabtu.com>
25856
25857 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 25858 fail gracefully if dev->disk->partition == NULL.
02e7b75e 25859
75f396cc 258602007-05-07 Robert Millan <rmh@aybabtu.com>
25861
25862 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
25863 determine partition map module.
25864 * util/i386/pc/grub-install.in: Use this feature to decide which
25865 partition module to load, instead of hardcoding pc and gpt.
25866
da65cb36 258672007-05-07 Robert Millan <rmh@aybabtu.com>
25868
25869 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
25870 source directory differs from build directory.
25871
b57d6a91 258722007-05-05 Robert Millan <rmh@aybabtu.com>
25873
25874 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
25875 initialisation.
25876
509d00f1 258772007-05-05 Robert Millan <rmh@aybabtu.com>
25878
25879 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
25880
c48f23ef 258812007-05-05 Robert Millan <rmh@aybabtu.com>
25882
25883 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
25884 command-line arguments via ${GRUB_CMDLINE_LINUX}.
25885
20b97658 258862007-05-05 Robert Millan <rmh@aybabtu.com>
25887
25888 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
25889 (grub_probe_SOURCES): Likewise.
25890 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
25891 GPT and initialize dos_part and bsd_part accordingly.
25892 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
25893 install_bsd_part.
25894 (main): Activate gpt module for use during partition identification,
25895 and deactivate it afterwards.
25896 * util/i386/pc/grub-install.in: Add gpt module to core.img.
25897 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
25898 partition identification, and deactivate it afterwards.
25899
99123174 259002007-05-05 Robert Millan <rmh@aybabtu.com>
25901
25902 * term/i386/pc/console.c (grub_console_fini): Call
25903 grub_term_set_current() before grub_term_unregister().
25904
ebd97f6e 259052007-05-04 Robert Millan <rmh@aybabtu.com>
25906
25907 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
25908 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
25909 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
25910 and update-grub_DATA.
25911 * conf/common.rmk: Build and install update-grub components.
25912 * conf/common.mk: Regenerate.
25913 * util/update-grub.in: New. Core of update-grub.
25914 * util/grub.d/00_header.in: New. Generates grub.cfg header.
25915 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
25916 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
25917 * util/grub.d/README: New. Document grub.d directory layout.
25918
b06a264d 259192007-05-01 Robert Millan <rmh@aybabtu.com>
25920
25921 * util/grub-emu.c: Move initialization functions
25922 grub_util_biosdisk_init() and grub_init_all() before
25923 grub_util_biosdisk_get_grub_dev(), which relies on them.
25924
41f0050e 259252007-04-19 Robert Millan <rmh@aybabtu.com>
25926
25927 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
25928 it is used later.
25929
04582bb3 259302007-04-18 Jerone Young <jerone@gmail.com>
25931
f19dbdb7 25932 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 25933 stanza.
25934
08db4632 259352007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 25936
08db4632 25937 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
25938 continue on and look for device node with real device name.
25939
801b76be 259402007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 25941
fe6b695a 25942 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 25943 ability.
25944 * Makefile.in: Add autoconf package transformation code.
25945 * util/i386/pc/grub-install.in: Likewise.
25946 * util/powerpc/ieee1275/grub-install.in: Likewise.
25947
6795c4e1 259482007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25949
25950 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
25951 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
25952 (EXT2_REVISION): Likewise.
25953 (EXT2_INODE_SIZE): Likewise.
25954 (struct grub_ext2_block_group): Added a missing member
25955 "used_dirs".
25956 (grub_ext2_read_inode): Divide by the inode size in a superblock
25957 instead of 128 to obtain INODES_PER_BLOCK.
25958 Use the macro EXT2_INODE_SIZE instead of directly using
25959 SBLOCK->INODE_SIZE.
25960
d70af616 259612007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25962
25963 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
25964 superblock instead of the structure size to compute an
25965 offset. This fixes the problem that GRUB could not read a
25966 filesystem when inode size is different from 128-byte.
25967
3b801603 259682007-03-05 Marco Gerards <marco@gnu.org>
25969
25970 * normal/main.c (read_config_file): When "menu" is not set, create
25971 an initial context.
25972
4785bfe4 259732007-02-21 Hollis Blanchard <hollis@penguinppc.org>
25974
25975 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
25976 (HEAP_LIMIT): New macro.
25977 (grub_claim_heap): Claim memory up to `heaplimit'.
25978
a0cbb023 259792007-02-21 Hollis Blanchard <hollis@penguinppc.org>
25980
25981 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
25982 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
25983 (_start): Likewise.
25984 (grub_arch_modules_addr): Return address after `_end'.
25985 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
25986 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
25987 (add_segments): Calculate `_end' from phdr size and location.
25988 (ALIGN_UP): Moved to ...
25989 * include/grub/misc.h: here.
25990 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25991 New macro.
25992 (GRUB_IEEE1275_MODULE_BASE): Removed.
25993
fd7d8eba 259942007-02-20 Hollis Blanchard <hollis@penguinppc.org>
25995
25996 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
25997 loop boundary.
25998
9b09e6fc 259992007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26000
26001 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
26002 All users updated.
26003 (grub_elf64_load_hook_t): Likewise.
26004 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
26005 debug output.
26006
3ce27299 260072007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26008
26009 * kern/mm.c: Update copyright.
26010 (grub_mm_debug): Correct syntax error.
26011 (grub_mm_dump_free): New function.
26012 (grub_debug_free): Call `grub_free'.
26013 * include/grub/mm.h: Update copyright.
26014 (grub_mm_dump_free): Add declaration.
26015
077d5fee 260162007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26017
26018 * include/grub/ieee1275/ieee1275.h: Update copyright.
26019 * kern/powerpc/ieee1275/init.c: Likewise.
26020 * kern/powerpc/ieee1275/openfw.c: Likewise.
26021
26022 * loader/powerpc/ieee1275/linux.c: Likewise.
26023 * include/grub/elfload.h: Likewise.
26024 * kern/elf.c: Likewise.
26025 (grub_elf32_load): Pass `base' and `size' parameters. Update all
26026 callers.
26027 (grub_elf64_load): Likewise.
26028 (grub_elf32_load_segment): Move to a nested function.
26029 (grub_elf64_load_segment): Likewise.
26030
dc946850 260312007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26032
26033 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
26034 prototype.
26035 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
26036 (grub_heap_len): Likewise.
26037 (HEAP_SIZE): New macro.
26038 (grub_claim_heap): New function.
26039 (grub_machine_init): Don't claim heap directly. Call
26040 `grub_claim_heap'.
26041 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
26042 (grub_available_iterate): New function.
26043
baa2a121 260442007-02-03 Thomas Schwinge <tschwinge@gnu.org>
26045
26046 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
26047 * configure.ac: Use it for testing the HOST and TARGET compilers.
26048
4fe9862e 260492006-12-13 Thomas Schwinge <tschwinge@gnu.org>
26050
26051 * Makefile.in (enable_grub_emu): New variable.
26052 * configure.ac (--enable-grub-emu): New option.
26053 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
26054 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
26055 * conf/i386-pc.rmk: Likewise.
26056 * conf/powerpc-ieee1275.rmk: Likewise.
26057 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
26058
a8aa5762 260592006-12-12 Marco Gerards <marco@gnu.org>
26060
26061 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
26062
26063 * kern/env.c (grub_env_unset): Don't free the member `value' when
26064 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
26065 pointer.
26066
26067 * normal/main.c (current_menu): Removed.
26068 (free_menu): Unset the `menu' environment variable.
26069 (grub_normal_menu_addentry): Make use of the environment variable
26070 `menu', instead of using the global `current_menu'. Allocate
26071 memory for the sourcecode of this entry.
26072 (read_config_file): New argument `nested', changed all callers.
26073 Only in the case of a new context, initialize a new menu. Set the
26074 `menu' environment variable.
26075 (grub_normal_execute): Don't set and unset the environment
26076 variable `menu' here anymore. Only free the menu when leaving the
26077 context.
26078
26079 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
26080 leak.
26081
957b3a3e 260822006-12-11 Marco Gerards <marco@gnu.org>
26083
26084 * normal/menu_entry.c (run): Fix off by one bug so the last line
26085 is executed. Move the loader check to outside the loop.
26086
ef875714 260872006-12-08 Hollis Blanchard <hollis@penguinppc.org>
26088
26089 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
26090
4e739985 260912006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
26092
26093 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
26094 the number of sectors. Reported by Andrey Shuvikov
26095 <mr_hyro@yahoo.com>.
f19dbdb7 26096
790707f2 260972006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
26098
26099 * kern/disk.c (grub_disk_read): When there is a read error, always
26100 try to read only the necessary data.
f19dbdb7 26101
790707f2 26102 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
26103 disk/raid.c.
26104 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
26105 prototype.
26106 [GRUB_UTIL] (grub_raid_fini): Likewise.
26107 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 26108 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 26109 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
26110 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
26111 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
26112 and grub_raid_fini().
f19dbdb7 26113
03e58196 261142006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26115
26116 * include/grub/types.h (__unused): Rename to UNUSED.
26117 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
26118 (grub_elf64_size): Likewise.
f19dbdb7 26119
ae4f23bf 261202006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26121
26122 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
26123 grub_error_push and grub_error_pop in the error-handling path.
26124 (grub_elf32_load_segment): Only call grub_file_read with non-zero
26125 length.
26126
2166cc83 261272006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26128
26129 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
26130 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26132 (kernel_elf_SOURCES): Likewise.
26133 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
26134 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
26135 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26136 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26137 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
26138 (elf_mod_SOURCES): New variable.
26139 (elf_mod_CFLAGS): Likewise.
26140 (elf_mod_LDFLAGS): Likewise.
26141 * include/grub/types.h (__unused): New macro.
26142 * include/grub/elfload.h: New file.
26143 * kern/elf.c: Likewise.
26144 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
26145 (ELF32_LOADMASK): New macro.
26146 (ELF64_LOADMASK): Likewise.
26147 (vmlinux): Removed.
26148 (grub_linux_load32): New function.
26149 (grub_linux_load64): Likewise.
26150 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
26151 Use grub_elf_t instead of grub_file_t.
26152
a09d5aa5 261532006-11-02 Hollis Blanchard <hollis@penguinppc.org>
26154
26155 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
26156 `catch_result' to struct set_color_args.
26157
d976fc51 261582006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26159
26160 * normal/menu.c: Include grub/script.h.
26161 * normal/menu_entry.c: Likewise.
26162 * include/grub/normal.h: Do not include grub/script.h.
26163
67507549 261642006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26165
26166 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
26167
69203a99 261682006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26169
26170 * kern/disk.c (grub_disk_open): Print debug messages when opening a
26171 disk.
26172 (grub_disk_close): Print debug messages when closing a disk.
26173 (grub_disk_read): Print debug messages when disk read fails.
26174 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
26175 filesystem type.
26176 * kern/partition.c: Include misc.h.
26177 (grub_partition_iterate): Print debug messages when detecting
26178 partition type.
26179
e2b8278c 261802006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26181
26182 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
26183 is negative.
26184 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
26185
97b2f2ff 261862006-10-26 Hollis Blanchard <hollis@penguinppc.org>
26187
26188 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26189 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
26190
6555d655 261912006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
26192
26193 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
26194 instead of sizeof(lv). Patch by Michael Guntsche.
26195
4d42b77f 261962006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
26197
26198 * disk/lvm.c: Rename VGS to VG_LIST.
26199 (grub_lvm_iterate): Change VGS->LV to VG-LV.
26200 (grub_lvm_open): Likewise.
26201 Thanks to Michael Guntsche for finding this bug.
26202
5d74d927 262032006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26204
26205 * configure.ac (AC_INIT): Bumped to 1.95.
26206
a1bb27e4 262072006-10-14 Robert Millan <rmh@aybabtu.com>
26208
26209 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
26210 with "/dev/.static/dev/md".
26211
e0994b8b 262122006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26213
26214 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
26215 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
26216 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
26217 DRIVE_NAME are always freed.
26218
26219 * util/i386/pc/biosdisk.c (make_device_name): Add one into
26220 DOS_PART, as a DOS partition is counted from one instead of zero
26221 now. Reported by Robert Millan.
26222
ddd5cee9 262232006-10-14 Robert Millan <rmh@aybabtu.com>
26224
26225 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
26226 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
26227 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
26228 string returned by grub_guess_root_device.
26229 * util/i386/pc/grub-setup.c: Likewise.
26230 * util/i386/pc/grub-probefs.c: Likewise.
26231
26232 * util/i386/pc/grub-probefs.c: Rename to ...
26233 * util/i386/pc/grub-probe.c: ... this.
26234 * DISTLIST: Remove grub-probefs, add grub-probe.
26235 * conf/i386-efi.rmk: Likewise.
26236 * conf/i386-pc.rmk: Likewise.
26237 * util/i386/pc/grub-install.in: Likewise.
26238
26239 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
26240 choose which information we want to print.
26241
2b002173 262422006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26243
26244 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
26245 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
26246 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
26247 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
26248 video/readers/tga.c and video/i386/pc/vbeutil.c.
26249
262502006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
26251
26252 Added support for RAID and LVM.
f19dbdb7 26253
2b002173 26254 * disk/lvm.c: New file.
26255 * disk/raid.c: Likewise.
26256 * include/grub/lvm.h: Likewise.
f19dbdb7 26257 * include/grub/raid.h: Likewise.
2b002173 26258 * include/grub/util/lvm.h: Likewise.
26259 * include/grub/util/raid.h: Likewise.
26260 * util/lvm.c: Likewise.
26261 * util/raid.c: Likewise.
26262
26263 * include/grub/disk.h (grub_disk_dev_id): Add
26264 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
26265 (grub_disk_get_size): New prototype.
26266 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
26267 returns a partition.
26268 (grub_disk_get_size): New function.
f19dbdb7 26269
2b002173 26270 * kern/i386/pc/init.c (make_install_device): Copy the prefix
26271 verbatim if grub_install_dos_part is -2.
26272
26273 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
26274 and LVM devices.
26275
26276 * util/i386/pc/grub-setup.c (setup): New argument
26277 MUST_EMBED. Force embedding of GRUB when the argument is
26278 true. Close FILE before returning.
26279 (main): Add support for RAID and LVM.
f19dbdb7 26280
2b002173 26281 * conf/common.rmk: Add RAID and LVM modules.
26282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
26283 util/lvm.c.
26284 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
26285
26286 * kern/misc.c (grub_strstr): New function.
26287 * include/grub/misc.h (grub_strstr): New prototype.
26288
050548d0 262892006-10-10 Tristan Gingold <tristan.gingold@bull.net>
26290
26291 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
26292
da849d2d 262932006-10-05 Tristan Gingold <tristan.gingold@bull.net>
26294
26295 * kern/misc.c (grub_strtoull): Guess the base only if not
26296 specified.
26297
97b2f2ff 262982006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 26299
26300 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
26301 PowerMac support.
26302
97b2f2ff 263032006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 26304
26305 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
26306
26307 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
26308 Remove `flags' argument. All callers changed.
26309 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
26310 (IEEE1275_IHANDLE_INVALID): New variable.
26311 (IEEE1275_CELL_INVALID): New variable.
26312 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26313 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
26314 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
26315 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
26316 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
26317 codes from Open Firmware. All callers updated.
26318 (grub_ieee1275_next_property): Directly return Open Firmware return
26319 code.
26320 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26321 Standardize error checking from `grub_ieee1275_get_property'.
26322 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
26323 `devalias' to `aliases'. Correct comments. Consolidate error paths.
26324
97b2f2ff 263252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 26326
26327 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
26328 `instance_to_package_args' to `instance_to_path_args'.
26329
26330 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
26331 `grub_ieee1275_chosen'.
26332
26333 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
26334 `grub_ieee1275_interpret'.
26335
97b2f2ff 263362006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 26337
26338 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
26339
97b2f2ff 263402006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 26341
26342 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
26343 (__cmpdi): Likewise.
26344
26345 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
26346 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
26347 `grub_ssize_t'.
26348
02bb8acc 26349 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 26350
26351 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
26352 to type `grub_ssize_t'.
26353 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
26354
7f9a8531 263552006-09-22 Marco Gerards <marco@gnu.org>
26356
26357 * normal/script.c (grub_script_create_cmdmenu): Skip leading
26358 newlines.
26359
b5ef1102 263602006-09-22 Marco Gerards <marco@gnu.org>
26361
26362 * commands/echo.c: New file.
26363
26364 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
26365
26366 * conf/common.rmk (echo_mod_SOURCES): New variable.
26367 (echo_mod_CFLAGS): Likewise.
26368 (echo_mod_LDFLAGS): Likewise.
26369
2cff3677 263702006-09-22 Marco Gerards <marco@gnu.org>
26371
26372 * normal/main.c (get_line): Malloc memory instead of using
26373 preallocated memory. Removed the arguments `cmdline' and
26374 `max_len'. Updated all callers.
26375
6ba4688b 263762006-09-22 Marco Gerards <marco@gnu.org>
26377
26378 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
26379 (normal_mod_DEPENDENCIES): Likewise.
26380
26381 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
26382 (normal_mod_DEPENDENCIES): Likewise.
26383
26384 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
26385
e02ac02c 263862006-09-22 Johan Rydberg <jrydberg@gnu.org>
26387
26388 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
26389 programs.
26390 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
26391 (normal_mod_DEPENDENCIES): Likewise.
26392 * conf/i386-pc.mk: Regenerate.
26393 * conf/i386-efi.mk: Likewise
26394 * conf/common.mk: Likewise.
26395 * conf/powerpc-ieee1275.mk: Likewise.
26396 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26397
8d252e44 263982006-09-22 Robert Millan <rmh@aybabtu.com>
26399
26400 Sync with i386 version.
26401 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
26402 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
26403
209bf7ac 264042006-09-21 Robert Millan <rmh@aybabtu.com>
26405
26406 Import from GRUB Legacy (lib/device.c):
26407 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
26408 (init_device_map) [__linux__]: Add support for I2O devices.
26409
6b146090 264102006-09-14 Marco Gerards <marco@gnu.org>
26411
26412 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
26413 `-melf_i386'.
26414
e38600a8 264152006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 26416
26417 * util/i386/pc/grub-install.in: Skip menu.lst when removing
26418 /boot/grub/*.lst.
78fa1790 26419
2952da5d 26420 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 26421
2952da5d 26422 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
26423 before adding it to device.map.
26424
01b82a64 264252006-08-15 Johan Rydberg <jrydberg@gnu.org>
26426
fe6b695a 26427 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 26428 compiles a file; using the -MD option.
26429 * conf/common.mk: Regenerate.
26430 * conf/i386-pc.mk: Likewise.
26431 * conf/i386-efi.mk: Likewise.
26432 * conf/powerpc-ieee1275.mk: Likewise.
26433 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26434
1064790d 264352006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
26436
26437 Move the prototypes of grub_setjmp and grub_longjmp to
26438 cpu/setjmp.h, so that each architecture may specify different
26439 attributes.
f19dbdb7 26440
1064790d 26441 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
26442 (grub_longjmp): Likewise.
26443 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
26444 (grub_longjmp): Likewise.
26445 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
26446 (grub_longjmp): Likewise.
26447
26448 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
26449 [!GRUB_UTIL] (grub_longjmp): Removed.
26450
29dda3ed 264512006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
26452
26453 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
26454 "color!" method does not return any value.
26455
ad2a06ed 264562006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26457
26458 * include/grub/bitmap.h: New file.
26459
26460 * include/grub/i386/pc/vbeutil.h: Likewise.
26461
26462 * video/bitmap.c: Likewise.
26463
26464 * video/readers/tga.c: Likewise.
26465
26466 * video/i386/pc/vbeutil.c: Likewise.
26467
26468 * commands/videotest.c: Code cleanup and updated to reflect to new
26469 video API.
26470
26471 * term/gfxterm.c: Likewise.
26472
26473 * video/video.c: Likewise.
26474
26475 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
26476 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
26477 (bitmap_mod_SOURCES): New entry.
26478 (bitmap_mod_CFLAGS): Likewise.
26479 (bitmap_mod_LDFLAGS): Likewise.
26480 (tga_mod_SOURCES): Likewise.
26481 (tga_mod_CFLAGS): Likewise.
26482 (tga_mod_LDFLAGS): Likewise.
26483
26484 * include/grub/video.h (grub_video_blit_operators): New enum type.
26485 (grub_video_render_target): Changed as forward declaration and moved
26486 actual definition to be video driver specific.
26487 (grub_video_adapter.blit_bitmap): Added blitting operator.
26488 (grub_video_adapter.blit_render_target): Likewise.
26489 (grub_video_blit_bitmap): Likewise.
26490 (grub_video_blit_render_target): Likewise.
26491
26492 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
26493 driver specific render target definition.
26494 (grub_video_vbe_map_rgba): Added driver internal helper.
26495 (grub_video_vbe_unmap_color): Updated to use
26496 grub_video_i386_vbeblit_info.
26497 (grub_video_vbe_get_video_ptr): Likewise.
26498
26499 * include/grub/i386/pc/vbeblit.h
26500 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
26501 grub_video_i386_vbeblit_info.
26502 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26503 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26504 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26505 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26506 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26507 (grub_video_i386_vbeblit_index_index): Likewise.
26508 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
26509 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26510 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26511 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
26512 operator.
26513 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
26514 operator.
26515
26516 * video/i386/pc/vbeblit.c: Updated to reflect changes on
26517 include/grub/i386/pc/vbeblit.h.
26518
26519 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
26520 Updated to use grub_video_i386_vbeblit_info.
26521 (grub_video_i386_vbefill_R8G8B8): Likewise.
26522 (grub_video_i386_vbefill_index): Likewise.
26523 (grub_video_i386_vbefill): Added generic filler.
26524
26525 * video/i386/pc/vbefill.c: Updated to reflect changes on
26526 include/grub/i386/pc/vbefill.h.
26527
26528 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
26529 grub_video_i386_vbeblit_info.
26530 (grub_video_vbe_unmap_color): Likewise.
26531 (grub_video_vbe_blit_glyph): Likewise.
26532 (grub_video_vbe_scroll): Likewise.
26533 (grub_video_vbe_draw_pixel): Removed function.
26534 (grub_video_vbe_get_pixel): Likewise.
26535 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
26536 updated code to use it.
26537 (common_blitter): Added common blitter for render target and bitmap.
26538 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
26539 (grub_video_vbe_blit_render_target): Likewise.
26540
bc8c036d 265412006-07-30 Johan Rydberg <jrydberg@gnu.org>
26542
26543 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
26544 is in text mode if there is no console control protocol instance
26545 available.
26546
684a8eff 265472006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26548
26549 * include/grub/video.h: Code cleanup.
26550
26551 * include/grub/i386/pc/vbe.h: Likewise.
26552
26553 * video/i386/pc/vbe.c: Likewise.
26554
26555 * video/i386/pc/vbeblit.c: Likewise.
26556
26557 * video/i386/pc/vbefill.c: Likewise.
26558
26559 * video/video.c: Likewise. Also added more comments.
26560
5915059b 265612006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26562
26563 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
26564 (struct grub_biosdisk_dap): Likewise.
26565
26566 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
26567 linkage settings for all functions.
26568
90ce5d56 265692006-07-12 Marco Gerards <marco@gnu.org>
26570
26571 * configure.ac (--enable-mm-debug): Fix typo.
26572
26573 * genkernsyms.sh.in: Use proper quoting for `CC'.
26574
43e7f879 265752006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
26576
26577 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
26578 (normal_mod_ASFLAGS): Remove "-m32".
26579
4889bdec 265802006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
26581
26582 * util/misc.c: Include config.h.
26583 [!HAVE_MEMALIGN]: Do not include malloc.h.
26584 (grub_memalign): Use posix_memalign, if present. Then, use
26585 memalign, if present. Otherwise, emit an error.
26586
26587 * util/grub-emu.c: Do not include malloc.h.
26588
26589 * include/grub/util/misc.h: Include unistd.h. This is required for
26590 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
26591 D. Eades III <hde@foobar-qux.org>.
26592
26593 * configure.ac (AC_GNU_SOURCE): Added.
26594 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
26595 type.
26596
fd39d4da 265972006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
26598
26599 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
26600 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
26601
b786f3b5 266022006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
26603
26604 * include/grub/types.h (grub_host_addr_t): Rename to
26605 grub_target_addr_t.
26606 (grub_host_off_t): Rename to grub_target_off_t.
26607 (grub_host_size_t): Rename to grub_target_size_t.
26608 (grub_host_ssize_t): Rename to grub_target_ssize_t.
26609 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
26610
26611 * include/grub/kernel.h (struct grub_module_header): Change type
26612 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
26613 (grub_module_info): Likewise.
f19dbdb7 26614
051988bb 266152006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26616
26617 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
26618 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
26619 Velazquez <jesus.velazquez@gmail.com>.
26620
deae281b 266212006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26622
26623 Count partitions from 1 instead of 0 in the string representation
26624 of partitions. Still use 0-based internally.
f19dbdb7 26625
deae281b 26626 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
26627 (sun_partition_map_iterate): Use grub_partition_t instead of
26628 struct grub_partition *. Cast DESC->START_CYLINDER to
26629 grub_uint64_t after converting the endian.
26630 (sun_partition_map_probe): Subtract 1 for PARTNUM.
26631 (sun_partition_map_get_name): Add 1 to P->INDEX.
26632
26633 * partmap/pc.c (grub_partition_parse): Subtract 1 for
26634 PCDATA->DOS_PART.
26635 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
26636
26637 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
26638 zero instead of one.
26639 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
26640 (gpt_partition_map_get_name): Add 1 into P->INDEX.
26641
26642 * partmap/apple.c (apple_partition_map_iterate): Change the type
26643 of POS to unsigned.
26644 (apple_partition_map_probe): Subtract 1 for PARTNUM.
26645 (apple_partition_map_get_name): Add 1 into P->INDEX.
26646
26647 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
26648 of POS to unsigned.
26649 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
26650 calculate the offset of a partition.
26651 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
26652 (amiga_partition_map_get_name): Add 1 into P->INDEX.
26653
26654 * partmap/acorn.c (acorn_partition_map_find): Change the type of
26655 SECTOR to grub_disk_addr_t.
26656 (acorn_partition_map_iterate): Likewise.
26657 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
26658 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
26659 top.
26660 (acorn_partition_map_get_name): Add 1 into P->INDEX.
26661
26662 * kern/i386/pc/init.c (make_install_device): Add 1 into
26663 GRUB_INSTALL_DOS_PART.
26664
26665 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
26666 conditional.
26667
524a1e6a 266682006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26669
26670 Clean up the code to support 64-bit addressing in disks and
26671 files. This change is not enough for filesystems yet.
f19dbdb7 26672
524a1e6a 26673 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
26674 type of "start" to grub_uint64_t.
26675 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
26676 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
26677 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
26678 convert addresses.
26679
26680 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
26681 to grub_disk_addr_t.
26682
26683 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
26684 string.
26685
26686 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26687
26688 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
26689 to char *.
26690
26691 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
26692
26693 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
26694
26695 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
26696
26697 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
26698 to grub_off_t, to detect an error from grub_file_seek.
26699 (grub_multiboot_load_elf32): Likewise.
26700
26701 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
26702 maximum unsigned long value when an overflow is detected.
26703 (grub_strtoull): New function.
26704 (grub_divmod64): Likewise.
26705 (grub_lltoa): use grub_divmod64.
26706
26707 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
26708 grub_disk_addr_t.
26709 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
26710 the pointer to next character. Use grub_strtoull instead of
26711 grub_strtoul.
26712 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
26713 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
26714 respectively.
26715
fe6b695a 26716 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 26717 return value is signed.
26718 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
26719 test if OFFSET is less than zero, as OFFSET is unsigned now.
26720
26721 * kern/disk.c (struct grub_disk_cache): Change the type of
26722 "sector" to grub_disk_addr_t.
26723 (grub_disk_cache_get_index): Change the type of SECTOR to
26724 grub_disk_addr_t. Calculate the hash with SECTOR casted to
26725 unsigned after shifting.
26726 (grub_disk_cache_invalidate): Change the type of SECTOR to
26727 grub_disk_addr_t.
26728 (grub_disk_cache_unlock): Likewise.
26729 (grub_disk_cache_store): Likewise.
26730 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
26731 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
26732 grub_disk_addr_t and grub_uint64_t, respectively.
26733 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
26734 body, as the value of OFFSET is tweaked by
26735 grub_disk_check_range. Change the types of START_SECTOR, LEN and
26736 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
26737 respectively.
26738 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
26739 body, as the value of OFFSET is tweaked by
26740 grub_disk_check_range. Change the types of LEN and N to
26741 grub_size_t.
26742
26743 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
26744 and "saved_offset" to grub_off_t.
26745 (test_header): Cast BUF to char *.
26746 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
26747 to char *.
26748 (grub_gzio_read): Change the types of OFFSET and SIZE to
26749 grub_off_t and grub_size_t, respectively.
26750
26751 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
26752 Removed.
26753 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
26754 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
26755 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
26756 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
26757 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
26758
26759 * include/grub/types.h (grub_off_t): Unconditionally set to
26760 grub_uint64_t.
26761 (grub_disk_addr_t): Changed to grub_uint64_t.
26762
26763 * include/grub/partition.h (struct grub_partition): Change the
26764 types of "start", "len" and "offset" to grub_disk_addr_t,
26765 grub_uint64_t and grub_disk_addr_t, respectively.
26766 (grub_partition_get_start): Return grub_disk_addr_t.
26767 (grub_partition_get_len): Return grub_uint64_t.
26768
26769 * include/grub/misc.h (grub_strtoull): New prototype.
26770 (grub_divmod64): Likewise.
26771
26772 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
26773 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
26774 grub_off_t, respectively.
26775 All callers and references changed.
26776
26777 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
26778 grub_size_t in "read".
26779 All callers and references changed.
26780
26781 * include/grub/file.h (struct grub_file): Change the types of
26782 "offset" and "size" to grub_off_t and grub_off_t,
26783 respectively. Change the type of SECTOR to grub_disk_addr_t in
26784 "read_hook".
26785 (grub_file_read): Change the type of LEN to grub_size_t.
26786 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
26787 grub_off_t.
26788 (grub_file_size): Return grub_off_t.
26789 (grub_file_tell): Likewise.
26790 All callers and references changed.
26791
26792 * include/grub/disk.h (struct grub_disk_dev): Change the types of
26793 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
26794 "write".
26795 (struct grub_disk): Change the type of "total_sectors" to
26796 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 26797 "read_hook".
524a1e6a 26798 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
26799 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
26800 (grub_disk_write): Likewise.
26801 All callers and references changed.
26802
26803 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
26804 char * for grub_strncmp to silence gcc.
26805 (grub_iso9660_mount): Likewise.
26806 (grub_iso9660_mount): Likewise.
26807 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
26808 return statement.
26809 (grub_iso9660_iterate_dir): Likewise.
26810 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
26811
26812 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
26813 LEN to grub_disk_addr_t and grub_size_t, respectively.
26814
26815 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26816
26817 * fs/jfs.c (grub_jfs_read_file): Likewise.
26818
26819 * fs/minix.c (grub_jfs_read_file): Likewise.
26820
26821 * fs/sfs.c (grub_jfs_read_file): Likewise.
26822
26823 * fs/ufs.c (grub_jfs_read_file): Likewise.
26824
26825 * fs/xfs.c (grub_jfs_read_file): Likewise.
26826
26827 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
26828 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
26829 respectively.
26830
26831 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
26832 BLKNR to -1 instead of returning GRUB_ERRNO.
26833 (grub_ext2_read_file): Change the types of SECTOR and
26834 LEN to grub_disk_addr_t and grub_size_t, respectively.
26835
26836 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
26837 LEN to grub_disk_addr_t and grub_size_t, respectively.
26838
26839 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
26840 grub_file_read.
26841
26842 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
26843 string. Do not cast SECTOR explicitly.
26844
26845 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
26846 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
26847 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
26848 grub_disk_addr_t and grub_size_t, respectively. If the sector is
26849 over 2TB and LBA mode is not supported, raise an error.
26850 (get_safe_sectors): New function.
26851 (grub_biosdisk_read): Use get_safe_sectors.
26852 (grub_biosdisk_write): Likewise.
26853
26854 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
26855 (grub_efidisk_write): Likewise.
26856
26857 * disk/loopback.c (delete_loopback): Cosmetic changes.
26858 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
26859 correctly.
26860 (grub_loopback_open): Likewise.
26861 (grub_loopback_read): Likewise. Also, change the type of POS to
26862 grub_off_t, and fix the usage of grub_memset.
26863
26864 * commands/i386/pc/play.c: Include grub/machine/time.h.
26865
26866 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
26867 print FILE->SIZE.
26868
26869 * commands/configfile.c: Include grub/env.h.
26870
26871 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
26872 GRUB_ERRNO directly instead. Change the type of POS to
26873 grub_off_t. Follow the coding standard.
26874
26875 * commands/blocklist.c: Include grub/partition.h.
26876 (grub_cmd_blocklist): Return an error if the underlying device is
26877 not a disk. Take the starting sector of a partition into account,
26878 if a partition is used.
26879
26880 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
26881 a length field.
26882 (lba_mode): Support 64-bit addresses.
26883 (chs_mode): Likewise.
26884 (copy_buffer): Adapted to the new offsets of a length field and a
26885 segment field.
26886 (blocklist_default_start): Allocate 64-bit space.
26887
26888 * boot/i386/pc/boot.S (force_lba): Removed.
26889 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 26890 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 26891 space.
26892 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
26893 is useless.
26894 (lba_mode): Refactored to support a 64-bit address. More size
26895 optimization.
26896 (setup_sectors): Likewise.
26897
53af98ad 268982006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26899
26900 * DISTLIST: Added include/grub/i386/linux.h. Removed
26901 include/grub/i386/pc/linux.h
26902
26903 * configure.ac (AC_INIT): Bumped to 1.94.
26904
26905 * config.guess: Updated from gnulib.
26906 * config.sub: Likewise.
26907 * install-sh: Likewise.
26908 * mkinstalldirs: Likewise.
26909
b4c1940a 269102006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
26911
26912 * conf/common.rmk (grub_modules_init.lst): Depended on
26913 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
26914 MODSRCFILES.
26915
26916 * genmk.rb (PModule::rule): Reverted the previous change.
26917
cfca1cfd 269182006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
26919
26920 * conf/common.rmk (grub_modules_init.lst): Depends on
26921 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
26922 that the target does not exist before producing.
26923 (grub_modules_init.h): Remove the target before generating.
26924 (grub_emu_init.c): Likewise.
26925
26926 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
26927
aa6d7826 269282006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
26929
26930 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
26931 for the target-specific tests. Make sure that we also have the
26932 up-to-date target variables for those tests.
26933
26c607b9 269342006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
26935
26936 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
26937 (PModule::rule): Likewise.
26938
0162321a 269392006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
26940
26941 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
26942 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
26943 target-specific flags should be prefixed.
26944 (PModule::rule): Likewise.
26945
6c826348 269462006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
26947
26948 * configure.ac (CMP): Check if cmp is available explicitly.
26949
b977bf01 269502006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
26951
26952 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
26953 (target_cpu): New variable.
26954 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 26955
b977bf01 26956 * util/i386/pc/grub-install.in (host_cpu): Removed.
26957 (target_cpu): New variable.
26958 (pkglibdir): Use target_cpu instead of host_cpu.
26959
26960 * util/genmoddep.c: Removed.
f19dbdb7 26961
b977bf01 26962 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
26963 instead of GRUB_HOST_SIZEOF_VOID_P.
26964 * kern/dl.c: Likewise.
26965
26966 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
26967 ...
26968 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
26969 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
26970 (GRUB_TARGET_SIZEOF_LONG): ... this.
26971 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
26972 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
26973 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
26974 to ...
26975 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
26976 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
26977 (GRUB_TARGET_SIZEOF_LONG): ... this.
26978 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
26979 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
26980 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
26981 to ...
26982 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
26983 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
26984 (GRUB_TARGET_SIZEOF_LONG): ... this.
26985 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
26986 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
26987
26988 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
26989 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
26990 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
26991 instead of GRUB_HOST_SIZEOF_LONG.
26992 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
26993 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
26994 GRUB_CPU_WORDS_BIGENDIAN.
26995 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
26996 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
26997 grub_host_ssize_t.
26998
26999 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
27000 (genmoddep_SOURCES): Likewise.
27001 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
27002 (genmoddep_SOURCES): Likewise.
27003 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
27004 (genmoddep_SOURCES): Likewise.
27005 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
27006 Likewise.
27007 (genmoddep_SOURCES): Likewise.
27008
27009 * genmoddep.awk: New file.
27010
27011 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
27012 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
27013 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
27014 (PModule::rule): Likewise.
27015 (Program::rule): Likewise.
27016 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
27017 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
27018 respectively.
27019
27020 * configure.ac: Rewritten intensively to use host and target
27021 instead of build and host, respectively.
27022
27023 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
27024 (host_cpu): Removed.
27025 (target_cpu): New variable.
27026 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
27027 (BUILD_CC): Removed.
27028 (BUILD_CFLAGS): Likewise.
27029 (BUILD_CPPFLAGS): Likewise.
27030 (TARGET_CC): New variable.
27031 (TARGET_CFLAGS): Likewise.
27032 (TARGET_CPPFLAGS): Likewise.
27033 (TARGET_LDFLAGS): Likewise.
27034 (AWK): Likewise.
27035 (include): Use target_cpu instead of host_cpu.
27036 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 27037
b977bf01 27038 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
27039
f09771a1 270402006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
27041
27042 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
27043 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
27044 field 'false' to 'exec_on_false'.
27045 (grub_script_create_cmdif): Renamed argument names to reflect above
27046 changes.
27047
27048 * normal/execute.c (grub_script_execute_cmdif): Likewise.
27049
27050 * normal/script.c (grub_script_create_cmdif): Likewise.
27051
118f4fb3 270522006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
27053
27054 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
27055 top.
27056 (grub_hfsplus_btree_recptr): Likewise.
27057 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
27058 FILEBLOCK both to pass a block number and store next block
27059 number.
27060 (grub_hfsplus_read_block): Rewritten heavily to support an extent
27061 overflow file correctly. Specify errors appropriately, because
27062 fshelp expects that GRUB_ERRNO is set when fails. Reuse
27063 grub_hfsplus_btree_recptr to get the pointer to a found key.
27064 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
27065 is found.
27066
27067 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
27068 linux.mod.
27069 (_linux_mod_SOURCES): New variable.
27070 (_linux_mod_CFLAGS): Likewise.
27071 (_linux_mod_LDFLAGS): Likewise.
27072 (linux_mod_SOURCES): Likewise.
27073 (linux_mod_CFLAGS): Likewise.
27074 (linux_mod_LDFLAGS): Likewise.
27075
27076 * DISTLIST: Added loader/i386/efi/linux.c,
27077 loader/i386/efi/linux_normal.c and
27078 include/grub/i386/efi/loader.h.
27079
27080 * loader/i386/efi/linux.c: New file.
27081 * loader/i386/efi/linux_normal.c: Likewise.
27082 * include/grub/i386/efi/loader.h: Likewise.
27083
89a7d726 270842006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
27085
27086 * commands/blocklist.c: New file.
27087
27088 * DISTLIST: Added commands/blocklist.c.
27089
27090 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 27091 color for the background, and a darker color for the foreground.
89a7d726 27092 (grub_console_checkkey): Return READ_KEY.
27093 (grub_console_cls): Set the background to
27094 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
27095
27096 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
27097
27098 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
27099 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
27100
27101 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
27102 prototype.
27103
27104 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
27105 BG. The spec is wrong again.
27106
27107 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
27108 prototype.
27109 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
27110
27111 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27112 commands/blocklist.c.
27113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 27114
89a7d726 27115 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
27116 (blocklist_mod_SOURCES): New variable.
27117 (blocklist_mod_CFLAGS): Likewise.
27118 (blocklist_mod_LDFLAGS): Likewise.
27119
75c8f258 271202006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
27121
27122 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
27123 duplication.
27124 (lba_mode): Use %eax more intensively to reduce the code size.
27125
da2eb181 271262006-05-20 Marco Gerards <marco@gnu.org>
27127
27128 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
27129
27130 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
27131 for `menuentry'.
27132 (script): Accept leading newlines.
27133 (newlines): New rule to describe 0 or more newlines.
27134 (commands): Accept `command' with trailing newline. Fixed the
27135 order in which arguments were passed to `grub_script_add_cmd'.
27136 Accept commands separated by newlines.
27137 (function): Changed to accept newlines.
27138 (menuentry) Rewritten.
27139
27140 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
27141 front of the list, instead of to the end.
27142
577b4050 271432006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
27144
27145 * util/i386/pc/grub-install.in (bindir): New variable.
27146 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
27147 Shaver <lbgwjl@gmail.com>.
27148
0d6e1189 271492006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
27150
27151 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
27152 grub/machine/linux.h
27153 * loader/i386/pc/linux.c: Likewise.
27154
27155 * include/grub/i386/pc/linux.h: Moved to ...
27156 * include/grub/i386/linux.h: ... here.
27157
27158 * include/grub/i386/linux.h (struct linux_kernel_params): New
27159 struct.
f19dbdb7 27160
31b86e9f 271612006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
27162
27163 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
27164 checking.
27165 (grub_video_vbe_blit_glyph): Likewise.
27166 (grub_video_vbe_blit_bitmap): Likewise.
27167 (grub_video_vbe_blit_render_target): Likewise.
27168
83b984de 271692006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
27170
27171 * configure.ac (--with-platform): Properly quote the square
27172 brackets.
27173
5f0413bd 271742006-05-08 Marco Gerards <marco@gnu.org>
27175
27176 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
27177 this...
27178 (kernel_elf_HEADERS): ...to this. Updated all users.
27179 (grubof_symlist.c): Renamed from this...
27180 (kernel_elf_symlist.c): ...to this. Updated all users.
27181 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27182 (grubof_SOURCES): Renamed from this...
27183 (kernel_elf_SOURCES): ...to this.
27184 (grubof_HEADERS): Renamed from this...
27185 (kernel_elf_HEADERS): ...to this.
27186 (grubof_CFLAGS): Renamed from this...
27187 (kernel_elf_CFLAGS): ...to this.
27188 (grubof_ASFLAGS): Renamed from this...
27189 (kernel_elf_ASFLAGS): ...to this.
27190 (grubof_LDFLAGS): Renamed from this...
27191 (kernel_elf_LDFLAGS): ...to this.
27192
27193 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
27194 this...
27195 (kernel_elf_HEADERS): ...to this. Updated all users.
27196 (grubof_symlist.c): Renamed from this...
27197 (kernel_elf_symlist.c): ...to this. Updated all users.
27198 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27199 (grubof_SOURCES): Renamed from this...
27200 (kernel_elf_SOURCES): ...to this.
27201 (grubof_HEADERS): Renamed from this...
27202 (kernel_elf_HEADERS): ...to this.
27203 (grubof_CFLAGS): Renamed from this...
27204 (kernel_elf_CFLAGS): ...to this.
27205 (grubof_ASFLAGS): Renamed from this...
27206 (kernel_elf_ASFLAGS): ...to this.
27207 (grubof_LDFLAGS): Renamed from this...
27208 (kernel_elf_LDFLAGS): ...to this.
27209
27210 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
27211 `kernel.elf' instead of `grubof'.
27212
05568c2e 272132006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
27214
27215 Add --with-platform to configure. Use pkglibdir instead of
27216 pkgdatadir. This is reported by Roger Leigh.
27217
27218 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
27219 (host_vendor): Likewise.
27220 (host_os): Likewise.
27221 (pkgdatadir): Likewise.
27222 (platform): New variable.
27223 (pkglibdir): Likewise.
27224 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 27225
05568c2e 27226 * util/i386/pc/grub-install.in (datadir): Removed.
27227 (host_vendor): Likewise.
27228 (host_os): Likewise.
27229 (pkgdatadir): Likewise.
27230 (platform): New variable.
27231 (pkglibdir): Likewise.
27232 Use PKGLIBDIR instead of PKGDATADIR.
27233
27234 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
27235 instead of GRUB_DATADIR.
27236 (main): Likewise.
27237 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27238 (main): Likewise.
27239 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27240 (main): Likewise.
27241
27242 * configure.ac (--with-platform): New option.
27243 Use PLATFORM instead of HOST_VENDOR to specify a platform.
27244
27245 * Makefile.in: Include a makefile based on PLATFORM instead of
27246 HOST_VENDOR.
27247 (pkgdatadir): Not appended by the machine type.
27248 (pkglibdir): Appended by the machine type.
27249 (host_vendor): Removed.
27250 (platform): New variable.
27251 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
27252 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
27253 (uninstall): Likewise.
27254
4e93851c 272552006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
27256
27257 Use the environment context in the menu. Remove the commands
27258 "default" and "timeout", and use variables instead.
f19dbdb7 27259
4e93851c 27260 * normal/menu.c: Include grub/env.h.
27261 (print_entry): Cast TITLE to silence gcc.
27262 (get_timeout): New function.
27263 (set_timeout): Likewise.
27264 (get_entry_number): Likewise.
27265 (run_menu): Use a default entry, a fallback entry and a timeout
27266 in the environment variables "default", "fallback" and
27267 "timeout". Also, tweak the default entry if it is not within the
27268 current menu entries.
27269 (grub_menu_run): Use a fallback entry in the environment variable
27270 "fallback".
27271
27272 * normal/main.c (read_config_file): Do not initialize
27273 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
27274 NEWMENU->TIMEOUT.
27275 (grub_normal_execute): Use a data slot to store the menu.
27276
27277 * include/grub/normal.h (struct grub_menu): Removed default_entry,
27278 fallback_entry and timeout.
27279 (struct grub_menu_list): Removed.
27280 (grub_menu_list_t): Likewise.
27281 (struct grub_context): Likewise.
27282 (grub_context_t): Likewise.
27283 (grub_context_get): Likewise.
27284 (grub_context_get_current_menu): Likewise.
27285 (grub_context_push_menu): Likewise.
27286 (grub_context_pop_menu): Likewise.
27287 (grub_default_init): Likewise.
27288 (grub_default_fini): Likewise.
27289 (grub_timeout_init): Likewise.
27290 (grub_timeout_fini): Likewise.
27291
27292 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
27293 and timeout.mod.
27294 (normal_mod_SOURCES): Removed normal/context.c.
27295
27296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
27297 commands/default.c, commands/timeout.c and normal/context.c.
27298 (normal_mod_SOURCES): Removed normal/context.c.
27299
27300 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
27301 commands/timeout.c and normal/context.c.
27302 (normal_mod_SOURCES): Removed normal/context.c.
27303
27304 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
27305 commands/default.c, commands/timeout.c and normal/context.c.
27306 (normal_mod_SOURCES): Removed normal/context.c.
27307
27308 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
27309 timeout.mod.
27310 (default_mod_SOURCES): Removed.
27311 (default_mod_CFLAGS): Likewise.
27312 (default_mod_LDFLAGS): Likewise.
27313 (timeout_mod_SOURCES): Removed.
27314 (timeout_mod_CFLAGS): Likewise.
27315 (timeout_mod_LDFLAGS): Likewise.
27316
27317 * DISTLIST: Removed commands/default.c, commands/timeout.c and
27318 normal/context.c.
27319
27320 * commands/default.c: Removed.
27321 * commands/timeout.c: Likewise.
27322 * normal/context.c: Likewise.
27323
1eb9cc1d 273242006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
27325
27326 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
27327
385bd9c1 273282006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
27329
27330 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
27331 "next" to "prev" for readability.
27332 (struct grub_env_sorted_var): New struct.
27333 (grub_env_context): Renamed to ...
27334 (initial_context): ... this.
27335 (grub_env_var_context): Renamed to ...
27336 (current_context): ... this.
27337 (grub_env_find): Look only at CURRENT_CONTEXT.
27338 (grub_env_context_open): Rewritten to copy exported variables from
27339 previous context.
27340 (grub_env_context_close): Rewritten according to the new
27341 scheme. Also, add an assertion to prevent the initial context from
27342 removed.
27343 (grub_env_insert): Removed the code for the sorted list.
27344 (grub_env_remove): Likewise.
27345 (grub_env_export): Simply mark the variable with
27346 GRUB_ENV_VAR_GLOBAL.
27347 (grub_env_set): A cosmetic change for naming consistency.
27348 (grub_env_get): Likewise.
27349 (grub_env_unset): Likewise.
27350 (grub_env_iterate): Rewritten to sort variables within this
27351 function.
27352 (grub_register_variable_hook): Fixed for naming consistency. Call
27353 grub_env_find again, only if NAME is not found at the first time.
27354 (mangle_data_slot_name): New function.
27355 (grub_env_set_data_slot): Likewise.
27356 (grub_env_get_data_slot): Likewise.
27357 (grub_env_unset_data_slot): Likewise.
27358
27359 * include/grub/env.h (grub_env_var_type): New enum.
27360 (GRUB_ENV_VAR_LOCAL): New constant.
27361 (GRUB_ENV_VAR_GLOBAL): Likewise.
27362 (GRUB_ENV_VAR_DATA): Likewise.
27363 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
27364 "type".
27365 (grub_env_set): Replace VAR with NAME for consistency.
27366 (grub_register_variable_hook): Likewise.
27367 (grub_env_export): Specify the name of the argument.
27368 (grub_env_set_data_slot): New prototype.
27369 (grub_env_get_data_slot): Likewise.
27370 (grub_env_unset_data_slot): Likewise.
27371
7f362539 273722006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27373
27374 Extend the loader so that GRUB can accept a loader which comes
27375 back to GRUB when a loaded image exits. Also, this change adds
27376 support for a chainloader on EFI.
f19dbdb7 27377
7f362539 27378 * term/efi/console.c: Include grub/misc.h.
27379 (grub_console_checkkey): Display a scan code on the top for
27380 debugging. This will be removed once the EFI port gets stable.
27381 Correct the scan code mapping.
27382
27383 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
27384 allocate memory from larger regions, in order to reduce the number
27385 of allocated regions. Otherwise, the MacOSX loader panics.
27386 (filter_memory_map): Avoid less than 1MB for compatibility with
27387 other loaders.
27388 (add_memory_regions): Allocate from the tail of a region, if
27389 possible, to avoid allocating a region near to 1MB, for the MacOSX
27390 loader.
27391
27392 * kern/efi/init.c (grub_efi_set_prefix): Specify
27393 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
27394
27395 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
27396 argument IMAGE_HANDLE and specify it to get a loaded image.
27397 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
27398 grub_efi_get_loaded_image.
fe6b695a 27399 (grub_efi_get_filename): Divide the length by the size of
7f362539 27400 grub_efi_char16_t.
27401 (grub_efi_get_device_path): New function.
27402 (grub_efi_print_device_path): Print End Device Path nodes. Divide
27403 the length by the size of grub_efi_char16_t for a file path device
27404 path node.
27405
27406 * kern/loader.c (grub_loader_noreturn): New variable.
27407 (grub_loader_set): Accept a new argument NORETURN. Set
27408 GRUB_LOADER_NORETURN to NORETURN.
27409 All callers changed.
27410 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
27411 grub_machine_fini.
27412
27413 * include/grub/efi/efi.h (grub_efi_get_device_path): New
27414 prototype.
27415 (grub_efi_get_loaded_image): Take an argument to specify an image
27416 handle.
27417
27418 * include/grub/loader.h (grub_loader_set): Added one more argument
27419 NORETURN.
27420
27421 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
27422 instead of grub_efi_open_protocol.
27423 (grub_efidisk_get_device_name): Likewise.
27424 (grub_efidisk_close): Print a newline.
27425 (grub_efidisk_get_device_handle): Fixed to use
27426 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
27427 GRUB_EFI_DEVICE_PATH_TYPE.
27428
27429 * disk/efi/efidisk.c (device_path_guid): Moved to ...
27430 * kern/efi/efi.c (device_path_guid): ... here.
27431
27432 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
27433 chain.mod.
27434 (kernel_mod_HEADERS): Added efi/disk.h.
27435 (_chain_mod_SOURCES): New variable.
27436 (_chain_mod_CFLAGS): Likewise.
27437 (_chain_mod_LDFLAGS): Likewise.
27438 (chain_mod_SOURCES): Likewise.
27439 (chain_mod_CFLAGS): Likewise.
27440 (chain_mod_LDFLAGS): Likewise.
27441
27442 * DISTLIST: Added include/grub/efi/chainloader.h,
27443 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
27444
27445 * include/grub/efi/chainloader.h: New file.
27446 * loader/efi/chainloader.c: Likewise.
27447 * loader/efi/chainloader_normal.c: Likewise.
27448
c0111d6e 274492006-04-30 Marco Gerards <marco@gnu.org>
27450
27451 * commands/configfile.c (grub_cmd_source): New function.
27452 (GRUB_MOD_INIT): Register the commands `source' and `.'.
27453 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
27454
df5341da 274552006-04-30 Marco Gerards <marco@gnu.org>
27456
27457 * normal/execute.c (grub_script_execute_cmd): Change the return
27458 type to `grub_err_t'. Correctly return the error.
27459 (grub_script_execute_cmdline): In case a command line is not a
27460 command or a function, try to interpret it as an assignment.
27461
f85934bd 274622006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27463
27464 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
27465 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
27466 skip a node whose name is obviously invalid as UTF-16,
27467 i.e. contains a NUL character. Stop the iteration when the last
27468 directory entry is found. Instead of using the return value of
27469 grub_hfsplus_btree_iterate_node, store the value in RET and use
27470 it, because the iterator can be stopped by the last directory
27471 entry.
27472
8f8a2cf8 274732006-04-30 Marco Gerards <marco@gnu.org>
27474
27475 * include/grub/env.h (grub_env_export): New prototype. Reported
27476 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
27477
a27e84ce 274782006-04-30 Marco Gerards <marco@gnu.org>
27479
27480 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
27481 size of the extents in a catalog file record.
27482
eaef0553 274832006-04-29 Marco Gerards <marco@gnu.org>
27484
27485 * commands/configfile.c (grub_cmd_configfile): Execute the
27486 configfile within its own context.
27487
27488 * include/grub/env.h (grub_env_context_open): New prototype.
27489 (grub_env_context_close): Likewise.
27490
27491 * kern/env.c (grub_env): Removed.
27492 (grub_env_sorted): Likewise.
27493 (grub_env_context): New variable.
27494 (grub_env_var_context): Likewise.
27495 (grub_env_find): Search both the active context and the global
27496 context.
27497 (grub_env_context_open): New function.
27498 (grub_env_context_close): Likewise.
27499 (grub_env_insert): Likewise.
27500 (grub_env_remove): Likewise.
27501 (grub_env_export): Likewise.
27502 (grub_env_set): Changed to use helper functions to avoid code
27503 duplication.
27504 (grub_env_iterate): Rewritten so both the current context and the
27505 global context are being used.
27506
27507 * normal/command.c (export_command): New function.
27508 (grub_command_init): Register the `export' function.
27509
7b455f4d 275102006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
27511
27512 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
27513 explicitly to suppress gcc's warnings.
27514 * fs/fat.c (grub_fat_find_dir): Likewise.
27515 (grub_fat_label): Likewise.
27516 * fs/xfs.c (grub_xfs_read_inode): Likewise.
27517 (grub_xfs_mount): Likewise.
27518 (grub_xfs_label): Likewise.
27519 * fs/affs.c (grub_affs_mount): Likewise.
27520 (grub_affs_label): Likewise.
27521 (grub_affs_iterate_dir): Likewise.
27522 * fs/sfs.c (grub_sfs_mount): Likewise.
27523 (grub_sfs_iterate_dir): Likewise.
27524 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
27525 * fs/hfs.c (grub_hfs_mount): Likewise.
27526 (grub_hfs_cmp_catkeys): Likewise.
27527 (grub_hfs_find_dir): Likewise.
27528 (grub_hfs_dir): Likewise.
27529 (grub_hfs_label): Likewise.
27530 * fs/jfs.c (grub_jfs_mount): Likewise.
27531 (grub_jfs_opendir): Likewise.
27532 (grub_jfs_getent): Likewise.
27533 (grub_jfs_lookup_symlink): Likewise.
27534 (grub_jfs_label): Likewise.
27535 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
27536 (grub_hfsplus_iterate_dir): Likewise.
27537 (grub_hfsplus_btree_iterate_node): Made static.
27538
27539 * util/grub-emu.c (prefix): New variable.
27540 (grub_machine_set_prefix): New function.
27541 (main): Do not set the environment variable "prefix" here. Only
27542 set PREFIX, which is used later by grub_machine_set_prefix.
27543
27544 * include/grub/video.h: Do not include grub/symbol.h.
27545 (grub_video_register): Not exported. This symbol is not defined in
27546 the kernel.
27547 (grub_video_unregister): Likewise.
27548 (grub_video_iterate): Likewise.
27549 (grub_video_setup): Likewise.
27550 (grub_video_restore): Likewise.
27551 (grub_video_get_info): Likewise.
27552 (grub_video_get_blit_format): Likewise.
27553 (grub_video_set_palette): Likewise.
27554 (grub_video_get_palette): Likewise.
27555 (grub_video_set_viewport): Likewise.
27556 (grub_video_get_viewport): Likewise.
27557 (grub_video_map_color): Likewise.
27558 (grub_video_map_rgb): Likewise.
27559 (grub_video_map_rgba): Likewise.
27560 (grub_video_fill_rect): Likewise.
27561 (grub_video_blit_glyph): Likewise.
27562 (grub_video_blit_bitmap): Likewise.
27563 (grub_video_blit_render_target): Likewise.
27564 (grub_video_scroll): Likewise.
27565 (grub_video_swap_buffers): Likewise.
27566 (grub_video_create_render_target): Likewise.
27567 (grub_video_delete_render_target): Likewise.
27568 (grub_video_set_active_render_target): Likewise.
27569
27570 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
27571 Undefined.
27572 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
27573
27574 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
27575 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27576 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27577 instead of $(srcdir)/genkernsyms.sh.
27578
27579 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
27580 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27581 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27582 instead of $(srcdir)/genkernsyms.sh.
27583
27584 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
27585 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27586 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27587 instead of $(srcdir)/genkernsyms.sh.
27588
27589 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
27590 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27591 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27592 instead of $(srcdir)/genkernsyms.sh.
27593
27594 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
27595 genkernsyms.sh.
27596
27597 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
27598 genkernsyms.sh.
27599 (gensymlist.sh): New target.
27600 (genkernsyms.sh): Likewise.
27601
27602 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
27603 genkernsyms.sh.in and gensymlist.sh.in.
27604
27605 * genkernsyms.sh: Removed.
27606 * gensymlist.sh: Likewise.
f19dbdb7 27607
7b455f4d 27608 * genkernsyms.sh.in: New file.
27609 * gensymlist.sh.in: Likewise.
27610
1885bb27 276112006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27612
27613 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
27614 clobber "prefix", since we may have already set it manually.
27615
71538dff 276162006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27617
27618 * kern/misc.c (abort): New alias for grub_abort.
27619
2965c7cc 276202006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
27621
27622 A new machine-specific function "grub_machine_set_prefix" is
27623 defined. This is called after loading modules, so that a prefix
27624 initialization can use modules. Also, this change adds an
27625 intensive debugging feature for the memory manager via the
27626 configure option "--enable-mm-debug".
f19dbdb7 27627
2965c7cc 27628 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
27629 PART.LEN.
27630
27631 * kern/sparc64/ieee1275/init.c (abort): Removed.
27632 (grub_stop): Likewise.
27633 (grub_exit): New function.
27634 (grub_set_prefix): Renamed to ...
27635 (grub_machine_set_prefix): ... this.
27636 (grub_machine_init): Do not call grub_set_prefix.
27637
27638 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
27639 (grub_machine_set_prefix): ... this.
27640 (grub_machine_init): Do not call grub_set_prefix.
27641
27642 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
27643 (grub_machine_init): Do not set the prefix here.
27644
27645 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
27646
27647 * kern/efi/init.c: Include grub/mm.h.
27648 (grub_efi_set_prefix): New function.
27649
27650 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
27651 (grub_efi_get_filename): New function.
27652 (grub_print_device_path): Renamed to ...
27653 (grub_efi_print_device_path): ... this.
27654
27655 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
27656 [MM_DEBUG] (grub_realloc): Likewise.
27657 [MM_DEBUG] (grub_free): Likewise.
27658 [MM_DEBUG] (grub_memalign): Likewise.
27659 [MM_DEBUG] (grub_mm_debug): New variable.
27660 [MM_DEBUG] (grub_debug_malloc): New function.
27661 [MM_DEBUG] (grub_debug_free): New function.
27662 [MM_DEBUG] (grub_debug_realloc): New function.
27663 [MM_DEBUG] (grub_debug_memalign): New function.
27664
27665 * kern/misc.c (grub_abort): Print a newline to distinguish
27666 the message.
27667
27668 * kern/main.c (grub_main): Call grub_machine_set_prefix and
27669 grub_set_root_dev after loading modules. This is necessary when
27670 setting a prefix depends on modules.
27671
27672 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
27673 (grub_efi_print_device_path): ... this.
27674 (grub_efi_get_filename): New prototype.
27675 (grub_efi_set_prefix): Likewise.
27676
27677 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
27678 and grub/disk.h.
27679 (grub_efidisk_get_device_handle): New prototype.
27680 (grub_efidisk_get_device_name): Likewise.
27681
27682 * include/grub/mm.h: Include config.h.
27683 (MM_DEBUG): Removed.
27684 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
27685 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
27686 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
27687 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
27688 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
27689 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
27690 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
27691 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
27692 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
27693
27694 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
27695
27696 * disk/efi/efidisk.c: Include grub/partition.h.
27697 (iterate_child_devices): New function.
27698 (add_device): First, compare only last device path nodes, so that
27699 devices are sorted by the types.
27700 (grub_efidisk_get_device_handle): New function.
27701 (grub_efidisk_get_device_name): Likewise.
27702
27703 * configure.ac (--enable-mm-debug): New option to enable the
27704 memory manager debugging feature. This makes the binary much
27705 bigger, so is disabled by default.
27706
9cacaa17 277072006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
27708
27709 Use grub_abort instead of grub_stop, and grub_exit must be
27710 define in each architecture now. Also, this change adds support
27711 for EFI disks.
f19dbdb7 27712
9cacaa17 27713 * util/i386/pc/grub-probefs.c: Include grub/term.h.
27714 (grub_getkey): New function.
27715 (grub_term_get_current): Likewise.
27716
27717 * util/i386/pc/grub-setup.c: Include grub/term.h.
27718 (grub_getkey): New function.
27719 (grub_term_get_current): Likewise.
27720
27721 * util/misc.c (grub_stop): Renamed to ...
27722 (grub_exit): ... this.
27723
27724 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
27725 (grub_exit): ... this.
27726 (grub_machine_init): Use grub_abort instead of abort.
27727 (grub_stop): Removed.
27728
27729 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
27730 abort.
27731
27732 * kern/i386/pc/startup.S (grub_exit): New function.
27733 (cold_reboot): New label.
27734
27735 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
27736 (grub_efi_init): Call grub_efidisk_init.
27737 (grub_efi_fini): Call grub_efidisk_fini.
27738
27739 * kern/efi/efi.c: Include grub/mm.h.
27740 (grub_efi_console_control_guid): Renamed to ...
27741 (console_control_guid): ... this.
27742 (grub_efi_loaded_image_guid): Renamed to ...
27743 (loaded_image_guid): ... this.
27744 (grub_efi_locate_handle): New function.
27745 (grub_efi_open_protocol): Likewise.
27746 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
27747 GRUB_EFI_CONSOLE_CONTROL_GUID.
27748 (grub_efi_exit): Removed.
27749 (grub_stop): Likewise.
27750 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
27751 (grub_exit): New function.
27752 (grub_print_device_path): Likewise.
27753
27754 * kern/rescue.c (grub_rescue_cmd_exit): New function.
27755 (grub_enter_rescue_mode): Register "exit".
27756
27757 * kern/misc.c (grub_real_dprintf): A cosmetic change.
27758 (grub_abort): New function.
27759
27760 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
27761
27762 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
27763
27764 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
27765
27766 * include/grub/efi/efi.h (grub_efi_exit): Removed.
27767 (grub_print_device_path): New prototype.
27768 (grub_efi_locate_handle): Likewise.
27769 (grub_efi_open_protocol): Likewise.
27770
27771 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
27772 * disk/efi/efidisk.c: Likewise.
27773
27774 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
27775
27776 * include/grub/efi/console_control.h
27777 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
27778
27779 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
27780 last 8 bytes as an array.
27781 (GRUB_EFI_DISK_IO_GUID): New macro.
27782 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
27783 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
27784 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
27785 grub_uint8_t.
27786 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
27787 (struct grub_efi_device_path): Rename the member "sub_type" to
27788 "subtype".
27789 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
27790 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
27791 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
27792 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
27793 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
27794 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
27795 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
27796 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
27797 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
27798 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
27799 (struct grub_efi_pci_device_path): New structure.
27800 (grub_efi_pci_device_path_t): New type.
27801 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
27802 (struct grub_efi_pccard_device_path): New structure.
27803 (grub_efi_pccard_device_path_t): New type.
27804 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
27805 (struct grub_efi_memory_mapped_device_path): New structure.
27806 (grub_efi_memory_mapped_device_path_t): New type.
27807 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
27808 (struct grub_efi_vendor_device_path): New structure.
27809 (grub_efi_vendor_device_path_t): New type.
27810 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
27811 (struct grub_efi_controller_device_path): New structure.
27812 (grub_efi_controller_device_path_t): New type.
27813 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
27814 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
27815 (struct grub_efi_acpi_device_path): New structure.
27816 (grub_efi_acpi_device_path_t): New type.
27817 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
27818 (struct grub_efi_expanded_acpi_device_path): New structure.
27819 (grub_efi_expanded_acpi_device_path_t): New type.
27820 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
27821 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
27822 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
27823 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
27824 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
27825 (struct grub_efi_atapi_device_path): New structure.
27826 (grub_efi_atapi_device_path_t): New type.
27827 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
27828 (struct grub_efi_fibre_channel_device_path): New structure.
27829 (grub_efi_fibre_channel_device_path_t): New type.
27830 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
27831 (struct grub_efi_1394_device_path): New structure.
27832 (grub_efi_1394_device_path_t): New type.
27833 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
27834 (struct grub_efi_usb_device_path): New structure.
27835 (grub_efi_usb_device_path_t): New type.
27836 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
27837 (struct grub_efi_usb_class_device_path): New structure.
27838 (grub_efi_usb_class_device_path_t): New type.
27839 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
27840 (struct grub_efi_i2o_device_path): New structure.
27841 (grub_efi_i2o_device_path_t): New type.
27842 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
27843 (struct grub_efi_mac_address_device_path): New structure.
27844 (grub_efi_mac_address_device_path_t): New type.
27845 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
27846 (struct grub_efi_ipv4_device_path): New structure.
27847 (grub_efi_ipv4_device_path_t): New type.
27848 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
27849 (struct grub_efi_ipv6_device_path): New structure.
27850 (grub_efi_ipv6_device_path_t): New type.
27851 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
27852 (struct grub_efi_infiniband_device_path): New structure.
27853 (grub_efi_infiniband_device_path_t): New type.
27854 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
27855 (struct grub_efi_uart_device_path): New structure.
27856 (grub_efi_uart_device_path_t): New type.
27857 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
27858 (struct grub_efi_vendor_messaging_device_path): New structure.
27859 (grub_efi_vendor_messaging_device_path_t): New type.
27860 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
27861 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
27862 (struct grub_efi_hard_drive_device_path): New structure.
27863 (grub_efi_hard_drive_device_path_t): New type.
27864 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
27865 (struct grub_efi_cdrom_device_path): New structure.
27866 (grub_efi_cdrom_device_path_t): New type.
27867 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
27868 (struct grub_efi_vendor_media_device_path): New structure.
27869 (grub_efi_vendor_media_device_path_t): New type.
27870 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
27871 (struct grub_efi_file_path_device_path): New structure.
27872 (grub_efi_file_path_device_path_t): New type.
27873 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
27874 (struct grub_efi_protocol_device_path): New structure.
27875 (grub_efi_protocol_device_path_t): New type.
27876 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
27877 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
27878 (struct grub_efi_bios_device_path): New structure.
27879 (grub_efi_bios_device_path_t): New type.
27880 (struct grub_efi_disk_io): New structure.
27881 (grub_efi_disk_io_t): New type.
27882 (struct grub_efi_block_io_media): New structure.
27883 (grub_efi_block_io_media_t): New type.
27884 (struct grub_efi_block_io): New structure.
27885 (grub_efi_block_io_t): New type.
27886
27887 * include/grub/misc.h (grub_stop): Removed.
27888 (grub_exit): New prototype.
27889 (grub_abort): Likewise.
27890
27891 * include/grub/disk.h (enum grub_disk_dev_id): Added
27892 GRUB_DISK_DEVICE_EFIDISK_ID.
27893
27894 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
27895 disk/efi/efidisk.c.
27896 (kernel_syms.lst): Remove the target if an error occurs.
27897
49986a9f 278982006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
27899
27900 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
27901 as it was simply too buggy.
27902
970d3b8a 279032006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
27904
27905 * kern/misc.c (grub_lltoa): New function.
27906 (grub_vsprintf): Added support for the long long suffix,
27907 i.e. "ll".
27908
ff04ec24 279092006-04-20 Hollis Blanchard <hollis@penguinppc.org>
27910
27911 * Makefile.in (LDFLAGS): Add variable.
27912 (LD): Remove variable.
27913 * configure.ac: Add -m32 to LDFLAGS.
27914 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
27915 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
27916 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
27917 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
27918 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
27919 variables.
27920 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
27921 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
27922 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
27923
37e5e1a4 279242006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
27925
27926 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
27927 length for unknown glyph.
27928
c352d8dd 279292006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
27930
2eab1c0d 27931 Add support for pre-loaded modules into the EFI port.
f19dbdb7 27932
2eab1c0d 27933 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
27934 completely. Accept one more argument DIR. The caller has changed.
27935
27936 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
27937
27938 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
27939 (grub_efi_loaded_image_guid): New variable.
27940 (grub_efi_get_loaded_image): New function.
27941 (grub_arch_modules_addr): Likewise.
27942
27943 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
27944 prototype.
27945
27946 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
27947 (struct grub_efi_loaded_image): New structure.
27948 (grub_efi_loaded_image_t): New type.
27949
279502006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27951
c352d8dd 27952 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
27953 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
27954 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
27955
6d01d6b4 279562006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
27957
27958 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
27959
976a4ea0 279602006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
27961
27962 * DISTLIST: Added include/grub/efi/console.h,
27963 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
27964 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
27965
27966 * include/grub/efi/console.h: New file.
27967 * include/grub/efi/time.h: Likewise.
27968 * include/grub/i386/efi/kernel.h: Likewise.
27969 * kern/efi/init.c: Likewise.
27970 * kern/efi/mm.c: Likewise.
27971 * term/efi/console.c: Likewise.
f19dbdb7 27972
976a4ea0 27973 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
27974 (grub_stop): Removed.
27975 (grub_get_rtc): Likewise.
27976 (grub_machine_init): Simply call grub_efi_init.
27977 (grub_machine_fini): Call grub_efi_fini.
27978
27979 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
27980 (grub_efi_output_string): Removed.
27981 (grub_efi_stall): New function.
27982 (grub_stop): Likewise.
27983 (grub_get_rtc): Likewise.
27984
27985 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
27986 (grub_efi_stall): New prototype.
27987 (grub_efi_allocate_pages): Likewise.
27988 (grub_efi_free_pages): Likewise.
27989 (grub_efi_get_memory_map): Likewise.
27990 (grub_efi_mm_init): Likewise.
27991 (grub_efi_mm_fini): Likewise.
27992 (grub_efi_init): Likewise.
27993 (grub_efi_fini): Likewise.
27994
27995 * include/grub/i386/efi/time.h: Do not include
27996 grub/symbol.h. Include grub/efi/time.h.
27997 (GRUB_TICKS_PER_SECOND): Removed.
27998 (grub_get_rtc): Likewise.
27999
28000 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
28001 Added padding. The EFI spec is buggy.
28002 (GRUB_EFI_BLACK): New macro.
28003 (GRUB_EFI_BLUE): Likewise.
28004 (GRUB_EFI_GREEN): Likewise.
28005 (GRUB_EFI_CYAN): Likewise.
28006 (GRUB_EFI_RED): Likewise.
28007 (GRUB_EFI_MAGENTA): Likewise.
28008 (GRUB_EFI_BROWN): Likewise.
28009 (GRUB_EFI_LIGHTGRAY): Likewise.
28010 (GRUB_EFI_BRIGHT): Likewise.
28011 (GRUB_EFI_DARKGRAY): Likewise.
28012 (GRUB_EFI_LIGHTBLUE): Likewise.
28013 (GRUB_EFI_LIGHTGREEN): Likewise.
28014 (GRUB_EFI_LIGHTCYAN): Likewise.
28015 (GRUB_EFI_LIGHTRED): Likewise.
28016 (GRUB_EFI_LIGHTMAGENTA): Likewise.
28017 (GRUB_EFI_YELLOW): Likewise.
28018 (GRUB_EFI_WHITE): Likewise.
28019 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
28020 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
28021 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
28022 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
28023 (GRUB_EFI_BACKGROUND_RED): Likewise.
28024 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
28025 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
28026 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
28027 (GRUB_EFI_TEXT_ATTR): Likewise.
28028
28029 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
28030 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28031 (kernel_mod_HEADERS): Added efi/time.h.
28032
83709125 280332006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
28034
28035 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
28036 include/grub/efi/api.h, include/grub/efi/console_control.h,
28037 include/grub/efi/efi.h, include/grub/efi/pe32.h,
28038 include/grub/i386/efi/time.h, kern/efi/efi.c,
28039 kern/i386/efi/init.c, kern/i386/efi/startup.S,
28040 and util/i386/efi/grub-mkimage.c.
28041
28042 * Makefile.in (RMKFILES): Added i386-efi.rmk.
28043
28044 * genmk.rb (PModule#rule): Do not export symbols if
28045 #{prefix}_EXPORTS is set to "no".
28046
28047 * conf/i386-efi.mk: New file.
28048 * conf/i386-efi.rmk: Likewise.
28049 * include/grub/efi/api.h: Likewise.
28050 * include/grub/efi/console_control.h: Likewise.
28051 * include/grub/efi/efi.h: Likewise.
28052 * include/grub/efi/pe32.h: Likewise.
28053 * include/grub/i386/efi/time.h: Likewise.
28054 * kern/efi/efi.c: Likewise.
28055 * kern/i386/efi/init.c: Likewise.
28056 * kern/i386/efi/startup.S: Likewise.
28057 * util/i386/efi/grub-mkimage.c: Likewise.
28058
280592006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 28060
28061 * include/grub/script.h: Include <grub/parser.h> and
28062 "grub_script.tab.h".
28063 (struct grub_lexer_param): New struct.
28064 (struct grub_parser_param): Likewise.
28065 (grub_script_create_arglist): Pass the state in an argument.
28066 (grub_script_add_arglist): Likewise.
28067 (grub_script_create_cmdline): Likewise.
28068 (grub_script_create_cmdblock): Likewise.
28069 (grub_script_create_cmdif): Likewise.
28070 (grub_script_create_cmdmenu): Likewise.
28071 (grub_script_add_cmd): Likewise.
28072 (grub_script_arg_add): Likewise.
28073 (grub_script_lexer_ref): Likewise.
28074 (grub_script_lexer_deref): Likewise.
28075 (grub_script_lexer_record_start): Likewise.
28076 (grub_script_lexer_record_stop): Likewise.
28077 (grub_script_mem_record): Likewise.
28078 (grub_script_mem_record_stop): Likewise.
28079 (grub_script_malloc): Likewise.
28080 (grub_script_yylex): Likewise.
28081 (grub_script_yyparse): Likewise.
28082 (grub_script_yyerror): Likewise.
28083 (grub_script_yylex): Likewise.
28084 (grub_script_lexer_init): Return the state.
28085
28086 * normal/lexer.c (grub_script_lexer_state): Removed variable.
28087 (grub_script_lexer_done): Likewise.
28088 (grub_script_lexer_getline): Likewise.
28089 (grub_script_lexer_refs): Likewise.
28090 (script): Likewise.
28091 (newscript): Likewise.
28092 (record): Likewise.
28093 (recording): Likewise.
28094 (recordpos): Likewise.
28095 (recordlen): Likewise.
28096 (grub_script_lexer_init): Return the state instead of setting
28097 global variables.
28098 (grub_script_lexer_ref): Use the newly added argument for state
28099 instead of globals.
28100 (grub_script_lexer_deref): Likewise.
28101 (grub_script_lexer_record_start): Likewise.
28102 (grub_script_lexer_record_stop): Likewise.
28103 (recordchar): Likewise.
28104 (nextchar): Likewise.
28105 (grub_script_yylex2): Likewise.
28106 (grub_script_yylex): Likewise.
28107 (grub_script_yyerror): Likewise.
28108
28109 * normal/parser.y (func_mem): Removed variable.
28110 (menu_entry): Likewise.
28111 (err): Likewise.
28112 (%lex-param): New parser option.
28113 (%parse-param): Likewise.
28114 (script): Always return the AST.
28115 (argument): Pass the state around.
28116 (arguments): Likewise.
28117 (grubcmd): Likewise.
28118 (commands): Likewise.
28119 (function): Likewise.
28120 (menuentry): Likewise.
28121 (if_statement): Likewise.
28122 (if): Likewise.
28123
28124 * normal/script.c (grub_script_memused): Removed variable.
28125 (grub_script_parsed): Likewise.
28126 (grub_script_malloc): Added a state argument. Use that instead of
28127 global variables.
28128 (grub_script_mem_record): Likewise.
28129 (grub_script_mem_record_stop): Likewise.
28130 (grub_script_arg_add): Likewise.
28131 (grub_script_add_arglist): Likewise.
28132 (grub_script_create_cmdline): Likewise.
28133 (grub_script_create_cmdif): Likewise.
28134 (grub_script_create_cmdmenu): Likewise.
28135 (grub_script_add_cmd): Likewise.
28136 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 28137
e2a8c904 281382006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 28139
28140 * normal/command.c (grub_command_init): Remove the title command.
28141
28142 * normal/lexer.c (grub_script_yylex): Renamed from this...
28143 (grub_script_yylex2): ... to this.
28144 (grub_script_yylex): New function. Temporary
28145 introduced to filter some tokens.
28146 (grub_script_yyerror): Print a newline.
28147
28148 * normal/main.c (read_config_file): Output information about the
28149 lines that contain errors. Wait for a key after all lines have
28150 been processed. Don't return an empty menu.
28151
28152 * normal/parser.y (func_mem): Don't initialize.
28153 (menu_entry): Likewise.
28154 (err): New variable.
28155 (script): Don't return anything when an error was encountered.
28156 (ws, returns): Removed rules.
28157 (argument): Disabled concatenated variable support.
28158 (arguments): Remove explicit separators.
28159 (grubcmd): Likewise.
28160 (function): Likewise.
28161 (menuentry): Likewise.
28162 (if): Likewise.
28163 (commands): Likewise. Add error handling.
28164
28165 * normal/script.c (grub_script_create_cmdline): If
28166 `grub_script_parsed' is 0, assume the parser encountered an error.
28167
c9a86192 281682006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
28169
28170 * configure.ac: Add support for EFI. Fix the typo
28171 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
28172
70f3b243 281732006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28174
28175 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
28176 foreign multibyte characters should be shown correctly.
28177
65f201ad 281782006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28179
28180 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
28181 calculation.
28182 (read_config_file): Made it to close file before returning.
28183
b4b93674 281842006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
28185
28186 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
28187 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
28188 video/i386/pc/vbefill.c.
28189
28190 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
28191 video/i386/pc/vbefill.c.
28192
28193 * include/grub/video.h (grub_video_blit_format): New enum.
28194 (grub_video_mode_info): Added new member blit_format.
28195 (grub_video_get_blit_format): New function prototype.
28196
28197 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
28198 function prototype.
28199 (grub_video_vbe_map_rgb): Likewise.
28200 (grub_video_vbe_unmap_color): Likewise.
28201
28202 * include/grub/i386/pc/vbeblit.h: New file.
28203
28204 * include/grub/i386/pc/vbefill.h: New file.
28205
28206 * video/video.c (grub_video_get_blit_format): New function.
28207 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
28208 (grub_video_vbe_map_rgb): Likewise.
28209 (grub_video_vbe_unmap_color): Likewise.
28210
28211 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
28212 optimized fills.
28213 (grub_video_vbe_blit_render_target): Changed to use more optimized
28214 blits.
28215 (grub_video_vbe_setup): Added detection for optimized settings.
28216 (grub_video_vbe_create_render_target): Likewise.
28217
28218 * video/i386/pc/vbeblit.c: New file.
28219
28220 * video/i386/pc/vbefill.c: New file.
28221
c2379b9c 282222006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
28223
28224 * font/manager.c (grub_font_get_glyph): Removed font fixup from
28225 here...
28226
28227 * util/unifont2pff.rb: ... and moved it to here. Improved argument
28228 parsing to support both hex and dec ranges. If filename was missing
28229 show usage information.
28230
bd0d7896 282312006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
28232
28233 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
28234 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
28235
28236 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
28237 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
28238 (video_mod_SOURCES): Added.
28239 (video_mod_CFLAGS): Likewise.
28240 (video_mod_LDFLAGS): Likewise.
28241 (gfxterm_mod_SOURCES): Likewise.
28242 (gfxterm_mod_CFLAGS): Likewise.
28243 (gfxterm_mod_LDFLAGS): Likewise.
28244 (videotest_mod_SOURCES): Likewise.
28245 (videotest_mod_CFLAGS): Likewise.
28246 (videotest_mod_LDFLAGS): Likewise.
28247 (vesafb_mod_SOURCES): Removed.
28248 (vesafb_mod_CFLAGS): Likewise.
28249 (vesafb_mod_LDFLAGS): Likewise.
28250 (vga_mod_SOURCES): Likewise.
28251 (vga_mod_CFLAGS): Likewise.
28252 (vga_mod_LDFLAGS): Likewise.
28253
28254 * commands/videotest.c: New file.
28255
28256 * font/manager.c (fill_with_default_glyph): Modified to use
28257 grub_font_glyph.
28258 (grub_font_get_glyph): Likewise.
28259 (fontmanager): Renamed from this...
28260 (font_manager): ... to this.
28261
28262 * include/grub/font.h (grub_font_glyph): Added new structure.
28263 (grub_font_get_glyph): Modified to use grub_font_glyph.
28264
28265 * include/grub/misc.h (grub_abs): Added as inline function.
28266
28267 * include/grub/video.h: New file.
28268
28269 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
28270 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
28271 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
28272 (grub_vbe_get_controller_info): Renamed from this...
28273 (grub_vbe_bios_get_controller_info): ... to this.
28274 (grub_vbe_get_mode_info): Renamed from this...
28275 (grub_vbe_bios_get_mode_info): ... to this.
28276 (grub_vbe_set_mode): Renamed from this...
28277 (grub_vbe_bios_set_mode): ... to this.
28278 (grub_vbe_get_mode): Renamed from this...
28279 (grub_vbe_bios_get_mode): ... to this.
28280 (grub_vbe_set_memory_window): Renamed from this...
28281 (grub_vbe_bios_set_memory_window): ... to this.
28282 (grub_vbe_get_memory_window): Renamed from this...
28283 (grub_vbe_bios_get_memory_window): ... to this.
28284 (grub_vbe_set_scanline_length): Renamed from this...
28285 (grub_vbe_set_scanline_length): ... to this.
28286 (grub_vbe_get_scanline_length): Renamed from this...
28287 (grub_vbe_bios_get_scanline_length): ... to this.
28288 (grub_vbe_set_display_start): Renamed from this...
28289 (grub_vbe_bios_set_display_start): ... to this.
28290 (grub_vbe_get_display_start): Renamed from this...
28291 (grub_vbe_bios_get_display_start): ... to this.
28292 (grub_vbe_set_palette_data): Renamed from this...
28293 (grub_vbe_bios_set_palette_data): ... to this.
28294 (grub_vbe_set_pixel_rgb): Removed.
28295 (grub_vbe_set_pixel_index): Likewise.
28296
28297 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
28298 from this...
28299 (grub_vbe_bios_get_controller_info): ... to this.
28300 (grub_vbe_get_mode_info): Renamed from this...
28301 (grub_vbe_bios_get_mode_info): ... to this.
28302 (grub_vbe_set_mode): Renamed from this...
28303 (grub_vbe_bios_set_mode): ... to this.
28304 (grub_vbe_get_mode): Renamed from this...
28305 (grub_vbe_bios_get_mode): ... to this.
28306 (grub_vbe_set_memory_window): Renamed from this...
28307 (grub_vbe_bios_set_memory_window): ... to this.
28308 (grub_vbe_get_memory_window): Renamed from this...
28309 (grub_vbe_bios_get_memory_window): ... to this.
28310 (grub_vbe_set_scanline_length): Renamed from this...
28311 (grub_vbe_set_scanline_length): ... to this.
28312 (grub_vbe_get_scanline_length): Renamed from this...
28313 (grub_vbe_bios_get_scanline_length): ... to this.
28314 (grub_vbe_set_display_start): Renamed from this...
28315 (grub_vbe_bios_set_display_start): ... to this.
28316 (grub_vbe_get_display_start): Renamed from this...
28317 (grub_vbe_bios_get_display_start): ... to this.
28318 (grub_vbe_set_palette_data): Renamed from this...
28319 (grub_vbe_bios_set_palette_data): ... to this.
28320 (grub_vbe_bios_get_controller_info): Fixed problem with registers
28321 getting corrupted after calling it. Added more pushes and pops.
28322 (grub_vbe_bios_set_mode): Likewise.
28323 (grub_vbe_bios_get_mode): Likewise.
28324 (grub_vbe_bios_get_memory_window): Likewise.
28325 (grub_vbe_bios_set_scanline_length): Likewise.
28326 (grub_vbe_bios_get_scanline_length): Likewise.
28327 (grub_vbe_bios_get_display_start): Likewise.
28328 (grub_vbe_bios_set_palette_data): Likewise.
28329
28330 * normal/cmdline.c (cl_set_pos): Refresh the screen.
28331 (cl_insert): Likewise.
28332 (cl_delete): Likewise.
28333
28334 * term/gfxterm.c: New file.
28335
28336 * term/i386/pc/vesafb.c: Removed file.
28337
28338 * video/video.c: New file.
28339
28340 * video/i386/pc/vbe.c (real2pm): Added new function.
28341 (grub_video_vbe_draw_pixel): Likewise.
28342 (grub_video_vbe_get_video_ptr): Likewise.
28343 (grub_video_vbe_get_pixel): Likewise
28344 (grub_video_vbe_init): Likewise.
28345 (grub_video_vbe_fini): Likewise.
28346 (grub_video_vbe_setup): Likewise.
28347 (grub_video_vbe_get_info): Likewise.
28348 (grub_video_vbe_set_palette): Likewise.
28349 (grub_video_vbe_get_palette): Likewise.
28350 (grub_video_vbe_set_viewport): Likewise.
28351 (grub_video_vbe_get_viewport): Likewise.
28352 (grub_video_vbe_map_color): Likewise.
28353 (grub_video_vbe_map_rgb): Likewise.
28354 (grub_video_vbe_map_rgba): Likewise.
28355 (grub_video_vbe_unmap_color): Likewise.
28356 (grub_video_vbe_fill_rect): Likewise.
28357 (grub_video_vbe_blit_glyph): Likewise.
28358 (grub_video_vbe_blit_bitmap): Likewise.
28359 (grub_video_vbe_blit_render_target): Likewise.
28360 (grub_video_vbe_scroll): Likewise.
28361 (grub_video_vbe_swap_buffers): Likewise.
28362 (grub_video_vbe_create_render_target): Likewise.
28363 (grub_video_vbe_delete_render_target): Likewise.
28364 (grub_video_vbe_set_active_render_target): Likewise.
28365 (grub_vbe_set_pixel_rgb): Remove function.
28366 (grub_vbe_set_pixel_index): Likewise.
28367 (index_color_mode): Remove static variable.
28368 (active_mode): Likewise.
28369 (framebuffer): Likewise.
28370 (bytes_per_scan_line): Likewise.
28371 (grub_video_vbe_adapter): Added new static variable.
28372 (framebuffer): Likewise.
28373 (render_target): Likewise.
28374 (initial_mode): Likewise.
28375 (mode_in_use): Likewise.
28376 (mode_list): Likewise.
28377
5f97350b 283782006-03-10 Marco Gerards <marco@gnu.org>
28379
28380 * configure.ac (AC_INIT): Bumped to 1.93.
28381
28382 * DISTLIST: Added `include/grub/hfs.h'.
28383
a3c5c6f8 283842006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
28385
28386 * boot/i386/pc/boot.S (general_error): Before looping, try INT
28387 18H, which might help the BIOS falling back to next boot media.
28388
6de53d26 283892006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
28390
28391 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
28392 Poe Chen <poe.poechen@gmail.com>.
28393
77c4a393 283942006-01-17 Marco Gerards <marco@gnu.org>
28395
28396 * include/grub/normal.h: Include <grub/script.h>.
28397 (grub_command_list): Removed struct.
28398 (grub_command_list_t): Removed type.
28399 (grub_menu_entry): Remove members `num' and `command_list'. Add
28400 members `commands' and `sourcecode'.
28401 * include/grub/script.h: Add inclusion guards.
28402 (grub_script_cmd_menuentry): New struct.
28403 (grub_script_execute_menuentry): New prototype.
28404 (grub_script_lexer_record_start): Likewise.
28405 (grub_script_lexer_record_stop): Likewise.
28406 * normal/execute.c (grub_script_execute_menuentry): New function.
28407 * normal/lexer.c (record, recording, recordpos, recordlen): New
28408 variables.
28409 (grub_script_lexer_record_start): New function.
28410 (grub_script_lexer_record_stop): Likewise.
28411 (recordchar): Likewise.
28412 (nextchar): Likewise.
28413 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
28414 2048 as the buffer size. Add the tokens `menuentry' and `@'.
28415 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
28416 (current_menu): New variable.
28417 (free_menu): Mainly rewritten.
28418 (grub_normal_menu_addentry): New function.
28419 (read_config_file): Rewritten.
28420 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 28421 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 28422 the menu entry.
28423 (run): Mainly rewritten.
28424 * normal/parser.y (menu_entry): New variable.
28425 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
28426 (menuentry): New rule.
28427 (command): Add `menuentry'.
28428 (if_statement): Allow additional returns before `fi'.
28429 * normal/script.c (grub_script_create_cmdmenu): New function.
28430
144f1f98 284312006-01-03 Marco Gerards <marco@gnu.org>
28432
28433 * INSTALL: GNU Bison is required.
28434 * configure.ac: Rewritten the test to detect Bison.
28435 * Makefile.in (YACC): New variable. Reported by Xun Sun
28436 <xun.sun.cn@gmail.com>.
28437
af4b2d89 284382006-01-03 Marco Gerards <marco@gnu.org>
28439
28440 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
28441 the HFS+ filesystem to filesystem blocks.
28442 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
28443 GCC warning is silenced.
28444
15643b71 284452006-01-03 Marco Gerards <marco@gnu.org>
28446
28447 * partmap/apple.c (apple_partition_map_iterate): Convert the data
28448 read from disk from big endian to host byte order.
28449
00905879 284502006-01-03 Hollis Blanchard <hollis@penguinppc.org>
28451
28452 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
28453 documentation.
28454 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
28455 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
28456 embedded HFS+ filesystem.
28457 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
28458 (grub_hfs_sblock): Move from here...
28459 * include/grub/hfs.h: To here... New file.
28460 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
28461 documentation.
28462 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
28463 New macros.
28464 (grub_hfsplus_volheader): Change type of member `magic' to
28465 `grub_uint16_t'.
28466 (grub_hfsplus_data): Add new member `embedded_offset'.
28467 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
28468 returned block.
28469 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
28470 Calculate the offset.
28471
8899bc3e 284722005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28473
28474 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
28475 Removed.
28476 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
28477
ae8c0277 284782005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28479
28480 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
28481 ENV->NAME is NULL after allocating ENV->VALUE.
28482
07084456 284832005-12-25 Marco Gerards <marco@gnu.org>
28484
28485 * kern/env.c (grub_env_set): Rewritten the error handling code.
28486
4750f5f1 284872005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28488
28489 * geninit.sh: Made more robust, and more portable.
28490
50214199 284912005-12-25 Marco Gerards <marco@gnu.org>
28492
28493 Add support for Apple HFS+ filesystems.
f19dbdb7 28494
50214199 28495 * fs/hfsplus.c: New file.
28496
28497 * DISTLIST: Added `fs/hfsplus.c'.
28498
28499 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
28500 (hfsplus_mod_SOURCES): New variable.
28501 (hfsplus_mod_CFLAGS): Likewise.
28502 (hfsplus_mod_LDFLAGS): Likewise.
28503 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
28504 (grub_setup_SOURCES): Likewise.
28505 (grub_mkdevicemap_SOURCES): Likewise.
28506 (grub_emu_SOURCES): Likewise.
28507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28508
28509 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
28510
28511 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
28512
befaed6c 285132005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28514
28515 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
28516 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
28517 include/grub/parser.h, include/grub/script.h, kern/parser.c,
28518 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
28519 normal/lexer.c, normal/parser.y, normal/script.c, and
28520 partmap/gpt.c.
28521 Removed kern/sparc64/cache.c.
28522
28523 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
28524 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
28525 grub_emu_init.c.
28526
28527 * configure.ac (AC_INIT): Bumped to 1.92.
28528
6a124103 285292005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
28530
28531 * kern/err.c (grub_error_push): Added new function to support error
28532 stacks.
28533 (grub_error_pop): Likewise.
28534 (grub_error_stack_items): New local variable to support error stacks.
28535 (grub_error_stack_pos): Likewise.
28536 (grub_error_stack_assert): Likewise.
28537 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
28538 stack depth.
28539 (grub_print_error): Added support to print errors from error stack.
28540
28541 * include/grub/err.h (grub_error_push): Added function prototype.
28542 (grub_error_pop): Likewise.
28543
be973c1b 285442005-12-09 Hollis Blanchard <hollis@penguinppc.org>
28545
28546 * configure.ac: Accept `powerpc64' as host_cpu.
28547 (amd64): Rename to `biarch32'.
28548
28549 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
28550 non-cacheline-aligned addresses.
28551
28552 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
28553 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
28554 if `size' is non-zero.
28555
b04216ab 285562005-12-03 Marco Gerards <mgerards@xs4all.nl>
28557
28558 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
28559 and `cd' to make sure the filename is not prefixed with a
28560 directory name.
28561 (pkgdata_MODULES): Add `gpt.mod'.
28562 (gpt_mod_SOURCES): New variable.
28563 (gpt_mod_CFLAGS): Likewise.
28564 (gpt_mod_LDFLAGS): Likewise.
28565
28566 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
28567
28568 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
28569 New macro.
28570
28571 * partmap/gpt.c: New file.
28572
28573 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
28574 GPT partition map is detected.
28575
41730ed9 285762005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
28577
28578 * commands/i386/pc/play.c: New file.
28579 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
28580 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
28581 macros.
f19dbdb7 28582
95dc3643 285832005-11-27 Marco Gerards <mgerards@xs4all.nl>
28584
28585 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
28586 ((unused))' to silence gcc warning.
28587
1569ec51 285882005-11-26 Hollis Blanchard <hollis@penguinppc.org>
28589
28590 * configure.ac: Correct `AC_PROG_YACC' test.
28591
9abde152 285922005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28593
28594 * util/powerpc/ieee1275/grub-install.in: Run the mount point
28595 check before installing files.
28596
44b83271 285972005-11-22 Mike Small <smallm@panix.com>
28598
28599 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
28600 number regex so multidigit numbers are recognized correctly.
28601
286022005-11-22 Mike Small <smallm@panix.com>
28603
28604 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
28605 debugging message before attempting to claim memory.
28606 (grub_rescue_cmd_initrd): Add a claim debugging message and try
28607 multiple addresses in case of failure.
28608
9c12956b 286092005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28610
28611 * term/tparm.c (get_space): Remove empty `if' statement.
28612
28613 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
28614
28615 * kern/parser.c (check_varstate): Rename `state' to 's'.
28616
aeaf81d9 286172005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28618
28619 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
28620 variable definitions to the beginning of each function. Sort stack
28621 variables by size.
28622 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
28623 `buf' argument to `char *'.
28624
79bbb63f 286252005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28626
28627 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
28628 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28629 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 28630 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28631 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28632 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28633 configfile.mod, search.mod, gzio.mod and test.mod.
28634 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28635 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28636 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28637 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28638 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28639 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28640 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28641 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28642 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28643 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28644 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28645 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28646 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28647 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28648 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28649 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28650 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28651 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28652 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28653 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28654 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28655 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28656 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
28657
28658 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
28659 `grep --include'.
28660 (pkgdata_MODULES): Add test.mod.
28661
233b1628 286622005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28663
28664 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
28665 appending to variables with "+=".
28666 (PModule): Use full pathname to generate *.lst filenames.
28667
28668 * Makefile.in: Fixed list rules moved from genmk.rb.
28669 (.DELETE_ON_ERROR): New special target.
28670 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
28671
28672 * conf/i386-pc.rmk: Include conf/common.mk.
28673 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28674 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 28675 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28676 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28677 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28678 configfile.mod, search.mod, gzio.mod and test.mod.
28679 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28680 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28681 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28682 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28683 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28684 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28685 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28686 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28687 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28688 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28689 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28690 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28691 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28692 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28693 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28694 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28695 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28696 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28697 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28698 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28699 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28700 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28701 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
28702 here...
28703 * conf/common.rmk: ... to here. New file.
28704
28705 * conf/common.mk: New file.
28706
16f820c8 287072005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
28708
28709 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
28710 (grub_script.tab.c): ... here.
28711
28712 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
28713 (grub_script.tab.c): ... here.
28714
28715 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
28716 (grub_script.tab.c): ... here.
28717
28718 * normal/command.c (grub_command_find): Fixed a memory leak of
28719 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
28720
63ba1554 287212005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28722
28723 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
28724 "@" which marks the start of a comment on ARM.
28725 (VARIABLE): Likewise.
28726
7f67dc13 287272005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28728
79bbb63f 28729 Add support for Linux/ADFS partition tables.
7f67dc13 28730
28731 * partmap/acorn.c: New file.
28732
28733 * include/grub/acorn_filecore.h: Likewise.
28734
28735 * DISTLIST: Added `partmap/acorn.c' and
28736 `include/grub/acorn_filecore.h'.
f19dbdb7 28737
7f67dc13 28738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28739 `partmap/acorn.c'.
28740 (pkgdata_MODULES): Add `acorn.mod'.
28741 (acorn_mod_SOURCES): New variable.
28742 (acorn_mod_CFLAGS): Likewise.
28743
28744 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28745 `partmap/acorn.c'.
28746 (pkgdata_MODULES): Add `acorn.mod'.
28747 (acorn_mod_SOURCES): New variable.
28748 (acorn_mod_CFLAGS): Likewise.
28749
28750 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
28751 (pkgdata_MODULES): Add `acorn.mod'.
28752 (acorn_mod_SOURCES): New variable.
28753 (acorn_mod_CFLAGS): Likewise.
28754 (acorn_mod_LDFLAGS): Likewise.
28755
28756 * include/types.h (grub_disk_addr_t): New typedef.
28757
6d099807 287582005-11-13 Marco Gerards <mgerards@xs4all.nl>
28759
28760 * geninit.sh: New file.
28761
28762 * geninitheader.sh: Likewise.
28763
28764 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
28765 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
28766 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
28767 * commands/configfile.c (grub_configfile_init)
28768 (grub_configfile_fini): Likewise.
28769 * commands/default.c (grub_default_init, grub_default_fini):
28770 Likewise.
28771 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
28772 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
28773 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
28774 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
28775 Likewise.
28776 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
28777 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
28778 Likewise.
28779 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 28780 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 28781 Likewise.
28782 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
28783 Likewise.
fe6b695a 28784 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 28785 Likewise.
28786 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
28787 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
28788 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
28789 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
28790 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
28791 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
28792 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
28793 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
28794 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
28795 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
28796 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
28797 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
28798 * partmap/amiga.c (grub_amiga_partition_map_init)
28799 (grub_amiga_partition_map_fini): Likewise.
28800 * partmap/apple.c (grub_apple_partition_map_init)
28801 (grub_apple_partition_map_fini): Likewise.
28802 * partmap/pc.c (grub_pc_partition_map_init)
28803 (grub_pc_partition_map_fini): Likewise.
28804 * partmap/sun.c (grub_sun_partition_map_init,
28805 grub_sun_partition_map_fini): Likewise.
28806 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
28807 Likewise.
28808
28809 * util/grub-emu.c: Include <grub_modules_init.h>.
28810 (main): Don't initialize and de-initialize any modules directly,
28811 use `grub_init_all' and `grub_fini_all' instead.
28812
28813 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
28814 `grub_vesafb_mod_init'.
28815 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
28816 all users.
28817 * term/i386/pc/vga.c (grub_vga_init): Renamed to
28818 `grub_vga_mod_init'. Updated all users.
28819 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 28820
6d099807 28821 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
28822 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
28823 rules.
28824
28825 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
28826 Generate a function to initialize the module in utilities.
28827 Updated all callers.
28828 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
28829 initialize the module in utilities. Updated all callers.
28830
9046bcf0 288312005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28832
28833 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
28834 escape sequence and a literal ^L to clear the screen.
28835
28836 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
28837 when returning from Open Firmware.
28838
d13ea639 288392005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28840
28841 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
28842 (grub_ofconsole_height): Likewise.
28843 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
28844 manually insert a '\n'.
28845 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
28846 `grub_ofconsole_height'. Return early if these are already set.
28847
a8fcf206 288482005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
28849
28850 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28851 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
28852 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
28853 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
28854 and `normal/script.c'.
28855 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28856 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28857 (test_mod_SOURCES): New variable.
28858 (test_mod_CFLAGS): Likewise.
28859 (test_mod_LDFLAGS): Likewise.
28860 (pkgdata_MODULES): Add `test.mod'.
28861 (grub_script.tab.c): New rule.
28862 (grub_script.tab.h): Likewise.
28863
b6b32745 288642005-11-07 Marco Gerards <mgerards@xs4all.nl>
28865
28866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28867 `commands/test.c', `normal/execute.c', `normal/lexer.c',
28868 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28869 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28870 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28871 (test_mod_SOURCES): New variable.
28872 (test_mod_CFLAGS): Likewise.
28873 (pkgdata_MODULES): Add `test.mod'.
28874 (grub_script.tab.c): New rule.
28875 (grub_script.tab.h): Likewise.
28876
daac212a 288772005-11-06 Marco Gerards <mgerards@xs4all.nl>
28878
28879 Add initial scripting support.
28880
28881 * commands/test.c: New file.
28882 * include/grub/script.h: Likewise.
28883 * normal/execute.c: Likewise.
28884 * normal/function.c: Likewise.
28885 * normal/lexer.c: Likewise.
28886 * normal/parser.y: Likewise.
28887 * normal/script.c: Likewise.
28888
28889 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 28890
daac212a 28891 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
28892 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
28893 `normal/function.c' and `normal/script.c'.
28894 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28895 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 28896 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
28897 variables.
daac212a 28898 (pkgdata_MODULES): Add `test.mod'.
28899 (grub_script.tab.c): New rule.
28900 (grub_script.tab.h): Likewise.
28901
28902 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
28903
28904 * include/grub/normal.h (grub_test_init): New prototype.
28905 (grub_test_fini): Likewise.
f19dbdb7 28906
daac212a 28907 * normal/command.c: Include <grub/script.h>.
28908 (grub_command_execute): Rewritten.
f19dbdb7 28909
daac212a 28910 * util/grub-emu.c (main): Call `grub_test_init' and
28911 `grub_test_fini'.
28912
77500b2b 289132005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28914
28915 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
28916 to 0.
28917 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
28918 there are no pending characters.
28919
e45deb9e 289202005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28921
28922 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
28923 `grub_strndup' to drop device arguments. Replace unnecessary
28924 `grub_strndup' with `grub_strdup'.
28925
4ce32619 289262005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28927
28928 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
28929 `debug' environment variable has been set.
28930
289312005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 28932
4ce32619 28933 * Makefile.in (install-local): Use $(DATA).
28934 (uninstall): Likewise.
28935 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
28936 (sbin_UTILITIES): ... to here.
28937 (sbin_SCRIPTS): New variable.
28938 (grub_install_SOURCES): New variable.
28939 * util/powerpc/ieee1275/grub-install.in: New file.
28940 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
28941 variable.
28942 (add_segments): Call `grub_util_get_path'.
28943
25fe6f03 289442005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28945
28946 From Timothy Baldwin:
28947 * commands/ls.c (grub_ls_list_files): Close FILE with
28948 grub_file_close.
28949 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
28950
04ccf3ec 289512005-10-24 Marco Gerards <mgerards@xs4all.nl>
28952
28953 * include/grub/parser.h: New file.
28954
28955 * kern/parser.c: Likewise.
28956
28957 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
28958 (grub_setup_SOURCES): Likewise.
28959 (grub_probefs_SOURCES): Likewise.
28960 (grub_emu_SOURCES): Likewise.
28961 (kernel_img_HEADERS): Add `parser.h'.
28962
28963 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
28964 (grub_emu_SOURCES): Add `kern/parser.c'.
28965 (grubof_SOURCES): Likewise.
28966
28967 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
28968 (grubof_SOURCES): Add `kern/parser.c'.
28969
28970 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
28971
28972 * kern/misc.c (grub_split_cmdline): Removed function.
28973
28974 * kern/rescue.c: Include <grub/parser.h>.
28975 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
28976 of `grub_split_cmdline'.
28977
28978 * normal/command.c: Include <grub/parser.h>.
28979 (grub_command_execute): Use `grub_parser_split_cmdline' instead
28980 of `grub_split_cmdline'.
28981
28982 * normal/completion.c: Include <grub/parser.h>.
28983 (cmdline_state): New variable.
28984 (iterate_dir): End the filename with a quote depending on the
28985 command line state.
28986 (get_state): new function.
28987 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
28988 split the arguments and determine the current argument. When the
28989 argument string is not quoted, escape all spaces.
28990
6d8f4b0e 289912005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
28992
28993 * normal/sparc64/setjmp.S: New file.
28994
15cf03ed 289952005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
28996
28997 * include/grub/sparc64/libgcc.h: New file.
28998 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
28999 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
29000 normal/sparc64/setjmp.c.
29001
03e8661a 290022005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29003
29004 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
29005 * kern/sparc64/cache.S: New file.
29006 * kern/sparc64/cache.c: Removed.
29007 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
29008 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
29009 -mtune=ultrasparc.
29010 (COMMON_LDFLAGS): Add -melf64_sparc.
29011 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
29012 (grubof_SOURCES): Use cache.S instead of cache.c.
29013 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
29014 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
29015 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
29016 commented though.
29017 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
29018 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
29019 (linux_mod_CFLAGS): Commented out.
29020 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
29021 out because module isn't built.
29022 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
29023 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
29024 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
29025 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
29026 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
29027 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29028 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29029 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
29030 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
29031 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
29032 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29033 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29034 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
29035 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
29036
34eeec8a 290372005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
29038
29039 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
29040 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
29041 longer, because HFS should not be used on PC.
29042
708367a3 290432005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29044
29045 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
29046 consistently within the loop.
29047
6fa1251a 290482005-10-15 Marco Gerards <mgerards@xs4all.nl>
29049
29050 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
29051 directory can not be read.
29052
4801580b 290532005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29054
29055 * configure.ac (AC_INIT): Increase the version number to 1.91.
29056
29057 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
29058 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
29059 term/i386/pc/serial.c.
29060
219ad426 290612005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29062
29063 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
29064 file size must be permitted.
29065
29066 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
29067 between %ah and %al.
29068
688e5699 290692005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29070
29071 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
29072 grub_uint64_t.
29073 Call the hook with a NUL-terminated filename.
29074 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
29075 grub_cpu_to_be32.
29076
29077 * kern/term.c (cursor_state): New variable.
29078 (grub_term_set_current): Reset the cursor state on a new
29079 terminal.
29080 (grub_setcursor): Rewritten to use CURSOR_STATE.
29081 (grub_getcursor): New function.
29082
29083 * include/grub/term.h (grub_getcursor): New prototype.
29084
29085 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
29086 integers on ARM. Reported by Timothy Baldwin
29087 <T.E.Baldwin99@members.leeds.ac.uk>.
29088
bb34586c 290892005-10-11 Marco Gerards <mgerards@xs4all.nl>
29090
29091 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
29092 allocated.
29093 (grub_sfs_dir): Likewise.
29094
9a909877 290952005-10-09 Marco Gerards <mgerards@xs4all.nl>
29096
29097 Add support for the SFS filesystem.
29098
29099 * fs/sfs.c: New file.
29100
29101 * DISTLIST: Added `fs/sfs.c'.
29102
29103 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
29104 (grub_probefs_SOURCES): Likewise.
29105 (grub_emu_SOURCES): Likewise.
29106 (pkgdata_MODULES): Add `sfs.mod'.
29107 (sfs_mod_SOURCES): New variable.
29108 (sfs_mod_CFLAGS): Likewise.
29109 (sfs_mod_LDFLAGS): Likewise.
29110
29111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
29112 (pkgdata_MODULES): Add `sfs.mod'.
29113 (sfs_mod_SOURCES): New variable.
29114 (sfs_mod_CFLAGS): Likewise.
29115
29116 * util/grub-emu.c (main): Call `grub_sfs_init' and
29117 `grub_sfs_fini'.
29118
29119 * include/grub/fs.h (grub_sfs_init): New prototype.
29120 (grub_sfs_fini): Likewise.
29121
57bdbde3 291222005-10-07 Marco Gerards <mgerards@xs4all.nl>
29123
29124 Add support for the AFFS filesystem.
29125
29126 * fs/affs.c: New file.
29127
29128 * DISTLIST: Added `fs/affs.c'.
29129
29130 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
29131 (grub_probefs_SOURCES): Likewise.
29132 (grub_emu_SOURCES): Likewise.
29133 (pkgdata_MODULES): Add `affs.mod'.
29134 (affs_mod_SOURCES): New variable.
29135 (affs_mod_CFLAGS): Likewise.
29136 (affs_mod_LDFLAGS): Likewise.
29137
29138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
29139 (pkgdata_MODULES): Add `affs.mod'.
29140 (affs_mod_SOURCES): New variable.
29141 (affs_mod_CFLAGS): Likewise.
29142
29143 * util/grub-emu.c (main): Call `grub_affs_init' and
29144 `grub_affs_fini'.
29145
29146 * include/grub/fs.h (grub_affs_init): New prototype.
29147 (grub_affs_fini): Likewise.
29148
047b67e0 291492005-10-01 Marco Gerards <mgerards@xs4all.nl>
29150
29151 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
29152
59b8208a 291532005-10-01 Marco Gerards <mgerards@xs4all.nl>
29154
29155 * configure.ac: Accept `x86_64' as host_cpu. In that case add
29156 `-m32' to CFLAGS.
29157
29158 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
29159 linking.
f19dbdb7 29160
59b8208a 29161 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
29162 (COMMON_LDFLAGS): New variable.
29163 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
29164 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
29165 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
29166 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
29167 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
29168 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
29169 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
29170 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
29171 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
29172 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
29173 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29174 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29175 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
29176 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
29177 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
29178 variables.
29179 (normal_mod_ASFLAGS): Add `-m32'.
29180
29181 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
29182 (grub_host_size_t, grub_host_ssize_t): New types.
29183 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 29184 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 29185 `GRUB_HOST_SIZEOF_VOID_P'.
29186
29187 * include/grub/kernel.h (struct grub_module_header): Type of
29188 member offset changed to `grub_host_off_t'. Type of member size
29189 changed to `grub_host_size_t'.
29190 (struct grub_module_info): Type of member offset changed to
29191 `grub_host_off_t'. Type of member size changed to
29192 `grub_host_size_t'.
29193
b4093103 291942005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
29195
29196 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 29197
b4093103 29198 * kern/i386/pc/startup.S (multiboot_header): New label.
29199 (multiboot_entry): Likewise.
29200 (multiboot_trampoline): Likewise.
29201
29202 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29203 Increased to 0x4A0.
29204
29205 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
29206 put parentheses after a question mark.
29207 [!GRUB_UTIL] (my_mod): New variable.
29208
29209 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
29210
b2499b29 292112005-09-28 Marco Gerards <mgerards@xs4all.nl>
29212
29213 Adds support for the XFS filesystem. Btrees are not supported
29214 yet.
29215
29216 * fs/xfs.c: New file.
29217
29218 * DISTLIST: Added `fs/xfs.c'.
29219
29220 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
29221 (grub_probefs_SOURCES): Likewise.
29222 (grub_emu_SOURCES): Likewise.
29223 (pkgdata_MODULES): Add `xfs.mod'.
29224 (xfs_mod_SOURCES): New variable.
29225 (xfs_mod_CFLAGS): Likewise.
29226
29227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
29228 (pkgdata_MODULES): Add `xfs.mod'.
29229 (xfs_mod_SOURCES): New variable.
29230 (xfs_mod_CFLAGS): Likewise.
29231
29232 * util/grub-emu.c (main): Call `grub_xfs_init' and
29233 `grub_xfs_fini'.
29234
29235 * include/grub/fs.h (grub_xfs_init): New prototype.
29236 (grub_xfs_fini): Likewise.
29237
f19dbdb7 29238
83d37a62 292392005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
29240
29241 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
29242 color modes, allow greater than 16 colors to be configured as
29243 a default palette.
29244
47d2d65e 292452005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29246
29247 * normal/completion.c (complete_arguments): Add the qualifier
29248 const into OPTIONS.
29249
29250 From Omniflux <omniflux+lists@omniflux.com>:
29251 * include/grub/terminfo.h: New file.
29252 * include/grub/tparm.h: Likewise.
29253 * include/grub/i386/pc/serial.h: Likewise.
29254 * term/terminfo.c: Likewise.
29255 * term/tparm.c: Likewise.
29256 * term/i386/pc/serial.c: Likewise.
29257 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
29258 serial.mod.
29259 (terminfo_mod_SOURCES): New variable.
29260 (terminfo_mod_CFLAGS): Likewise.
29261 (serial_mod_SOURCES): Likewise.
29262 (serial_mod_CFLAGS): Likewise.
29263
48b671ff 292642005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
29265
29266 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
29267 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
29268 and kern/powerpc/ieee1275/cmain.c, respectively.
29269
29270 * boot/powerpc/ieee1275/crt0.S: Moved to ...
29271 * kern/powerpc/ieee1275/crt0.S: ... here.
29272
29273 * boot/powerpc/ieee1275/cmain.c: Moved to ...
29274 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 29275
48b671ff 29276 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
29277 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
29278 instead of boot/powerpc/ieee1275/crt0.S and
29279 boot/powerpc/ieee1275/cmain.c, respectively.
29280
29281 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
29282 sectors. It was not used anyway.
29283
09fc77a7 292842005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29285
29286 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
29287 `unused parameter' warning.
29288
003789c7 292892005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29290
29291 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
29292 function.
29293 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
29294 getcharwidth.
29295
67f44c86 292962005-08-28 Marco Gerards <metgerards@student.han.nl>
29297
29298 * include/grub/normal.h (enum grub_completion_type): Added
29299 `GRUB_COMPLETION_TYPE_ARGUMENT'.
29300
29301 * normal/cmdline.c (print_completion): Handle
29302 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
29303 * normal/menu_entry.c (store_completion): Likewise.
29304
29305 * normal/completion.c (complete_arguments): New function.
29306 (grub_normal_do_completion): Call `complete_arguments' when the
29307 current words start with a dash.
29308
0b5abe02 293092005-08-27 Marco Gerards <metgerards@student.han.nl>
29310
29311 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
29312 `gzio.mod' instead of `io.mod').
29313
d9864ee1 293142005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
29315
29316 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
29317 (DISTDIRS): Added io and video.
29318 Rewrite the search routine to make an output consistently.
29319
29320 * DISTLIST: Added conf/sparc64-ieee1275.mk,
29321 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
29322 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
29323 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
29324 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
29325 util/powerpc/ieee1275/misc.c.
f19dbdb7 29326
d9864ee1 29327 * include/grub/gzio.h: New file.
29328 * io/gzio.c: Likewise.
f19dbdb7 29329
d9864ee1 29330 * kern/file.c (grub_file_close): Call grub_device_close only if
29331 FILE->DEVICE is not NULL.
29332
29333 * include/grub/mm.h [!NULL] (NULL): New macro.
29334
29335 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
29336
29337 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
29338 (pkgdata_MODULES): Added gzio.mod.
29339 (gzio_mod_SOURCES): New variable.
29340 (gzio_mod_CFLAGS): Likewise.
29341
29342 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
29343 (pkgdata_MODULES): Added gzio.mod.
29344 (gzio_mod_SOURCES): New variable.
29345 (gzio_mod_CFLAGS): Likewise.
29346
29347 * commands/cat.c: Include grub/gzio.h.
29348 (grub_cmd_cat): Use grub_gzfile_open instead of
29349 grub_file_open.
f19dbdb7 29350
d9864ee1 29351 * commands/cmp.c: Include grub/gzio.h.
29352 (grub_cmd_cmp): Use grub_gzfile_open instead of
29353 grub_file_open.
29354
29355 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
29356 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
29357 grub_file_open.
29358 (grub_rescue_cmd_module): Likewise.
29359
fa46f4b5 293602005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29361
29362 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
29363 kern/sparc64/ieee1275/init.c because it contains _start.
29364 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
29365
e9211b5d 293662005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29367
29368 * configure.ac: Add support for sparc64 host with ieee1275
29369 firmware.
29370 * configure: Generated from configure.ac.
29371 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
29372 instead of int.
29373 (grub_ofdisk_read): Likewise.
29374 (grub_ofdisk_open): Use %p to print pointer values, and cast the
29375 pointers as (void *) to remove a warning.
29376 (grub_ofdisk_close): Likewise.
29377 (grub_ofdisk_read): Likewise.
29378 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
29379 returns, so make it return void to remove a warning.
29380 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
29381 Corresponding prototype change.
29382 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
29383 values, and cast the pointers as (void *) to remove a warning.
29384 (grub_mm_dump): Likewise.
29385 * conf/sparc64-ieee1275.mk: New file.
29386 * conf/sparc64-ieee1275.rmk: Likewise.
29387 * include/grub/sparc64/setjmp.h: Likewise.
29388 * include/grub/sparc64/types.h: Likewise.
29389 * include/grub/sparc64/ieee1275/console.h: Likewise.
29390 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29391 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29392 * include/grub/sparc64/ieee1275/time.h: Likewise.
29393 * kern/sparc64/cache.c: Likewise.
29394 * kern/sparc64/dl.c: Likewise.
29395 * kern/sparc64/ieee1275/init.c: Likewise.
29396 * kern/sparc64/ieee1275/openfw.c: Likewise.
29397
385c6a92 293982005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29399
29400 * util/console.c (grub_ncurses_putchar): If C is greater than
29401 0x7f, set C to a question mark.
29402 (grub_ncurses_getcharwidth): New function.
29403 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
29404 getcharwidth.
29405
29406 * normal/menu.c (print_entry): Made aware of Unicode. First,
29407 convert TITLE to UCS-4, and predict the cursor position by
29408 grub_getcharwidth.
29409
29410 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
29411 const to SRC.
29412 * kern/misc.c (grub_utf16_to_utf8): Likewise.
29413
16ccb8b1 294142005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29415
29416 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
29417 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29418 grub_strcat.
29419
29420 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
29421 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29422 grub_strcpy and grub_strlen. Take it into account that a space
29423 character is inserted as a delimiter.
29424
6a85ce79 294252005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29426
29427 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 29428 invalid magic in the error.
6a85ce79 29429
29430 * commands/search.c: New file.
f19dbdb7 29431
6a85ce79 29432 * util/grub-emu.c (main): Call grub_search_init and
29433 grub_search_fini.
29434
29435 * kern/rescue.c (grub_rescue_print_disks): Removed.
29436 (grub_rescue_print_devices): New function.
29437 (grub_rescue_cmd_ls): Use grub_device_iterate with
29438 grub_rescue_print_devices instead of grub_disk_dev_iterate with
29439 grub_rescue_print_disks.
29440
29441 * kern/partition.c (grub_partition_iterate): Return the result of
29442 PARTMAP->ITERATE instead of GRUB_ERRNO.
29443
29444 * kern/device.c: Include grub/partition.h.
29445 (grub_device_iterate): New function.
29446
29447 * include/grub/partition.h (grub_partition_iterate): Return int
29448 instead of grub_err_t.
29449
29450 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
29451 prototype.
29452 [GRUB_UTIL] (grub_search_fini): Likewise.
29453
29454 * include/grub/device.h (grub_device_iterate): New prototype.
29455
29456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29457 commands/search.c.
29458 (pkgdata_MODULES): Added search.mod.
29459 (search_mod_SOURCES): New variable.
29460 (search_mod_CFLAGS): Likewise.
29461
29462 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
29463 (pkgdata_MODULES): Added search.mod.
29464 (search_mod_SOURCES): New variable.
29465 (search_mod_CFLAGS): Likewise.
29466
29467 * commands/ls.c (grub_ls_list_disks): Renamed to ...
29468 (grub_ls_list_devices): ... this, and use grub_device_iterate.
29469 All callers changed.
29470
29471 * DISTLIST: Added commands/search.c.
29472
ef095434 294732005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29474
29475 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
29476 conversion.
29477 (grub_getcharwidth): New function.
29478
29479 * kern/misc.c (grub_utf8_to_ucs4): New function.
29480
29481 * include/grub/term.h (struct grub_term): Added a new member
29482 "getcharwidth".
29483 (grub_getcharwidth): New prototype.
29484
29485 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
29486
29487 * term/i386/pc/console.c (map_char): New function. Segregated from
29488 grub_console_putchar.
29489 (grub_console_putchar): Use map_char.
29490 (grub_console_getcharwidth): New function.
29491 (grub_console_term): Specified grub_console_getcharwidth as
29492 getcharwidth.
29493
29494 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
29495 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
29496
29497 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
29498 GRUB_ERRNO.
29499 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
29500 on grub_strtoul completely.
29501 (write_char): Declare local variables in the beginning of the
29502 function.
29503 (grub_vesafb_getcharwidth): New function.
29504 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
29505 getcharwidth.
29506
1f0a95e4 295072005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
29508
29509 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
29510 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
29511 commands/i386/pc/vbetest.c.
29512
29513 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
29514 call grub_vbe_get_controller_info again, because the returned
29515 information is volatile.
29516 (grub_vbe_set_video_mode): Mostly rewritten.
29517 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
29518 grub_vbe_status_t correctly.
29519 (grub_vbe_get_video_mode_info): Likewise.
29520 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
29521 several if statements.
29522
29523 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
29524 * commands/i386/pc/vbeinfo.c: ... this.
29525
29526 * commands/i386/pc/vbe_test.c: Renamed to ...
29527 * commands/i386/pc/vbetest.c: ... this.
29528
29529 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
29530 ...
29531 (grub_cmd_vbeinfo): ... this. Save video modes before
29532 iterating. Skip a video mode, if it is not available, not enough
29533 information is given or it is monochrome. Show the memory
29534 model. Leave the interpretation of MODEVAR to grub_strtoul
29535 completely.
29536 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
29537 (GRUB_MOD_FINI): Likewise.
29538
29539 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
29540 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
29541 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
29542 duplicated grub_env_get. Leave the interpretation of MODEVAR to
29543 grub_strtoul completely.
29544 (real2pm): Removed.
29545 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
29546 (GRUB_MOD_FINI): Likewise.
29547
29548 * normal/misc.c: Include grub/mm.h.
29549
29550 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
29551 vbe_list_modes with vbetest.mod and vbeinfo.mod.
29552 (vbe_list_modes_mod_SOURCES): Removed.
29553 (vbe_list_modes_mod_CFLAGS): Likewise.
29554 (vbe_test_mod_SOURCES): Likewise.
29555 (vbe_test_mod_CFLAGS): Likewise.
29556 (vbeinfo_mod_SOURCES): New variable.
29557 (vbeinfo_mod_CFLAGS): Likewise.
29558 (vbetest_mod_SOURCES): Likewise.
29559 (vbetest_mod_CFLAGS): Likewise.
29560
992ffbbe 295612005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
29562
29563 * normal/misc.c: New file.
29564
29565 * DISTLIST: Added normal/misc.c.
f19dbdb7 29566
992ffbbe 29567 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
29568 DISK to HOOK. Call HOOK with DISK.
29569 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29570 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29571 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29572
29573 * normal/menu_entry.c (struct screen): Added a new member
29574 "completion_shown".
29575 (completion_buffer): New global variable.
29576 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
29577 (store_completion): New function.
29578 (complete): Likewise.
29579 (clear_completions): Likewise.
29580 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
29581 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
29582 a tab, call complete.
29583
29584 * normal/completion.c (disk_dev): Removed.
29585 (print_simple_completion): Likewise.
29586 (print_partition_completion): Likewise.
29587 (print_func): New global variable.
29588 (add_completion): Do not take the arguments WHAT or PRINT any
29589 longer. Added a new argument TYPE. Instead of printing directly,
29590 call PRINT_FUNC if not NULL.
29591 All callers changed.
29592 (complete_device): Use a local variable DEV instead of
29593 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
29594 (grub_normal_do_completion): Take a new argument HOOK. Do not
29595 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
29596 empty string, return NULL instead.
29597 All callers changed.
29598
29599 * normal/cmdline.c (print_completion): New function.
29600
29601 * kern/partition.c (grub_partition_iterate): Add an argument DISK
29602 to HOOK.
29603 All callers changed.
29604
29605 * kern/disk.c (grub_print_partinfo): Removed.
29606
29607 * include/grub/partition.h (struct grub_partition_map): Add a new
29608 argument DISK into HOOK of ITERATE.
29609 (grub_partition_iterate): Add a new argument DISK to HOOK.
29610
29611 * include/grub/normal.h (enum grub_completion_type): New enum.
29612 (grub_completion_type_t): New type.
29613 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
29614 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
29615 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
29616 (GRUB_COMPLETION_TYPE_FILE): Likewise.
29617 (grub_normal_do_completion): Added a new argument HOOK.
29618 (grub_normal_print_device_info): New prototype.
29619
29620 * include/grub/disk.h (grub_print_partinfo): Removed.
29621
29622 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
29623 (normal_mod_SOURCES): Likewise.
29624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29625 (normal_mod_SOURCES): Likewise.
29626
29627 * commands/ls.c (grub_ls_list_disks): Use
29628 grub_normal_print_device_info instead of grub_print_partinfo. Free
29629 PNAME.
29630 (grub_ls_list_files): Use grub_normal_print_device_info instead of
29631 duplicating the code.
29632
0bd41162 296332005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29634
29635 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 29636 follow GCS more precisely.
29637 * commands/i386/pc/vbe_test.c: Likewise.
29638 * include/grub/i386/pc/vbe.h: Likewise.
29639 * term/i386/pc/vesafb.c: Likewise.
29640 * video/i386/pc/vbe.c: Likewise.
0bd41162 29641
6323696a 296422005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29643
29644 * DISTLIST: Added term/i386/pc/vesafb.c
29645 DISTLIST: Added video/i386/pc/vbe.c
29646 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
29647 DISTLIST: Added commands/i386/pc/vbe_test.c.
29648 * commands/i386/pc/vbe_list_modes.c: New file.
29649 * commands/i386/pc/vbe_test.c: Likewise.
29650 * term/i386/pc/vesafb.c: Likewise.
29651 * video/i386/pc/vbe.c: Likewise.
29652 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
29653 (grub_vbe_probe) Added prototype.
29654 (grub_vbe_set_video_mode) Likewise.
29655 (grub_vbe_get_video_mode) Likewise.
29656 (grub_vbe_get_video_mode_info) Likewise.
29657 (grub_vbe_set_pixel_rgb) Likewise.
29658 (grub_vbe_set_pixel_index) Likewise.
29659 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
29660 (pkgdata_MODULES): Added vesafb.mod.
29661 (pkgdata_MODULES): Added vbe_list_modes.mod.
29662 (pkgdata_MODULES): Added vbe_test.mod.
29663 (vbe_mod_SOURCES): Added.
29664 (vbe_mod_CFLAGS): Likewise.
29665 (vesafb_mod_SOURCES): Likewise.
29666 (vesafb_mod_CFLAGS): Likewise.
29667 (vbe_list_modes_mod_SOURCES): Likewise.
29668 (vbe_list_modes_mod_CFLAGS): Likewise.
29669 (vbe_test_mod_SOURCES): Likewise.
29670 (vbe_test_mod_CFLAGS): Likewise.
29671
0a74e62f 296722005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
29673
0a74e62f 29674 * normal/command.c (grub_command_execute): If INTERACTIVE is
29675 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
29676 CMDLINE. Disable the pager if INTERACTIVE is true.
29677 All callers are changed.
29678
29679 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
29680 before reading a config file.
29681 * normal/main.c (read_config_file): Even if a command is not
29682 found, register it if it is within an entry.
29683
29684 * util/grub-emu.c: Include sys/types.h and unistd.h.
29685 (options): Added --hold.
29686 (struct arguments): Added a new member "hold".
29687 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
29688 missing.
29689 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
29690 cleared by a debugger, if it is not zero.
29691
29692 * include/grub/normal.h (grub_command_execute): Add an argument
29693 INTERACTIVE.
29694
e51f85ae 296952005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
29696
29697 * DISTLIST: Added include/grub/i386/pc/vbe.h.
29698
e9c6f39b 296992005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
29700
29701 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
29702 program with another one, because the old one didn't detect a bug
29703 in gcc-3.4. Always use regparm 2, because the new test is still
29704 not enough for gcc-4.0. Someone must investigate a simple test
29705 case which detects a bug in gcc-4.0.
29706
8de3495c 297072005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
29708
29709 * DISTLIST: Added normal/completion.c.
29710
29711 * normal/completion.c: New file.
f19dbdb7 29712
8de3495c 29713 * term/i386/pc/console.c (grub_console_getwh): New function.
29714 (grub_console_term): Assign grub_console_getwh to getwh.
29715
29716 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
29717 function is defined in normal/completion.c as
29718 grub_normal_do_completion.
29719 (grub_cmdline_get): Use grub_normal_do_completion instead of
29720 grub_tab_complete.
29721
29722 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
29723 returns non-zero, otherwise return 0.
29724 (grub_partition_iterate): First, probe the partition map. Then,
29725 call ITERATE only for this partition map.
29726
29727 * kern/misc.c (grub_strncmp): Rewritten.
29728
29729 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
29730 returns non-zero. Otherwise return 0.
29731
29732 * include/grub/partition.h (grub_partition_map_iterate): Return
29733 int instead of void.
29734
29735 * include/grub/normal.h (grub_normal_do_completion): New prototype.
29736
29737 * include/grub/misc.h (grub_strncmp): Change the type of N to
29738 grub_size_t.
29739
29740 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
29741 of void.
29742
29743 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 29744 unsigned explicitly before comparing it with I.
8de3495c 29745
29746 * kern/main.c (grub_env_write_root): Add the attribute unused into
29747 VAR.
29748
29749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29750 normal/completion.c.
29751 (normal_mod_SOURCES): Likewise.
29752 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29753 (normal_mod_SOURCES): Likewise.
29754
29755 * normal/command.c (grub_iterate_commands): If ITERATE returns
29756 non-zero, return one immediately.
29757
e85e144b 297582005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
29759
29760 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
29761 * kern/i386/pc/startup.S: Updated Global Descriptor table's
29762 descriptions.
29763 (grub_vbe_get_controller_info): New function.
29764 (grub_vbe_get_mode_info): Likewise.
29765 (grub_vbe_set_mode): Likewise.
29766 (grub_vbe_get_mode): Likewise.
29767 (grub_vbe_set_memory_window): Likewise.
29768 (grub_vbe_get_memory_window): Likewise.
29769 (grub_vbe_set_scanline_length): Likewise.
29770 (grub_vbe_get_scanline_length): Likewise.
29771 (grub_vbe_set_display_start): Likewise.
29772 (grub_vbe_get_display_start): Likewise.
29773 (grub_vbe_set_palette_data): Likewise.
29774 * include/grub/i386/pc/vbe.h: New file.
29775
c46153d2 297762005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29777
29778 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
29779 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
29780 * DISTLIST: Likewise.
29781 * kern/ieee1275/of.c: Moved to ...
29782 * kern/ieee1275/ieee1275.c: ... here.
29783
0cb90c45 297842005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29785
29786 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
29787 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
29788 Pass 0 as `end' parameter to grub_strtoul().
29789
a19fb360 297902005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29791
29792 * include/grub/powerpc/ieee1275/console.h: Do not include
29793 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
29794 ifdef.
29795 (grub_console_cur_color): Remove i386-specific prototype.
29796 (grub_console_real_putchar): Likewise.
29797 (grub_console_checkkey): Likewise.
29798 (grub_console_getkey): Likewise.
29799 (grub_console_getxy): Likewise.
29800 (grub_console_gotoxy): Likewise.
29801 (grub_console_cls): Likewise.
29802 (grub_console_setcursor): Likewise.
29803 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
29804 Include <grub/machine/console.h>.
29805 * term/ieee1275/ofconsole.c: Likewise.
29806
4ac9bd04 298072005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
29808
29809 * Makefile.in (LIBLZO): New variable.
29810
29811 * configure.ac: Check for LZO version 2.
29812
29813 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
29814 lzo/lzo1x.h instead of lzo1x.h.
29815
29816 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
29817 of -llzo.
29818
29819 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
29820 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
29821
29822 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
29823 copying the data from PARTITION to P.
29824
f4917dfd 298252005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29826
29827 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
29828 negative, unload the module.
29829
29830 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
29831 map is "pc_partition_map" but not "pc".
29832 (usage): Fix the description. The options are --boot-image and
29833 --core-image but not --boot-file or --core-file.
29834 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
29835 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
29836 DEFAULT_DIRECTORY.
29837
29838 * util/i386/pc/grub-install.in: Do not specify --boot-file or
29839 --core-file. Specify INSTALL_DEVICE as an argument.
29840
29841 * util/console.c: Include config.h.
29842 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
29843 [HAVE_NCURSES_H]: Include ncurses.h.
29844 [HAVE_CURSES_H]: Include curses.h.
29845 [!A_NORMAL] (A_NORMAL): Defined as zero.
29846 [!A_STANDOUT] (A_STANDOUT): Likewise.
29847
29848 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
29849 -lncurses.
29850 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
29851
29852 * configure.ac: Check for curses libraries and headers.
29853
29854 * Makefile.in (LIBCURSES): New variable.
29855
29856 * genmk.rb (Script::rule): Set the executable bits.
29857
29858 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
29859 name of the PC partition map is "pc_partition_map" but not "pc".
29860
0e143073 298612005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29862
29863 * util/i386/pc/grub-install.in (grub_probefs): New variable.
29864 (modules): Likewise.
29865 (usage): Added descriptions for --modules and --grub-probefs.
29866 Handle --modules and --grub-probefs. Save the arguments in MODULES
29867 and GRUB_PROBEFS, respectively.
29868 Auto-detect a filesystem module against GRUBDIR. If the result is
29869 empty and modules are not specified explicitly, abort the
29870 installation. Add the result to MODULES.
29871
29872 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
29873 disk/powerpc/ieee1275/ofdisk.c,
29874 include/grub/powerpc/ieee1275/init.h and
29875 term/powerpc/ieee1275/ofconsole.c.
29876 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
29877 term/ieee1275/ofconsole.c.
29878
29879 * include/grub/powerpc/ieee1275/console.h: Resurrected.
29880
29881 * COPYING: Upgraded to the latest version. Only the address of the
29882 FSF office has changed.
f19dbdb7 29883
efd6e6d5 298842005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29885
29886 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
29887 kern/ieee1275.c with kern/ieee1275/of.c.
29888
29889 * kern/ieee1275.c: Moved to ...
29890 * kern/ieee1275/of.c: ... here.
29891
8ceafda2 298922005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
29893
29894 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 29895 readability.
8ceafda2 29896
29897 * config.guess: Updated to the latest version from gnulib.
29898 * config.sub: Likewise.
29899 * install.sh: Likewise.
29900 * mkinstalldirs: Likewise.
29901
29902 * include/grub/console.h: Removed. This file is arch-specific. Do
29903 not put this in include/grub.
29904
29905 * include/grub/i386/pc/console.h: Resurrected.
29906
29907 * util/console.c: Include grub/machine/console.h instead of
29908 grub/console.h.
29909 * util/grub-emu.c: Likewise.
29910
267f6cd9 299112005-08-04 Marco Gerards <metgerards@student.han.nl>
29912
29913 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
29914 hardcoded value.
f19dbdb7 29915
267f6cd9 29916 From Vincent Pelletier <subdino2004@yahoo.fr>
29917 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
29918 Redefined to use grub_getwh.
29919 (grub_term): New member named getwh.
29920 (grub_getwh): New prototype.
29921 * kern/term.c (grub_getwh): New function.
29922 * term/i386/pc/console.c (grub_console_getwh): New function.
29923 (grub_console_term): New member `getwh'.
29924 * term/i386/pc/vga.c (grub_vga_getwh): New function.
29925 (grub_vga_term): New member `getwh'.
0b5abe02 29926 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 29927 grub_ssize_t.
29928 (grub_ofconsole_getw): New function.
29929 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
29930 (grub_ofconsole_term): New field named getwh and new initial
29931 value.
29932
3be7266d 299332005-08-03 Hollis Blanchard <hollis@penguinppc.org>
29934
29935 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
29936 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
29937 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
29938 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
29939 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
29940 of <grub/machine/ieee1275.h>.
29941 * commands/ieee1275/reboot.c: Likewise.
29942 * boot/powerpc/ieee1275/ieee1275.c: Move ...
29943 * kern/ieee1275.c: ... to here. All users updated. Change all
29944 parameter structs to use new type `grub_ieee1275_cell_t'.
29945 * term/powerpc/ieee1275/ofconsole.c: Move ...
29946 * term/ieee1275/ofconsole.c: ... to here. All users updated.
29947 * disk/powerpc/ieee1275/ofdisk.c: Move ...
29948 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
29949 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
29950 to return int.
29951 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
29952 Remove unused prototypes. All users updated.
29953 * include/grub/powerpc/ieee1275/console.h: Removed.
29954 * include/grub/powerpc/ieee1275/ieee1275.h: Define
29955 `grub_ieee1275_cell_t'.
29956 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
29957 Cast comparisons with -1 to the correct type.
29958 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
29959 type to match `grub_ieee1275_entry_fn'.
29960
8b5f3938 299612005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
29962
29963 * DISTLIST: Added util/i386/pc/grub-probefs.c.
29964
29965 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
29966 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
29967 partmap/sun.c.
29968 (grub_probefs_SOURCES): New variable.
29969
29970 * util/i386/pc/grub-probefs.c: New file.
29971
29972 * util/i386/pc/grub-setup.c (main): Call
29973 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
29974 grub_hfs_init and grub_jfs_init to initialize the system. Call
29975 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
29976 grub_pc_partition_map_fini to finish the system.
29977
ea409713 299782005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
29979
29980 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
29981 function.
29982 (grub_multiboot_load_elf32): Likewise.
29983 (grub_multiboot_is_elf64): Likewise.
29984 (grub_multiboot_load_elf64): Likewise.
29985 (grub_multiboot_load_elf): Likewise.
29986 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
29987 an ELF32 or ELF64 file.
29988 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
29989
29990 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
29991 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
29992 NULL before calling FS->LABEL.
29993 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
29994 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
29995 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
29996 before calling FS->LABEL.
29997
141a288b 299982005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
29999
30000 * util/i386/pc/grub-install.in (datadir): New variable.
30001 (libdir): Removed.
30002 (pkgdatadir): New variable.
30003 (pkglibdir): Removed.
30004
0d5f8a54 300052005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
30006
30007 * DISTLIST: Added util/i386/pc/grub-install.in.
30008
30009 * util/i386/pc/grub-install.in: New file.
30010
30011 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
30012 (grub_install_SOURCES): Likewise.
30013
30014 * genmk.rb: Added support for scripts.
30015 (Script): New class.
30016 (scripts): New variable.
30017
30018 * Makefile.in (install-local): Install sbin_SCRIPTS by
30019 INSTALL_SCRIPT.
30020 (uninstall): Remove sbin_SCRIPTS.
30021
30022 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
30023 device, try to get a GRUB device by
30024 grub_util_biosdisk_get_grub_dev.
30025 Free DEST_DEV.
30026
30027 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
30028 description for --device-map.
30029
5f968e1e 300302005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30031
30032 Change the semantics of variable hooks. They now return strings
30033 instead of error values.
f19dbdb7 30034
5f968e1e 30035 * util/i386/pc/grub-setup.c: Include grub/env.h.
30036 (setup): Use grub_device_set_root instead of grub_env_set.
30037
30038 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
30039 grub_env_get instead of grub_device_set_root and
30040 grub_device_get_root, respectively.
30041
30042 * kern/main.c (grub_env_write_root): New function.
30043 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
30044 grub_env_set instead of grub_device_set_root.
30045
30046 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
30047 many variables.
30048 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
30049 rather than calling ENV->WRITE_HOOK afterwards.
30050 (grub_env_get): Return the result of ENV->READ_HOOK rather than
30051 passing a pointer of a pointer.
30052 (grub_register_variable_hook): Change the types of "read_hook" and
30053 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
30054 respectively.
30055 Allocate the default empty string on the heap, because this string
30056 may be freed later.
30057
30058 * kern/device.c: Include grub/env.h.
30059 (grub_device_set_root): Removed.
30060 (grub_device_get_root): Likewise.
30061 (grub_device_open): Use grub_env_get instead of
30062 grub_device_get_root.
30063
30064 * include/grub/env.h (grub_env_read_hook_t): New type.
30065 (grub_env_write_hook_t): Likewise.
30066 (grub_env_var): Change the types of "read_hook" and "write_hook"
30067 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
30068 (grub_register_variable_hook): Likewise.
30069
30070 * include/grub/device.h (grub_device_set_root): Removed.
30071 (grub_device_set_root): Likewise.
30072
30073 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
30074 make sure that DIRNAME terminates with '/', so that
30075 grub_fat_find_dir will fail if PATH is not a directory.
30076
30077 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
30078 from DIRNAME.
30079 Use the qualifier auto for print_files and print_files_long.
30080 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
30081 as a regular file.
30082 Put a newline only if there is no error.
30083 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
30084 used.
30085
896f0afd 300862005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30087
30088 * kern/partition.c (grub_partition_probe): Initialize PART to
30089 NULL. Otherwise, when no partition map is registered, this returns
30090 a garbage.
30091
b28b81b2 300922005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
30093
30094 * partmap/apple.c (apple_partition_map_iterate): Check if POS
30095 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
30096 valid.
30097
5f3607e0 300982005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
30099
30100 * commands/ls.c (grub_ls_list_disks): Print the filesystem
30101 information on each device, if it does not have partitions. Print
30102 "Device" instead of "Disk", because this function is not specific
30103 to disk devices.
30104
30105 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
30106 static to ensure that it is put on the memory rather than a
30107 register.
30108
502c87e8 301092005-07-17 Yoshinori Okuji <okuji@enbug.org>
30110
30111 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
30112 (grub_cat_init): Likewise.
30113 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
30114 (options): Likewise.
30115 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30116 (grub_configfile_init): Likewise.
30117 * font/manager.c (GRUB_MOD_INIT): Likewise.
30118 * commands/help.c (GRUB_MOD_INIT): Likewise.
30119 (grub_help_init): Likewise.
30120 * normal/command.c (grub_command_init): Likewise.
30121 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
30122 * disk/loopback.c (grub_loop_init): Likewise.
30123 (GRUB_MOD_INIT): Likewise.
30124 * commands/ls.c (grub_ls_init): Likewise.
30125 (GRUB_MOD_INIT): Likewise.
30126 (options): Likewise.
30127 * commands/boot.c (grub_boot_init): Likewise.
30128 (GRUB_MOD_INIT): Likewise.
30129 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
30130 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
30131 (GRUB_MOD_INIT): Likewise.
30132 * commands/cmp.c (grub_cmp_init): Likewise.
30133 (GRUB_MOD_INIT): Likewise.
30134
30135 * normal/arg.c: Use <> instead of "" to include header files.
30136 (SHORT_ARG_HELP): New macro.
30137 (SHORT_ARG_USAGE): Likewise.
30138 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
30139 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
30140 descriptions.
30141 (find_short): Check if C is 'h' or 'u' explicitly.
30142 (grub_arg_show_help): Use space characters instead of tabs. Treat
30143 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
30144 are shown with --help and --usage only if they are not used for
30145 the command itself.
30146 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
30147 'h' and 'u'.
30148
30149 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
30150 const into "longarg". Change the type of "shortarg" to int.
30151
f806d18e 301522005-07-17 Yoshinori Okuji <okuji@enbug.org>
30153
30154 * boot/i386/pc/boot.S (boot_drive_check): New label.
30155
30156 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
30157 macro.
30158
30159 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
30160 which do not pass a boot drive correctly. Copied from GRUB Legacy.
30161
e293232b 301622005-07-17 Yoshinori Okuji <okuji@enbug.org>
30163
30164 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
30165 When turning off Gate A20, skip the check and return immediately,
30166 because this is not fatal usually.
30167
ebedfd00 301682005-07-17 Yoshinori Okuji <okuji@enbug.org>
30169
30170 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
30171 be 0x7C00 instead of 0x8000.
30172
30173 * boot/i386/pc/pxeboot.S: Rewritten.
30174
30175 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
30176 EXT_C.
30177 (gate_a20_check_state): Read a byte from 0x108000. Invert the
30178 result.
30179
654fc59f 301802005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
30181
30182 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
30183 robustness. This routine now supports a BIOS call and System
30184 Control Port A to modify the gate A20.
30185
30186 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30187 Increased to 0x440.
30188
09f9923f 301892005-07-12 Hollis Blanchard <hollis@penguinppc.org>
30190
30191 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
30192 device path and resulting ihandle.
30193 (grub_ofdisk_close): dprintf the ihandle being closed.
30194 (grub_ofdisk_read): dprintf function parameters.
30195 * kern/mm.c (grub_mm_init_region): Likewise.
30196 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
30197 (grub_linux_boot): dprintf the Linux entry point, initrd address and
30198 size, and boot arguments.
30199 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
30200 before loading into memory.
30201 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
30202 before loading into memory.
30203
7ef504d8 302042005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
30205
30206 * kern/mm.c: Added much documentation.
30207 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
30208 8, set to 5 instead of 8.
30209
e0f050c2 302102005-07-10 Yoshinori Okuji <okuji@enbug.org>
30211
30212 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
30213
30214 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
30215 (grub_mkdevicemap_SOURCES): New variable.
30216
30217 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
30218 lib/device.c of GRUB Legacy.
30219
7224189a 302202005-07-10 Yoshinori Okuji <okuji@enbug.org>
30221
30222 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
30223 instead of PATH is NULL.
30224
68c864eb 302252005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
30226
30227 * commands/cmp.c (BUFFER_SIZE): New macro.
30228 (grub_cmd_cmp): Close the right file at the right time. Compare
30229 only data just read. Don't report files of different size as
30230 identical. Dynamically allocate buffers. Move variable
30231 declarations at the beginning of function.
30232
e6f3e614 302332005-07-09 Yoshinori Okuji <okuji@enbug.org>
30234
30235 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
30236 reverse.
30237
f8f1559a 302382004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
30239
30240 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
30241 when backspace is pressed at beginning of line.
30242
39c9d41d 302432005-07-03 Yoshinori Okuji <okuji@enbug.org>
30244
30245 * DISTLIST: Added genfslist.sh.
30246
30247 * normal/main.c (fs_module_list): New variable.
30248 (autoload_fs_module): New function.
30249 (read_fs_list): Likewise.
30250 (grub_normal_execute): Call read_fs_list.
30251
30252 * kern/fs.c (grub_fs_autoload_hook): New variable.
30253 (grub_fs_probe): Added support for auto-loading.
30254
30255 * include/grub/normal.h (struct grub_fs_module_list): New struct.
30256 (grub_fs_module_list_t): New type.
30257
30258 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
30259 (grub_fs_autoload_hook): New prototype.
30260
30261 * genfslist.sh: New file.
f19dbdb7 30262
39c9d41d 30263 * genmk.rb: Added a rule to generate a filesystem list.
30264
121c1d83 302652005-06-30 Marco Gerards <metgerards@student.han.nl>
30266
30267 * configure.ac: Fix the test for cross-compiling.
30268
30269 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
30270 define GRUB_UTIL anymore.
30271
30272 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
30273 so this function works on other systems than just big endian.
30274 (load_modules): Likewise.
30275 (add_segments): Likewise.
30276
e75d76e1 302772005-06-23 Hollis Blanchard <hollis@penguinppc.org>
30278
30279 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
30280 contains `l' modifier, get a long from va_arg().
30281
50b5a0a7 302822005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
30283
30284 * kern/mm.c (grub_free): If the next free block which is being
30285 merged is the first free block, set the first block to the block
30286 being freed.
30287 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
30288
89371b20 302892005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30290
30291 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
30292 `grub_ieee1275_chosen'.
30293
168d6e58 302942005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30295
30296 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
30297 (grub_ieee1275_chosen): New variable.
30298 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
30299 `chosen'.
30300 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
30301 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30302 Rename first argument to `phandle' for consistency.
30303 (grub_ieee1275_get_property_length): Likewise.
30304 (grub_ieee1275_next_property): Likewise. Change type of first argument
30305 to grub_ieee1275_phandle_t.
30306 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
30307 Move export next to declaration.
30308 (grub_ieee1275_chosen): New variable.
30309 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
30310 Correct cosmetic typo.
30311 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
30312 `grub_ieee1275_chosen'.
30313 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
30314 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
30315 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
30316 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
30317 `grub_ieee1275_chosen'.
30318
ca5baa3f 303192005-05-10 Hollis Blanchard <hollis@penguinppc.org>
30320
30321 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
30322 /chosen/bootargs.
30323 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
30324 /chosen/bootargs as "variable=value" pairs.
30325
708b345f 303262005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
30327
30328 * include/grub/misc.h (grub_dprintf): New macro.
30329 (grub_real_dprintf): New prototype.
30330 (grub_strword): Likewise.
30331 (grub_iswordseparator): Likewise.
30332 * kern/misc.c (grub_real_dprintf): New function.
30333 (grub_strword): Likewise.
30334 (grub_iswordseparator): Likewise.
30335
f4c5e67c 303362005-04-30 Hollis Blanchard <hollis@penguinppc.org>
30337
30338 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
30339 (roundup): Remove macro.
30340 (grub_ieee1275_flags): Make static.
30341 (grub_ieee1275_realmode): Remove.
30342 (grub_ieee1275_test_flag): New function.
30343 (grub_ieee1275_set_flag): Likewise.
30344 (find_options): Rename to `grub_ieee1275_find_options'; update
30345 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
30346 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
30347 (cmain): New prototype.
30348 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
30349 `grub_ieee1275_flags' directly.
30350 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
30351 machine/biosdisk.h.
30352 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
30353 Don't include grub/machine/init.h.
30354 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
30355 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
30356 Remove prototype.
30357 (grub_ieee1275_realmode): Likewise.
30358 (grub_ieee1275_flag): New enum.
30359 (grub_ieee1275_test_flag): New prototype.
30360 (grub_ieee1275_set_flag): New prototype.
30361 * include/grub/powerpc/ieee1275/init.h: Remove file.
30362 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
30363 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
30364 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
30365 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
30366 comment.
30367 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
30368 `grub_ieee1275_test_flag'.
30369 (grub_ieee1275_encode_devname): Likewise.
30370
ed16607e 303712005-04-21 Hollis Blanchard <hollis@penguinppc.org>
30372
30373 * include/grub/powerpc/ieee1275/ieee1275.h
30374 (grub_ieee1275_encode_devname): New prototype.
30375 (grub_ieee1275_get_filename): Likewise.
30376 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
30377 function.
30378 (grub_set_prefix): Likewise.
30379 (grub_machine_init): Call grub_set_prefix.
30380 * kern/powerpc/ieee1275/openfw.c: Fix typos.
30381 (grub_parse_type): New enum.
30382 (grub_ieee1275_get_devargs): New function.
30383 (grub_ieee1275_get_devname): Likewise.
30384 (grub_ieee1275_parse_args): Likewise.
30385 (grub_ieee1275_get_filename): Likewise.
30386 (grub_ieee1275_encode_devname): Likewise.
30387
be369920 303882005-03-30 Marco Gerards <metgerards@student.han.nl>
30389
30390 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
30391 `grub_loader_unset'.
30392
a5ce3a4a 303932005-03-26 Hollis Blanchard <hollis@penguinppc.org>
30394
30395 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
30396 instead of grub_ieee1275_interpret.
30397 (grub_halt_init): New function.
30398 (grub_halt_fini): Likewise.
30399 (GRUB_MOD_INIT): Correct message grammar.
30400 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
30401 instead of grub_ieee1275_interpret.
30402 (grub_reboot_init): New function.
30403 (grub_reboot_fini): Likewise.
30404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
30405 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
30406 util/i386/pc/misc.c with commands/ieee1275/halt.c,
30407 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
30408 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
30409 function.
30410 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
30411 Add prototype.
30412 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
30413 prototype.
30414 (grub_halt): Likewise.
30415 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
30416 (cmain): Remove __attribute__((unused)).
30417 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
30418 (grub_heap_len): Likewise.
30419 (grub_machine_fini): New function.
30420 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
30421 (grub_halt): Likewise.
30422 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
30423 function.
30424 * util/powerpc/ieee1275/misc.c: New file.
30425
0058f771 304262005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30427
30428 * DISTLIST: New file.
30429 * gendistlist.sh: Likewise.
f19dbdb7 30430
0058f771 30431 * Makefile.in (COMMON_DISTFILES): Removed.
30432 (BOOT_DISTFILES): Likewise.
30433 (CONF_DISTFILES): Likewise.
30434 (DISK_DISTFILES): Likewise.
30435 (FS_DISTFILES): Likewise.
30436 (INCLUDE_DISTFILES): Likewise.
30437 (KERN_DISTFILES): Likewise.
30438 (LOADER_DISTFILES): Likewise.
30439 (TERM_DISTFILES): Likewise.
30440 (UTIL_DISTFILES): Likewise.
30441 (DISTFILES): Likewise.
30442 (uninstall): Uninstall files in $(pkgdata_DATA).
30443 (DISTLIST): New target.
30444 (distdir): Use the contents of the file DISTLIST to get a list of
30445 distributed files.
30446
46b3b8a5 304472005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30448
30449 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
30450 descriptor. This is ported from GRUB Legacy.
30451
30452 * gencmdlist.sh: Added an extra semicolon to make it work with
30453 old sed versions. Reported by Robert Bihlmeyer
30454 <robbe@orcus.priv.at>.
30455
5822ff87 304562005-03-08 Yoshinori Okuji <okuji@enbug.org>
30457
30458 Automatic loading of commands is supported.
f19dbdb7 30459
5822ff87 30460 * normal/main.c (read_command_list): New function.
30461 (grub_normal_execute): Call read_command_list.
30462
30463 * normal/command.c (grub_register_command): Return zero or CMD.
30464 Allocate CMD->NAME from the heap.
30465 Initialize CMD->MODULE_NAME to zero.
30466 Find the same name as well. If the same command is found and it is
30467 a dummy command, overwrite members. If it is not a dummy command,
30468 return zero.
30469 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
30470 (grub_command_find): If a dummy command is found, load a module
30471 and retry to find a command only once.
30472
30473 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
30474 make sure that each command is loaded.
30475
30476 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
30477 macro.
30478 (struct grub_command): Remove const from the member `name'.
30479 Add a new member `module_name'.
30480 (grub_register_command): Return grub_command_t.
30481
30482 * commands/help.c (grub_cmd_help): Call grub_command_find to make
30483 sure that each command is loaded.
30484
30485 * genmk.rb (PModule::rule): Specify a module name without the
30486 suffix ".mod" to gencmdlist.sh.
30487
7b1f4b57 304882005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30489
30490 * gencmdlist.sh: New file.
f19dbdb7 30491
7b1f4b57 30492 * genmk.rb (PModule::rule): Generate a rule for a command list.
30493 Clean command.lst.
30494 Generate command.lst from $(COMMANDFILES).
30495
30496 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
30497 (DATA): Added $(pkgdata_DATA).
30498 (install-local): Install files in $(pkgdata_DATA).
30499
062aaf39 305002005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30501
30502 * term/i386/pc/vga.c (debug_command): Removed.
30503 (GRUB_MOD_INIT): Do not register the command "debug".
30504
30505 From Hollis Blanchard:
30506 * commands/configfile.c: New file.
30507 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30508 commands/configfile.c.
30509 (pkgdata_MODULES): Added configfile.mod.
30510 (configfile_mod_SOURCES): New variable.
30511 (configfile_mod_CFLAGS): Likewise.
30512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30513 commands/configfile.c.
30514 (pkgdata_MODULES): Added configfile.mod.
30515 (configfile_mod_SOURCES): New variable.
30516 (configfile_mod_CFLAGS): Likewise.
30517 * util/grub-emu.c (main): Call grub_configfile_init and
30518 grub_configfile_fini.
30519 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
30520 prototype.
30521 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 30522
cee01aa6 305232005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30524
30525 * normal/arg.c (grub_arg_show_help): Do not show the bug report
30526 address.
30527
30528 * commands/help.c (grub_cmd_help): Do not print newlines after
30529 the last command in print_command_help.
30530
93f3a1d8 305312005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30532
30533 * commands/default.h: New file.
30534 * commands/timeout.h: Likewise.
30535 * normal/context.c: Likewise.
f19dbdb7 30536
93f3a1d8 30537 * util/misc.c: Do not include sys/times.h.
30538 Include sys/time.h and grub/machine/time.h.
30539 (grub_get_rtc): Rewritten with gettimeofday.
30540
30541 * util/grub-emu.c (main): Call grub_default_init and
30542 grub_timeout_init before grub_normal_init, and call
30543 grub_timeout_fini and grub_default_fini after grub_main.
30544
30545 * util/console.c (grub_ncurses_checkkey): Return the read
30546 character or -1.
30547
30548 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
30549 timeouts.
30550
30551 * normal/main.c (read_config_file): Push MENU. If this fails,
30552 print an error and wait for a user input.
30553 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
30554 If a menu is empty or an error occurs, pop MENU.
30555 (grub_normal_execute): Pop and free MENU after grub_menu_run
30556 returns.
30557
30558 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
30559
30560 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
30561 include time.h.
30562 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30563 without GRUB_UTIL.
30564 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
30565 time.h.
30566 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30567 without GRUB_UTIL.
30568
30569 * include/grub/normal.h (struct grub_menu_list): New struct.
30570 (grub_menu_list_t): New type.
30571 (struct grub_context): New struct.
30572 (grub_context_t): New type.
30573 (grub_register_command): Got rid of EXPORT_FUNC.
30574 (grub_unregister_command): Likewise.
30575 (grub_context_get): New prototype.
30576 (grub_context_get_current_menu): Likewise.
30577 (grub_context_push_menu): Likewise.
30578 (grub_context_pop_menu): Likewise.
30579 [GRUB_UTIL] (grub_default_init): Likewise.
30580 [GRUB_UTIL] (grub_default_fini): Likewise.
30581 [GRUB_UTIL] (grub_timeout_init): Likewise.
30582 [GRUB_UTIL] (grub_timeout_fini): Likewise.
30583
30584 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
30585 commands/timeout.c and normal/context.c.
30586 (pkgdata_MODULES): Added default.mod and timeout.mod.
30587 (normal_mod_SOURCES): Added normal/context.c.
30588 (default_mod_SOURCES): New variable.
30589 (default_mod_CFLAGS): Likewise.
30590 (timeout_mod_SOURCES): Likewise.
30591 (timeout_mod_CFLAGS): Likewise.
30592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
30593 conf/i386-pc.rmk.
30594 (pkgdata_MODULES): Added default.mod and timeout.mod.
30595 (normal_mod_SOURCES): Added normal/context.c.
30596 (default_mod_SOURCES): New variable.
30597 (default_mod_CFLAGS): Likewise.
30598 (timeout_mod_SOURCES): Likewise.
30599 (timeout_mod_CFLAGS): Likewise.
30600
30601 * Makefile.in (all-local): Added $(MKFILES).
30602
4ed2e1dd 306032005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
30604
30605 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
30606 (grub_emu_SOURCES): Likewise.
30607 (pkgdata_MODULES): Add `sun.mod'.
30608 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30610 `partmap/sun.c'.
30611 (pkgdata_MODULES): Add `sun.mod'.
30612 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30613 * include/grub/partition.h (grub_sun_partition_map_init): New
30614 prototype.
30615 (grub_sun_partition_map_fini): Likewise.
30616 * partmap/sun.c: New file.
30617 * util/grub-emu.c (main): Initialize and de-initialize the sun
30618 partitionmap support.
30619
4d4e372e 306202005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
30621
30622 This implements an Emacs-like menu entry editor.
f19dbdb7 30623
4d4e372e 30624 * normal/menu_entry.c: New file.
f19dbdb7 30625
4d4e372e 30626 * util/console.c (grub_ncurses_putchar): Translate some Unicode
30627 characters to ASCII.
30628 (saved_char): New variable.
30629 (grub_ncurses_checkkey): Rewritten completely.
30630 (grub_ncurses_getkey): Likewise.
30631 (grub_ncurses_init): Call raw instead of cbreak.
30632
30633 * normal/menu.c (print_entry): Do not put a space.
30634 (init_page): Renamed to ...
30635 (grub_menu_init_page): ... this. All callers changed.
30636 (edit_menu_entry): Removed.
30637 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
30638
30639 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
30640
30641 * kern/misc.c (grub_vprintf): Call grub_refresh.
30642
30643 * normal/menu.c (DISP_LEFT): Renamed to ...
30644 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
30645 * normal/menu.c (DISP_UP): Renamed to ...
30646 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
30647 * normal/menu.c (DISP_RIGHT): Renamed to ...
30648 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
30649 * normal/menu.c (DISP_DOWN): Renamed to ...
30650 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
30651 * normal/menu.c (DISP_HLINE): Renamed to ...
30652 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
30653 * normal/menu.c (DISP_VLINE): Renamed to ...
30654 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
30655 * normal/menu.c (DISP_UL): Renamed to ...
30656 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
30657 * normal/menu.c (DISP_UR): Renamed to ...
30658 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
30659 * normal/menu.c (DISP_LL): Renamed to ...
30660 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
30661 * normal/menu.c (DISP_LR): Renamed to ...
30662 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
30663 * normal/menu.c (TERM_WIDTH): Renamed to ...
30664 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
30665 * normal/menu.c (TERM_HEIGHT): Renamed to ...
30666 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
30667 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
30668 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
30669 * normal/menu.c (TERM_MARGIN): Renamed to ...
30670 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
30671 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
30672 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
30673 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
30674 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
30675 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
30676 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
30677 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
30678 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
30679 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
30680 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
30681 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
30682 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
30683 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
30684 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
30685 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
30686 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
30687 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
30688 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
30689 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
30690 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
30691 All callers changed.
30692
30693 * include/grub/normal.h: New prototype.
30694
30695 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30696 normal/menu_entry.c.
30697 (normal_mod_SOURCES): Likewise.
30698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30699 (normal_mod_SOURCES): Likewise.
30700
e6b92c8a 307012005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
30702
30703 * include/grub/normal.h (grub_halt_init): New prototype.
30704 (grub_halt_fini): Likewise.
30705 (grub_reboot_init): Likewise.
30706 (grub_reboot_fini): Likewise.
30707
30708 * util/grub-emu.c: Include signal.h.
30709 (main_env): New global variable.
30710 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
30711 catch C-c.
30712 (grub_machine_fini): New function.
30713 (main): Call grub_halt_init and grub_reboot_init before
30714 grub_main, and grub_reboot_fini and grub_halt_fini after it.
30715 Call setjmp with MAIN_ENV to go back afterwards.
30716 Call grub_machine_fini right before return.
30717
30718 * include/grub/util/misc.h: Include setjmp.h.
30719 (main_env): New prototype.
30720
30721 * include/grub/kernel.h (grub_machine_fini): New prototype.
30722 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
30723 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
30724
30725 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
30726 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
30727 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 30728
e6b92c8a 30729 * util/i386/pc/misc.c: New file.
f19dbdb7 30730
e6b92c8a 30731 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30732 util/i386/pc/misc.c, commands/i386/pc/halt.c and
30733 commands/i386/pc/reboot.c.
30734
c642636f 307352005-02-14 Guillem Jover <guillem@hadrons.org>
30736
30737 * include/grub/dl.h (grub_dl_check_header): New prototype.
30738 (grub_arch_dl_check_header): Change return type to grub_err_t,
30739 remove size parameter and export function. Update all callers.
30740 * kern/dl.c (grub_dl_check_header): New function.
30741 (grub_dl_load_core): Use `grub_dl_check_header' instead of
30742 `grub_arch_dl_check_header'. Check ELF type. Check if sections
30743 are inside the core.
30744 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
30745 independent ELF header checks.
30746 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
30747 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
30748 `grub_dl_check_header' instead of explicit checks. Check for the
30749 ELF type.
30750 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
30751 `grub_dl_check_header' instead of explicit checks. Remove arch
30752 specific ELF header checks.
30753
e6b92c8a 30754 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
30755 argument SIZE.
30756
5eabe94b 307572005-02-13 Hollis Blanchard <hollis@penguinppc.org>
30758
30759 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
30760 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
30761
1b14a681 307622005-02-12 Hollis Blanchard <hollis@penguinppc.org>
30763
30764 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 30765 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 30766 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 30767 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 30768 * partmap/amiga.c (amiga_partition_map_iterate): Return
30769 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
30770 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30771
aca108aa 307722005-02-01 Guillem Jover <guillem@hadrons.org>
30773
30774 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
30775 help info.
30776
c9f9c556 307772005-01-31 Marco Gerards <metgerards@student.han.nl>
30778
30779 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
30780 Removed prototype.
30781 (grub_rescue_cmd_linux): New prototype.
30782 (grub_rescue_cmd_initrd): Likewise.
30783 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
30784 `bi_rec'.
30785 (grub_linux_release_mem): Release the memory for the initrd.
30786 (grub_load_linux): Renamed from this...
30787 (grub_rescue_cmd_linux): ...To this. Changed all callers.
30788 Changed `entry' not to be static. Loop over memory regions to
30789 find another one when the default fails.
30790 (grub_rescue_cmd_initrd): New function.
30791 (grub_linux_init): Remove function.
30792 (grub_linux_fini): Likewise.
30793 (GRUB_MOD_INIT): Register `initrd'.
30794 (GRUB_MOD_FINI): Unregister `initrd'.
30795 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
30796 Function removed.
30797 (grub_linux_normal_fini): Likewise.
30798 (GRUB_MOD_INIT): Register `initrd'.
30799 (GRUB_MOD_FINI): Unregister `initrd'.
30800
990cf3aa 308012005-01-31 Marco Gerards <metgerards@student.han.nl>
30802
30803 * commands/help.c: New file.
30804 * normal/arg.c (show_help): Renamed to...
30805 (grub_arg_show_help): ... this.
30806 * commands/i386/pc/halt.c: New file.
30807 * commands/i386/pc/reboot.c: Likewise.
30808 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
30809 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
30810 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
30811 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
30812 variables.
30813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30814 `commands/help.c'.
30815 (pkgdata_MODULES): Add `help.mod'.
30816 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
30817 * grub/i386/pc/init.h (grub_reboot): New prototype.
30818 (grub_halt): Likewise.
30819 * include/grub/normal.h (grub_arg_show_help): New prototype.
30820 (grub_help_init): Likewise.
30821 (grub_help_fini): Likewise.
30822 * util/grub-emu.c (main): Initialize and deinitialize the help
30823 command.
30824
30825 * normal/cmdline.c (grub_cmdline_get): Doc fix.
30826
30827 * normal/command.c (grub_command_init): Fixed the description of
30828 the `set' and `unset' commands.
30829
308302005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 30831
30832 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
30833 function.
30834 * commands/ieee1275/halt.c: New file.
30835 * commands/ieee1275/reboot.c: Likewise.
30836 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
30837 `__attribute__ ((unused))'. Some GCS related fixed.
30838 (grub_suspend_init) [GRUB_UTIL]: Function removed.
30839 (grub_suspend_fini): Likewise.
30840 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
30841 and `halt.mod'.
30842 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
30843 (halt_mod_CFLAGS): New variables.
30844 * include/grub/powerpc/ieee1275/ieee1275.h
30845 (grub_ieee1275_interpret): New prototype.
30846
1ab09cc7 308472005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
30848
30849 * include/grub/misc.h (memmove): New prototype.
30850 (memcpy): Likewise.
30851
8b8cbdb2 308522005-01-22 Hollis Blanchard <hollis@penguinppc.org>
30853
30854 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
30855 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
30856
e3741a27 308572005-01-22 Marco Gerards <metgerards@student.han.nl>
30858
30859 * kern/misc.c (grub_strndup): Function rewritten.
30860
776bd780 308612005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
30862
30863 * normal/menu.c (TERM_WIDTH): Macro redefined.
30864 (TERM_TOP_BORDER_Y): Likewise.
30865 (draw_border): Replaced while-loop by a for-loop. Make the number
30866 of lines consistent with the number of lines displayed in
30867 print_entries. Added a margin below the rectangle.
30868 (print_entry): Make the entry fit in the rectangle.
30869 (print_entries): Display the scroll arrows next to the right
30870 border.
30871
78026bce 308722005-01-21 Marco Gerards <metgerards@student.han.nl>
30873
30874 * fs/minix.c (grub_minix_find_file): Reserve more space for
30875 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
30876 `grub_strncpy' to copy `path' into it.
30877
67bbaf0f 308782005-01-21 Marco Gerards <metgerards@student.han.nl>
30879
30880 Add the loopback device, a device via which files can be accessed
30881 as devices.
f19dbdb7 30882
67bbaf0f 30883 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
30884 (pkgdata_MODULES): Add loopback.mod.
30885 (loopback_mod_SOURCES): New variable.
30886 (loopback_mod_CFLAGS): Likewise.
30887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30888 `disk/loopback.c'.
30889 (pkgdata_MODULES): Add loopback.mod.
30890 (loopback_mod_SOURCES): New variable.
30891 (loopback_mod_CFLAGS): Likewise.
30892 * disk/loopback.c: new file.
30893 * include/grub/normal.h (grub_loop_init): New prototype.
30894 (grub_loop_fini): New prototype.
30895 * util/grub-emu.c (main): Initialize and de-initialize loopback
30896 support.
30897 * include/grub/disk.h (grub_disk_dev_id): Add
30898 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
30899
6f1c18bd 309002005-01-20 Hollis Blanchard <hollis@penguinppc.org>
30901
30902 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
30903 function.
30904 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
30905 (suspend_mod_SOURCES): New variable.
30906 (suspend_mod_CFLAGS): Likewise.
30907 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
30908 New prototype.
30909 * commands/ieee1275/suspend.c: New file.
30910
b38551da 309112005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30912
30913 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 30914 ((unused))' to `__attribute__ ((used))'.
b38551da 30915 (GRUB_MOD_FINI): Likewise.
30916 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
30917 * genmk.rb (PModule): Assign space to common symbols when linking
30918 modules.
30919
777aff39 309202005-01-20 Marco Gerards <metgerards@student.han.nl>
30921
30922 * include/grub/mm.h (grub_mm_init_region): Change the type of the
30923 `unsigned' arguments to `grub_size_t'.
30924 (grub_malloc): Likewise.
30925 (grub_realloc): Likewise.
30926 (grub_memalign): Likewise.
30927 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
30928 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
30929 * util/misc.c (grub_malloc): Likewise.
30930 (grub_realloc): Likewise.
30931 * kern/mm.c (get_header_from_pointer): Change the casts to
30932 `unsigned' into a cast to `grub_size_t'.
30933
30934 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
30935 point to `currnode' when `currnode' is changed.
30936
30937 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
30938 Schottelius <nico-linux@schottelius.org>.
30939
d0ff18e1 309402005-01-09 Hollis Blanchard <hollis@penguinppc.org>
30941
30942 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
30943 (note_path): Remove variable.
30944 (GRUB_IEEE1275_NOTE_NAME): New macro.
30945 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
30946 (grub_ieee1275_note_hdr): New structure.
30947 (grub_ieee1275_note_desc): Likewise.
30948 (grub_ieee1275_note): Likewise.
30949 (load_note): Remove `dir' argument. All callers updated. Remove
30950 `note_img' and `path'. Do not load a file from `note_path'.
30951 Initialize a struct grub_ieee1275_note and write that to `out'.
30952 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
30953
4ca7004c 309542005-01-05 Marco Gerards <metgerards@student.han.nl>
30955
30956 * util/misc.c (grub_util_read_image): Revert last change. It
30957 called `grub_util_read_at', which seeks from the beginning of the
30958 file.
30959
0b412211 309602005-01-04 Hollis Blanchard <hollis@penguinppc.org>
30961
30962 * TODO: Add note about endianness in grub-mkimage.
30963 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
30964 section.
30965 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
30966 (grub_mkimage_SOURCES): New target.
30967 * include/grub/kernel.h (grub_start_addr): Remove variable.
30968 (grub_end_addr): Likewise.
30969 (grub_total_module_size): Likewise.
30970 (grub_kernel_image_size): Likewise.
30971 (GRUB_MODULE_MAGIC): New constant.
30972 (grub_module_info): New structure.
30973 (grub_arch_modules_addr): New prototype.
30974 (grub_get_end_addr): Remove prototype.
30975 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
30976 * include/grub/powerpc/ieee1275/kernel.h: New file.
30977 * include/grub/util/misc.h (grub_util_get_fp_size): New
30978 prototype.
30979 (grub_util_read_at): Likewise.
30980 (grub_util_write_image_at): Likewise.
30981 * kern/main.c (grub_get_end_addr): Remove function.
30982 (grub_load_modules): Call grub_arch_modules_addr instead of using
30983 grub_end_addr. Look for a grub_module_info struct in memory. Use
30984 the grub_module_info fields instead of calling grub_get_end_addr
30985 as loop conditions. Move grub_add_unused_region code here.
30986 (grub_add_unused_region): Remove function.
30987 * kern/i386/pc/init.c: Include grub/cache.h.
30988 (grub_machine_init): Remove call to grub_get_end_addr. Remove
30989 one call to add_mem_region.
30990 (grub_arch_modules_addr): New function.
30991 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
30992 (grub_total_module_size): Likewise.
30993 Include grub/machine/kernel.h.
30994 (grub_arch_modules_addr): New function.
30995 * util/grub-emu.c (grub_end_addr): Remove variable.
30996 (grub_total_module_size): Likewise.
30997 (grub_arch_modules_addr): New function.
30998 * util/misc.c: Include unistd.h.
30999 (grub_util_get_fp_size): New function.
31000 (grub_util_read_at): Likewise.
31001 (grub_util_write_image_at): Likewise.
31002 (grub_util_read_image): Call grub_util_read_at.
31003 (grub_util_write_image): Call grub_util_write_image_at.
31004 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
31005 additional memory in kernel_img for a struct grub_module_info.
31006 Fill in that grub_module_info.
31007 * util/powerpc/ieee1275/grub-mkimage.c: New file.
31008
458786f8 310092005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31010
31011 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
31012 New function.
31013 * include/grub/powerpc/ieee1275/ieee1275.h
31014 (grub_ieee1275_milliseconds): New prototype.
31015 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
31016 Change to 1000.
31017 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
31018 grub_ieee1275_milliseconds.
31019
ac507d1b 310202005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31021
31022 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
31023 variable.
31024 (find_options): New function.
31025 (cmain): Call find_options.
31026 * include/grub/powerpc/ieee1275/ieee1275.h
31027 (grub_ieee1275_realmode): New extern variable.
31028 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
31029 grub_map if grub_ieee1275_realmode is false.
31030
6b8fd1c4 310312004-12-29 Marco Gerards <metgerards@student.han.nl>
31032
31033 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
31034 lines are inserted and make it work like readline. Reported by
31035 Vincent Pelletier <subdino2004@yahoo.fr>.
31036
8514a1e0 310372004-12-28 Marco Gerards <metgerards@student.han.nl>
31038
31039 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
31040
31041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
31042 `kern/powerpc/cache.S'.
31043
924b6140 310442004-12-27 Marco Gerards <metgerards@student.han.nl>
31045
31046 * genmk.rb: Handle the `Program' class in the main loop. Written
31047 by Johan Rydberg <jrydberg@gnu.org>.
31048 (Program): New class.
31049 (programs): New variable.
31050 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
31051 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
31052 instead of "grub/kernel.h". Include <grub/machine/init.h>.
31053 (help_arch): Function removed.
31054 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
31055 `powerpc/libgcc.h' and `loader.h'.
31056 (pkgdata_PROGRAMS): New variable.
31057 (sbin_UTILITIES): Variable removed.
31058 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
31059 (grubof_SOURCES): Variable re-defined so it only includes the
31060 core functionality.
31061 (grubof_CFLAGS): Remove `-DGRUBOF'.
31062 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
31063 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
31064 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
31065 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
31066 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
31067 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
31068 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
31069 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
31070 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
31071 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
31072 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31073 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
31074 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
31075 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
31076 (pc_mod_CFLAGS): New variables.
31077 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
31078 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
31079 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
31080 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
31081 Moved from here...
31082 * include/grub/i386/pc/init.h (grub_os_area_addr)
31083 (rub_os_area_size): ... to here.
31084 * include/grub/powerpc/ieee1275/ieee1275.h
31085 (grub_ieee1275_entry_fn): Export symbol.
31086 * include/grub/powerpc/ieee1275/init.h: New file.
31087 * include/grub/powerpc/libgcc.h: Likewise.
31088 * include/grub/cache.h: Likewise.
31089 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
31090 <hollis@penguinppc.org>.
31091 * kern/dl.c: Include <grub/cache.h>.
31092 (grub_dl_flush_cache): New function.
31093 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
31094 for this module.
31095 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
31096 (grub_console_init): Removed prototypes.
31097 (grub_machine_init): Don't initialize the modules anymore.
31098 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
31099 static.
31100 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
31101 Macro undef removed.
31102 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
31103 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
31104 relocation `R_PPC_REL32'. Return an error when the relocation is
31105 unknown.
31106 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
31107 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
31108 * util/misc.c (grub_arch_sync_caches): Likewise.
31109
e4b47e0c 311102004-12-19 Marco Gerards <metgerards@student.han.nl>
31111
31112 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
31113 `symlist.c', add `grubof_symlist.c'.
31114 (symlist.c): Variable removed.
31115 (grubof_HEADERS): Variable added.
31116 (grubof_symlist.c): New target.
31117 (kernel_syms.lst): Use `grubof_HEADERS' instead of
31118 `kernel_img_HEADERS'.
31119 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
31120 * kern/powerpc/dl.c: New file.
31121 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
31122 Function removed.
31123 (grub_arch_dl_relocate_symbols): Likewise.
31124 (grub_register_exported_symbols): Likewise.
31125
4ceb3636 311262004-12-13 Marco Gerards <metgerards@student.han.nl>
31127
31128 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
31129 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
31130 to fail instead. Reported by Vincent Pelletier
31131 <subdino2004@yahoo.fr>.
31132
31133 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
31134 it is not allocated. Reported by Vincent Pelletier
31135 <subdino2004@yahoo.fr>.
31136
31137 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
31138 output so the output looks better.
f19dbdb7 31139
3f1578fe 311402004-12-04 Marco Gerards <metgerards@student.han.nl>
31141
31142 Modulize the partition map support and add support for the amiga
31143 partition map.
f19dbdb7 31144
3f1578fe 31145 * commands/ls.c: Include <grub/partition.h> instead of
31146 <grub/machine/partition.h>.
31147 * kern/disk.c: Likewise.
31148 * kern/rescue.c: Likewise.
31149 * loader/i386/pc/chainloader.c: Likewise.
31150 * normal/cmdline.c: Likewise.
31151 * kern/powerpc/ieee1275/init.c: Likewise.
31152 (grub_machine_init): Call `grub_pc_partition_map_init',
31153 `grub_amiga_partition_map_init' and
31154 `grub_apple_partition_map_init'.
31155 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
31156 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
31157 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
31158 `partition.h' and `pc_partition.h'.
31159 (grub_setup_SOURCES): Remove
31160 `disk/i386/pc/partition.c'. Add `kern/partition.c',
31161 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31162 (grub_emu_SOURCES): Likewise.
31163 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
31164 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
31165 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
31166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31167 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
31168 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31169 (grubof_SOURCES): Likewise.
31170 * disk/i386/pc/partition.c: File removed.
31171 * disk/powerpc/ieee1275/partition.c: Likewise.
31172 * include/grub/powerpc/ieee1275/partition.h: Likewise.
31173 * include/grub/i386/pc/partition.h: Likewise.
31174 * kern/partition.c: New file.
31175 * partmap/amiga.c: Likewise.
31176 * partmap/apple.c: Likewise.
31177 * partmap/pc.c: Likewise.
31178 * include/grub/partition.h: Likewise..
31179 * include/grub/pc_partition.h: Likewise.
31180 * util/grub-emu.c: Include <grub/partition.h> instead of
31181 <grub/machine/partition.h>.
31182 (main): Call `grub_pc_partition_map_init',
31183 `grub_amiga_partition_map_init' and
31184 `grub_apple_partition_map_init' and deinitialize afterwards.
31185 * util/i386/pc/biosdisk.c: Include `#include
31186 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31187 `<grub/machine/partition.h>'.
31188 * util/i386/pc/grub-setup.c: Likewise.
31189 * util/i386/pc/biosdisk.c: Likewise.
31190 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
31191 partition information in case of a PC partition.
31192 * util/i386/pc/grub-setup.c: Include `#include
31193 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31194 `<grub/machine/partition.h>'.
31195 (setup): Only access the PC specific partition information in case
31196 of a PC partition.
31197
0ef4ced9 311982004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31199
0ef4ced9 31200 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
31201 (grub_longjmp): Likewise.
31202 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
31203 20.
31204 * normal/powerpc/setjmp.S: New file.
31205 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31206 `normal/powerpc/setjmp.S'.
31207 (grubof_CFLAGS): Add `-DGRUBOF'.
31208 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
31209 [GRUB_UTIL && !GRUBOF].
f19dbdb7 31210
19950e29 312112004-11-16 Marco Gerards <metgerards@student.han.nl>
31212
31213 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
31214 property named `name'. Correctly handle the error returned by
31215 `grub_ieee1275_finddevice' if a device can not be opened.
31216
a2fea427 312172004-11-02 Hollis Blanchard <hollis@penguinppc.org>
31218
31219 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
31220 `actual' for negativity.
31221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31222 kern/fshelp.c.
31223
41ea0ea3 312242004-11-01 Marco Gerards <metgerards@student.han.nl>
31225
31226 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
31227 (PAGE_OFFSET): New macro.
31228 (CRTC_ADDR_PORT): Likewise.
31229 (CRTC_DATA_PORT): Likewise.
31230 (START_ADDR_HIGH_REGISTER): Likewise.
31231 (START_ADDR_LOW_REGISTER): Likewise.
31232 (GRAPHICS_ADDR_PORT): Likewise.
31233 (GRAPHICS_DATA_PORT): Likewise.
31234 (READ_MAP_REGISTER): Likewise.
31235 (INPUT_STATUS1_REGISTER): Likewise.
31236 (INPUT_STATUS1_VERTR_BIT): Likewise.
31237 (page): New variable.
31238 (wait_vretrace): New function.
31239 (set_read_map): Likewise.
31240 (set_start_address): Likewise.
31241 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
31242 the right page.
31243 (check_vga_mem): Take the page into account.
31244 (write_char): Likewise.
31245 (write_cursor): Likewise.
31246 (scroll_up): Likewise. Copy the page to the page that is not
31247 shown and switch between both pages.
31248 (grub_vga_putchar): Fix off by one error.
31249 (grub_vga_cls): Wait for the vertical retrace. Take the page into
31250 account.
31251
ad0bd20b 312522004-11-01 Marco Gerards <metgerards@student.han.nl>
31253
31254 Add support for iso9660 (including rockridge).
f19dbdb7 31255
ad0bd20b 31256 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31257 (iso9660_mod_SOURCES): New variable.
31258 (iso9660_mod_CFLAGS): Likewise.
31259 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31260 * include/grub/fs.h (grub_iso9660_init): New prototype.
31261 * util/grub-emu.c (main): Call `grub_iso9660_init'.
31262 * fs/iso9660.c: New file.
31263
31264 * include/grub/misc.h (grub_strncat): New prototype.
31265 * kern/misc.c (grub_strncat): New function.
f19dbdb7 31266
ad0bd20b 31267 * fs/hfs.c (grub_hfs_mount): Translate the error
31268 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
31269 * fs/jfs.c (grub_jfs_mount): Likewise.
31270 * fs/ufs.c (grub_ufs_mount): Likewise.
31271
a5477a59 312722004-10-28 Hollis Blanchard <hollis@penguinppc.org>
31273
31274 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
31275 which initialized BAT registers.
31276 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
31277 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31278 Move from here...
31279 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
31280 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31281 ... to here.
31282 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
31283 (grub_mapclaim): Likewise.
31284 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
31285 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
31286 hand.
31287
9304c1f8 312882004-10-19 Hollis Blanchard <hollis@penguinppc.org>
31289
31290 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
31291 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
31292 -ffreestanding and -msoft-float.
31293
86f4ae25 312942004-10-15 Hollis Blanchard <hollis@penguinppc.org>
31295
31296 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
31297 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
31298 set in grub_ieee1275_flags.
31299
38912228 313002004-10-14 Hollis Blanchard <hollis@penguinppc.org>
31301
31302 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
31303 prototype.
31304 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
31305 grub_console_init first.
31306 Change the memory range used for grub_ieee1275_claim and
31307 grub_mm_init_region.
31308 Print an error message if the claim fails.
31309 Include <grub/misc.h>.
31310
d1923dc8 313112004-10-13 Hollis Blanchard <hollis@penguinppc.org>
31312
31313 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
31314 Call grub_children_iterate for device nodes of type `scsi',
31315 `ide', or `ata'.
31316 (grub_ofdisk_open): Remove manual device alias resolution.
31317 Fix memory leak when device cannot be opened.
f19dbdb7 31318 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 31319 (grub_children_iterate): New prototype.
31320 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
31321 New function.
31322 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31323 Return -1 if args.size was -1.
31324
4512e4f3 313252004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31326
31327 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
31328 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
31329 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
31330 Open Firmware's memory for it; claim memory from _start to _end.
31331 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
31332 (_end): New extern.
31333 (_start): Zero BSS from __bss_start to _end.
31334 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31335 New extern.
31336 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
31337
4d61feb0 313382004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31339
ad0bd20b 31340 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
31341 -1 if args.base was -1.
4d61feb0 31342
026fa2f9 313432004-10-08 Hollis Blanchard <hollis@penguinppc.org>
31344
31345 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
31346 escape sequence instead of a literal ^L. Also call
31347 grub_ofconsole_gotoxy.
31348
9f2220ef 313492004-10-03 Hollis Blanchard <hollis@penguinppc.org>
31350
31351 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
31352 void * arguments to grub_addr_t. All callers updated. Also make
31353 the `result' argument optional.
31354 (grub_ieee1275_release): change void * arguments to grub_addr_t.
31355 All callers updated.
31356
8a572cd7 313572004-09-22 Hollis Blanchard <hollis@penguinppc.org>
31358
31359 * commands/ls.c (grub_ls_list_files): Use the string following the
31360 initial ')', if present, as the filesystem path.
31361 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
31362
31363 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
31364
18aa81f2 313652004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
31366
31367 Make the source code of the menu interface more readable.
f19dbdb7 31368
18aa81f2 31369 * normal/menu.c: Include grub/mm.h.
31370 (TERM_WIDTH): New macro.
31371 (TERM_HEIGHT): Likewise.
31372 (TERM_INFO_HEIGHT): Likewise.
31373 (TERM_MARGIN): Likewise.
31374 (TERM_SCROLL_WIDTH): Likewise.
31375 (TERM_TOP_BORDER_Y): Likewise.
31376 (TERM_LEFT_BORDER_X): Likewise.
31377 (TERM_BORDER_WIDTH): Likewise.
31378 (TERM_MESSAGE_HEIGHT): Likewise.
31379 (TERM_BORDER_HEIGHT): Likewise.
31380 (TERM_NUM_ENTRIES): Likewise.
31381 (TERM_FIRST_ENTRY_Y): Likewise.
31382 (TERM_ENTRY_WIDTH): Likewise.
31383 (TERM_CURSOR_X): Likewise.
31384 (draw_border): Use macros instead of magic numbers.
31385 (print_entry): Likewise.
31386 (print_entries): Likewise.
31387 (run_menu): Likewise. Also, handle the key 'e'.
31388 (run_menu_entry): Ignore empty command lines.
31389 (print_message): Added a new argument EDIT. If EDIT is true,
31390 print a different message.
31391 (init_page): Likewise.
31392 (edit_menu_entry): New function. Not implemented yet.
31393
b47efe30 313942004-09-17 Marco Gerards <metgerards@student.han.nl>
31395
31396 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
31397 can be loaded from normal mode.
f19dbdb7 31398
b47efe30 31399 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
31400 `multiboot.mod'.
31401 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
31402 (multiboot_mod_CFLAGS): New variables.
31403 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 31404 * loader/i386/pc/multiboot_normal.c: Likewise.
31405
b47efe30 31406 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
31407 attribute `unused'.
f19dbdb7 31408
b47efe30 31409 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
31410 `fdiro' to read the mode information from instead of `diro'.
31411
31412 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
31413 looking up a symlink.
31414
31415 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
31416 macro.
31417 * normal/command.c (grub_command_execute): Don't parse the
31418 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
31419 flags of the command.
31420
31421 * normal/menu.c (grub_menu_run): Fix typo.
31422
da75ac71 314232004-09-14 Hollis Blanchard <hollis@penguinppc.org>
31424
31425 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
31426
31427 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
31428 `y + 1' instead of `y - 1'.
31429
31430 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 31431
062b24c2 314322004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
31433
31434 From Hollis Blanchard <hollis@penguinppc.org>:
31435 * kern/misc.c (memmove): New alias for grub_memmove.
31436 (memcmp): New alias for grub_memcmp.
31437 (memset): New alias for grub_memset.
f19dbdb7 31438 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 31439 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 31440 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 31441 (grub_ieee1275_get_property): Likewise.
f19dbdb7 31442
8ddad845 314432004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
31444
31445 Added normal mode command `chainloader' as module chain.mod, which
31446 depends on normal.mod and _chain.mod.
f19dbdb7 31447
8ddad845 31448 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
31449 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
31450 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
31451 Deleted prototype.
31452 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
31453 but arguments parsing moved to ...
31454 (grub_chainloader_cmd): ... here. New function.
31455 * include/grub/i386/pc/chainloader.h: New file.
31456 * loader/i386/pc/chainloader_normal.c: Likewise.
31457
2c1f4ce3 314582004-09-11 Marco Gerards <metgerards@student.han.nl>
31459
31460 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
31461 (grub_mkimage_LDFLAGS): Likewise.
31462 (grub_emu_SOURCES): Likewise.
31463 (kernel_img_HEADERS): Added fshelp.h.
31464 * fs/ext2.c: Include <grub/fshelp.h>.
31465 (FILETYPE_REG): New macro.
31466 (FILETYPE_INO_REG): Likewise.
31467 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
31468 Changed all users.
31469 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
31470 all users.
31471 (grub_fshelp_node): New struct.
31472 (grub_ext2_data): Added member `diropen'. Changed member `inode'
31473 to a pointer.
31474 (grub_ext2_get_file_block): Removed function.
31475 (grub_ext2_read_block): New function.
31476 (grub_ext2_read_file): Replaced parameter `data' by `node'.
31477 This function was written.
31478 (grub_ext2_mount): Read the root inode. Create a diropen struct.
31479 (grub_ext2_find_file): Removed function.
31480 (grub_ext2_read_symlink): New function.
31481 (grub_ext2_iterate_dir): Likewise.
31482 (grub_ext2_open): Rewritten.
31483 (grub_ext2_dir): Rewritten.
31484 * include/grub/fshelp.h: New file.
31485 * fs/fshelp.c: Likewise.
31486
3c52136a 314872004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
31488
31489 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
31490 (print_message): Add a missing newline.
31491 (run_menu): Added timeout support.
31492 (run_menu_entry): New local function.
31493 (grub_menu_run): Added support for booting.
31494
31495 * kern/loader.c (grub_loader_is_loaded): New function.
31496
31497 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
31498 (grub_get_rtc): Exported.
31499
31500 * include/grub/i386/pc/time.h: Include grub/symbol.h.
31501 (grub_get_rtc): Exported.
31502
31503 * include/grub/normal.h (struct grub_command_list): Remove
31504 constant from the member `command'.
31505
31506 * include/grub/loader.h (grub_loader_is_loaded): Declared.
31507
31508 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
31509
31510 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
31511
aa033560 315122004-08-28 Marco Gerards <metgerards@student.han.nl>
31513
31514 Add support for the JFS filesystem.
31515
31516 * fs/jfs.c: New file.
31517 * include/grub/fs.h (grub_jfs_init): New prototype.
31518 (grub_jfs_fini): New prototype.
31519 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
31520 (grub_emu_SOURCES): Likewise.
31521 (pkgdata_MODULES): Add jfs.mod.
31522 (jfs_mod_SOURCES): New variable.
31523 (jfs_mod_CFLAGS): Likewise.
31524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
31525 (grubof_SOURCES): Likewise.
31526 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
31527
31528 * fs/fat.c (grub_fat_find_dir): Convert the filename little
31529 endian to the host endian.
31530 (grub_fat_utf16_to_utf8): Move function from there...
31531 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 31532 the endianness of the source string anymore.
aa033560 31533 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
31534
94bc45af 315352004-08-24 Marco Gerards <metgerards@student.han.nl>
31536
31537 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
31538 (grub_boot_fini) [GRUB_UTIL]: Likewise.
31539 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
31540 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 31541
94bc45af 31542 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
31543 (grub_hfs_iterate_dir): Make the function static. Add prototypes
31544 for `node_found' and `it_dir'.
31545 (grub_hfs_dir): Add prototype for `dir_hook'.
31546
31547 * fs/minix.c (grub_minix_get_file_block): Add prototype for
31548 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
31549 and `indir32' to silence a gcc warning.
31550
31551 * include/grub/fs.h (grub_hfs_init): New prototype.
31552 (grub_hfs_fini): Likewise.
f19dbdb7 31553
31554
97543f08 315552004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31556
31557 Each disk device has its own id now. This is useful to make use
31558 of multiple disk devices.
f19dbdb7 31559
97543f08 31560 * include/grub/disk.h (grub_disk_dev_id): New enum.
31561 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
31562 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
31563
31564 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
31565 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31566
31567 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
31568 GRUB_DISK_DEVICE_OFDISK_ID as an id.
31569
31570 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
31571 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31572
31573 * include/grub/disk.h (struct grub_disk_dev): Added a new member
31574 "id" which is used by the cache manager.
31575
31576 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
31577 of just "GRUB".
31578
64372eb4 315792004-08-18 Marco Gerards <metgerards@student.han.nl>
31580
31581 * fs/hfs.c: New file.
31582 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
31583 (grub_emu_SOURCES): Likewise.
31584 (pkgdata_MODULES): Add hfs.mod.
31585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
31586 (grubof_SOURCES): Likewise.
31587 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
31588
31589 * include/grub/misc.h (grub_strncasecmp): Add prototype.
31590 * kern/misc.c (grub_strncasecmp): Add function.
31591
cc61b58f 315922004-08-14 Marco Gerards <metgerards@student.han.nl>
31593
31594 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
31595 with parentheses.
31596
31597 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
31598 (grub_ext2_dir): In case the directory entry type is unknown, read
31599 it from the inode.
31600
0ef123f6 316012004-08-02 Peter Bruin <pjbruin@dds.nl>
31602
31603 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
31604 grub_load_linux instead of grub_rescue_cmd_linux as second
31605 argument of grub_rescue_register_command.
31606
31607 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
31608
a447c5df 316092004-07-27 Marco Gerards <metgerards@student.han.nl>
31610
31611 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
31612 function.
31613 * commands/boot.c: Remove the check for `GRUB_UTIL'.
31614 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31615 `loader/powerpc/ieee1275/linux.c',
31616 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
31617 * include/grub/powerpc/ieee1275/ieee1275.h
31618 (grub_ieee1275_release): New prototype.
31619 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
31620 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
31621 normal, boot, linux and linux_normal.
31622 * loader/powerpc/ieee1275/linux.c: New file.
31623 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31624
5a9e3546 316252004-07-12 Marco Gerards <metgerards@student.han.nl>
31626
31627 * normal/arg.c (grub_arg_parse): Correct error handling after
31628 reallocating the argumentlist (check if `argl' is not null instead
31629 of checking if `args' is not null).
31630 * kern/mm.c (grub_realloc): Return the same pointer when using the
31631 same region, instead of returning the header address.
31632
e15199cb 316332004-07-11 Marco Gerards <metgerards@student.han.nl>
31634
31635 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
31636 one block instead of two when looking for the initial partition.
31637 (grub_partition_probe): Initialize the local variable `p' with 0.
31638 Use base 10 for the grub_strtoul call.
31639 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
31640 need for one local variable.
31641 (grub_strtoul): Don't add the new value to `num', instead of that
31642 just assign it.
31643
020616c2 316442004-07-11 Marco Gerards <metgerards@student.han.nl>
31645
31646 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
31647 (pxeboot_img_SOURCES): New variable.
31648 (pxeboot_img_ASFLAGS): Likewise.
31649 (pxeboot_img_LDFLAGS): Likewise.
31650 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
31651 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
31652 <lode_leroy@hotmail.com>.
31653
6c51eb64 316542004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31655
31656 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
31657 there was no input.
31658
cfb12aff 316592004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31660
31661 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
31662 the history buffer logic.
31663
6eabba74 316642004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31665
31666 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
31667 (FILETYPE_INO_SYMLINK): New macros.
31668 (grub_ext2_find_file): Check if the node is a directory using the
31669 inode stat information instead of using the filetype in the
31670 dirent. Exclude the first character of an absolute symlink.
31671 (grub_ext2_dir): Mask out the filetype part of the mode member of
31672 the inode.
31673
66e19ef8 316742004-05-24 Marco Gerards <metgerards@student.han.nl>
31675
31676 Add support for UFS version 1 and 2. Add support for the minix
31677 filesystem version 1 and 2, both the variants with 14 and 30 long
31678 filenames.
f19dbdb7 31679
66e19ef8 31680 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
31681 fs/minix.c.
31682 (grub_emu_SOURCES): Likewise.
31683 (pkgdata_MODULES): Add ufs.mod and minix.mod.
31684 (ufs_mod_SOURCES): New variable.
31685 (ufs_mod_CFLAGS): Likewise.
31686 (minix_mod_SOURCES): Likewise.
31687 (minix_mod_CFLAGS): Likewise.
31688 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
31689 fs/minix.c.
31690 (grubof_SOURCES): Likewise.
31691 * fs/ufs.c: New file.
31692 * fs/minix.c: New file.
31693 * include/grub/fs.h (grub_ufs_init): New prototype.
31694 (grub_ufs_fini): Likewise.
31695 (grub_minix_init): Likewise.
31696 (grub_minix_fini): Likewise.
31697 * util/grub-emu.c (main): Initialize and deinitialize UFS and
31698 minix fs.
31699
cc2e748a 317002004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
31701
31702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
31703 commands/ls.c, commands/terminal.c, commands/boot.c,
31704 commands/cmp.c and commands/cat.c.
31705 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
31706
31707 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
31708 "env.h"
31709
4b13b216 317102004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31711
31712 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
31713 and grub_, respectively. Because the conversion is trivial and
31714 mechanical, I omit the details here. Please refer to the CVS
31715 if you need more information.
31716
6a142551 317172004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31718
31719 * include/pupa: Renamed to ...
31720 * include/grub: ... this.
31721 * util/i386/pc/pupa-mkimage.c: Renamed to ...
31722 * util/i386/pc/grub-mkimage.c: ... this.
31723 * util/i386/pc/pupa-setup.c: Renamed to ...
31724 * util/i386/pc/grub-setup.c: ... this.
31725 * util/pupa-emu.c: Renamed to ...
31726 * util/grub-emu.c: ... this.
31727
e56cdf21 317282004-03-29 Marco Gerards <metgerards@student.han.nl>
31729
31730 Add support for the newworld apple macintosh (PPC). This has been
31731 tested on the powerbook 2000 only. It only adds support for
31732 generic ieee1275 functions, console and disk support. This should
31733 be easy to port to other architectures with support for Open
31734 Firmware.
f19dbdb7 31735
e56cdf21 31736 * configure.ac: Accept the powerpc as host_cpu. In the case of
31737 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
31738 specific tests are only executed while building for the i386.
31739 Inverse test for crosscompile.
31740 * genmk.rb (Utility): Allow assembler files.
31741 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
31742 * conf/powerpc-ieee1275.rmk: New file.
31743 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
31744 * disk/powerpc/ieee1275/partition.c: Likewise.
31745 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
31746 * include/pupa/powerpc/ieee1275/console.h: Likewise.
31747 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
31748 * include/pupa/powerpc/ieee1275/time.h: Likewise.
31749 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
31750 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
31751 * include/pupa/powerpc/ieee1275/loader.h
31752 * include/pupa/powerpc/setjmp.h: Likewise.
31753 * include/pupa/powerpc/types.h: Likewise.
31754 * kern/powerpc/ieee1275/init.c: Likewise.
31755 * kern/powerpc/ieee1275/openfw.c: Likewise.
31756 * term/powerpc/ieee1275/ofconsole.c: Likewise.
31757
31758 These files were written by Johan Rydberg
31759 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 31760
e56cdf21 31761 * boot/powerpc/ieee1275/cmain.c: New file.
31762 * boot/powerpc/ieee1275/crt0.S: Likewise.
31763 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
31764 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
31765
8c8cc205 317662004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
31767
31768 * Makefile.in: Update copyright.
31769 * genmodsrc.sh: Likewise.
31770 * gensymlist.sh: Likewise.
31771 * term/i386/pc/vga.c: Indent correctly.
31772
31773 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
31774 bugreporting address.
31775 * util/i386/pc/pupa-setup.c (usage): Likewise,
31776 (main): Call pupa_ext2_init and pupa_ext2_fini.
31777
f19dbdb7 31778 * fs/fat.c (log2): Renamed to ...
8c8cc205 31779 (fat_log2): ... this.
31780 All callers changed.
31781 * kern/misc.c (memcpy): Alias to pupa_memmove.
31782 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
31783 lvalue cast.
31784 * util/console.c (pupa_ncurses_fini): Return 0.
31785
31786 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
31787 Move fail label here.
31788 [__GNU__]: Don't warn when using stat.
31789 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
31790 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
31791 long int. Use strtol instead of strtoul.
f19dbdb7 31792
db1771cf 317932004-03-14 Marco Gerards <metgerards@student.han.nl>
31794
31795 * commands/boot.c: New file.
31796 * commands/cat.c: Likewise.
31797 * commands/cmp.c: Likewise.
31798 * commands/ls.c: Likewise.
31799 * commands/terminal.c: Likewise.
31800 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
31801 (pupa_register_command): Changed interface to match the new
31802 argument parser.
31803 (pupa_command_execute): Changed (almost rewritten) so it uses
31804 pupa_split_command. Added support for setting variables using the
31805 syntax `foo=bar'.
31806 (rescue_command): Changed to work with the new argument parser.
31807 (terminal_command): Moved from here to commands/terminal.c.
31808 (set_command): New function.
31809 (unset_command): New function.
31810 (insmod_command): New function.
31811 (rmmod_command): New function.
31812 (lsmod_command): New function.
31813 (pupa_command_init): Don't initialize the command terminal
31814 anymore. Initialize the commands set, unset, insmod, rmmod and
31815 lsmod.
31816 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
31817 (kernel_img_HEADERS): Add arg.h and env.h.
31818 (pupa_mkimage_LDFLAGS): Add kern/env.c.
31819 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
31820 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
31821 normal/arg.c.
31822 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
31823 terminal.mod.
31824 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
31825 (boot_mod_SOURCES): New variable.
31826 (terminal_mod_SOURCES): Likewise.
31827 (ls_mod_SOURCES): Likewise.
31828 (cmp_mod_SOURCES): Likewise.
31829 (cat_mod_SOURCES): Likewise.
31830
31831 * normal/arg.c: New file.
31832 * kern/env.c: Likewise.
31833 * include/pupa/arg.h: Likewise.
31834 * include/pupa/env.h: Likewise.
31835 * font/manager.c (font_command): Changed to match argument parsing
31836 interface changes.
31837 (PUPA_MOD_INIT): Likewise.
31838 * hello/hello.c (pupa_cmd_hello): Likewise.
31839 (PUPA_MOD_INIT): Likewise.
31840 * include/pupa/disk.h: Include <pupa/device.h>.
31841 (pupa_print_partinfo): New prototype.
31842 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
31843 (pupa_dl_get_prefix): Likewise.
31844 * include/pupa/misc.h: Include <pupa/err.h>.
31845 (pupa_isgraph): New prototype.
31846 (pupa_isdigit): Likewise.
31847 (pupa_split_cmdline): Likewise.
31848 * include/pupa/normal.h: Include <pupa/arg.h>.
31849 (pupa_command): Changed the prototype of the member `func' to
31850 match the argument parsing interface. Added member `options'.
31851 (pupa_register_command): Updated to match function.
31852 (pupa_arg_parse): New prototype.
31853 (pupa_hello_init) [PUPA_UTIL]: New prototype.
31854 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
31855 (pupa_ls_init) [PUPA_UTIL]: Likewise.
31856 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
31857 (pupa_cat_init) [PUPA_UTIL]: Likewise.
31858 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
31859 (pupa_boot_init) [PUPA_UTIL]: Likewise.
31860 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
31861 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
31862 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
31863 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
31864 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
31865 * kern/disk.c: Include <pupa/file.h>.
31866 (pupa_print_partinfo): New function.
31867 * kern/dl.c: Include <pupa/env.h>.
31868 (pupa_dl_dir): Variable removed.
31869 (pupa_dl_load): Use the environment variable `prefix' instead of
31870 the variable pupa_dl_dir.
31871 (pupa_dl_set_prefix): Function removed.
31872 (pupa_dl_get_prefix): Likewise.
31873 * kern/i386/pc/init.c: Include <pupa/env.h>.
31874 (pupa_machine_init): Use the environment variable `prefix' instead of
31875 using pupa_dl_set_prefix to set the prefix.
31876 * kern/main.c: Include <pupa/env.h>.
31877 (pupa_set_root_dev): Use the environment variable `prefix' instead of
31878 using pupa_dl_get_prefix to get the prefix.
31879 * kern/misc.c: Include <pupa/env.h>.
31880 (pupa_isdigit): New function.
31881 (pupa_isgraph): Likewise.
31882 (pupa_ftoa): Likewise.
31883 (pupa_vsprintf): Added support for printing values of the type
31884 `double'. Make it possible to format variable output when using
31885 formatting like `%1.2%f'.
31886 (pupa_split_cmdline): New function.
31887 * kern/rescue.c: Include <pupa/env.h>.
31888 (next_word): Removed function.
31889 (pupa_rescue_cmd_prefix): Likewise.
31890 (pupa_rescue_cmd_set): New function.
31891 (pupa_rescue_cmd_unset): New function.
31892 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
31893 split the command line instead of splitting it here. Added
31894 support for setting variables using the syntax `foo=bar'. Don't
31895 initialize the prefix command anymore. Initialized the set and
31896 unset commands.
31897 * normal/cmdline.c: Include <pupa/env.h>.
31898 (pupa_tab_complete): Added prototypes for print_simple_completion,
31899 print_partition_completion, add_completion, iterate_commands,
31900 iterate_dev, iterate_part and iterate_dir. Moved code to print
31901 partition information from here to kern/disk.c.
fe6b695a 31902 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 31903 * normal/main.c: Include <pupa/env.h>.
31904 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
31905 instead of using pupa_dl_get_prefix to get the prefix.
31906 * term/i386/pc/vga.c: Include <pupa/arg.h>.
31907 (check_vga_mem): Cast pointers to `void *' to silence a gcc
31908 warning.
31909 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
31910 (pupa_vga_setcolor): Declare unused variables with `__attribute__
31911 ((unused))' to silence a gcc warning.
31912 (pupa_vga_setcolor): Likewise.
31913 (debug_command): Changed to match argument parsing
31914 interface changes.
31915 * util/pupa-emu.c: Include <pupa/env.h>.
31916 (options): Added 0's for unused fields to silence a gcc warning.
31917 (argp): Likewise.
31918 (main): Use the environment variable `prefix' instead of using
31919 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
31920 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
31921 and terminal.
31922
31923 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
31924 * util/misc.c: Include <malloc.h>.
31925 (pupa_malloc): Rewritten so errors are correctly reported.
31926 (pupa_realloc): Likewise.
31927 (pupa_memalign): Likewise.
31928 (pupa_mm_init_region): Declare unused variables with
31929 `__attribute__ ((unused))' to silence a gcc warning.
31930 * normal/i386/setjmp.S: Remove tab at the end of the file to
31931 silence a gcc warning.
31932 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
31933 variables with `__attribute__ ((unused))' to silence a gcc
31934 warning.
31935 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
31936 local variable i unsigned to silence a gcc warning.
31937
31938 * kern/term.c: Include <pupa/misc.h>.
31939 (pupa_more_lines): New variable.
31940 (pupa_more): Likewise.
31941 (pupa_putcode): When the pager is active pause at the end of every
31942 screen.
31943 (pupa_set_more): New function.
31944 * include/pupa/term.h (pupa_set_more): New prototype.
31945
31946
3b1139cb 319472004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
31948
31949 Now this project is GRUB 2 rather than PUPA. The location of
31950 the CVS repository was moved to GRUB's.
f19dbdb7 31951
3b1139cb 31952 * configure.ac: Use bug-grub as the reporting address.
31953 Use GRUB instead of PUPA.
31954 Change the version number to 1.90.
31955
8367695c 319562004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
31957
31958 * genkernsyms.sh: Updated copyright information.
31959 * genmk.rb: Likewise.
31960 * genmodsrc.sh: Likewise.
31961 * gensymlist.sh: Likewise.
31962 * boot/i386/pc/boot.S: Likewise.
31963 * boot/i386/pc/diskboot.S: Likewise.
31964 * disk/i386/pc/biosdisk.c: Likewise.
31965 * disk/i386/pc/partition.c: Likewise.
31966 * font/manager.c: Likewise.
31967 * fs/ext2.c: Likewise.
31968 * fs/fat.c: Likewise.
31969 * include/pupa/boot.h: Likewise.
31970 * include/pupa/device.h: Likewise.
31971 * include/pupa/disk.h: Likewise.
31972 * include/pupa/dl.h: Likewise.
31973 * include/pupa/elf.h: Likewise.
31974 * include/pupa/err.h: Likewise.
31975 * include/pupa/file.h: Likewise.
31976 * include/pupa/font.h: Likewise.
31977 * include/pupa/fs.h: Likewise.
31978 * include/pupa/kernel.h: Likewise.
31979 * include/pupa/loader.h: Likewise.
31980 * include/pupa/misc.h: Likewise.
31981 * include/pupa/mm.h: Likewise.
31982 * include/pupa/net.h: Likewise.
31983 * include/pupa/normal.h: Likewise.
31984 * include/pupa/rescue.h: Likewise.
31985 * include/pupa/setjmp.h: Likewise.
31986 * include/pupa/symbol.h: Likewise.
31987 * include/pupa/term.h: Likewise.
31988 * include/pupa/types.h: Likewise.
31989 * include/pupa/i386/setjmp.h: Likewise.
31990 * include/pupa/i386/types.h: Likewise.
31991 * include/pupa/i386/pc/biosdisk.h: Likewise.
31992 * include/pupa/i386/pc/boot.h: Likewise.
31993 * include/pupa/i386/pc/console.h: Likewise.
31994 * include/pupa/i386/pc/init.h: Likewise.
31995 * include/pupa/i386/pc/kernel.h: Likewise.
31996 * include/pupa/i386/pc/linux.h: Likewise.
31997 * include/pupa/i386/pc/loader.h: Likewise.
31998 * include/pupa/i386/pc/memory.h: Likewise.
31999 * include/pupa/i386/pc/multiboot.h: Likewise.
32000 * include/pupa/i386/pc/partition.h: Likewise.
32001 * include/pupa/i386/pc/time.h: Likewise.
32002 * include/pupa/i386/pc/vga.h: Likewise.
32003 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
32004 * include/pupa/util/getroot.h: Likewise.
32005 * include/pupa/util/misc.h: Likewise.
32006 * include/pupa/util/resolve.h: Likewise.
32007 * kern/device.c: Likewise.
32008 * kern/disk.c: Likewise.
32009 * kern/dl.c: Likewise.
32010 * kern/err.c: Likewise.
32011 * kern/file.c: Likewise.
32012 * kern/fs.c: Likewise.
32013 * kern/loader.c: Likewise.
32014 * kern/main.c: Likewise.
32015 * kern/misc.c: Likewise.
32016 * kern/mm.c: Likewise.
32017 * kern/rescue.c: Likewise.
32018 * kern/term.c: Likewise.
32019 * kern/i386/dl.c: Likewise.
32020 * kern/i386/pc/init.c: Likewise.
32021 * kern/i386/pc/lzo1x.S: Likewise.
32022 * kern/i386/pc/startup.S: Likewise.
32023 * loader/i386/pc/chainloader.c: Likewise.
32024 * loader/i386/pc/linux.c: Likewise.
32025 * loader/i386/pc/multiboot.c: Likewise.
32026 * normal/cmdline.c: Likewise.
32027 * normal/command.c: Likewise.
32028 * normal/main.c: Likewise.
32029 * normal/menu.c: Likewise.
32030 * normal/i386/setjmp.S: Likewise.
32031 * term/i386/pc/console.c: Likewise.
32032 * term/i386/pc/vga.c: Likewise.
32033 * util/console.c: Likewise.
32034 * util/genmoddep.c: Likewise.
32035 * util/misc.c: Likewise.
32036 * util/pupa-emu.c: Likewise.
32037 * util/resolve.c: Likewise.
32038 * util/unifont2pff.rb: Likewise.
32039 * util/i386/pc/biosdisk.c: Likewise.
32040 * util/i386/pc/getroot.c: Likewise.
32041 * util/i386/pc/pupa-mkimage.c: Likewise.
32042 * util/i386/pc/pupa-setup.c: Likewise.
32043
e6eced71 320442004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
32045
32046 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
32047 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
32048 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
32049 reading and reset it after reading.
32050 (pupa_ext2_close): Return PUPA_ERR_NONE.
32051
32052 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
32053 Correct value.
32054 (struct linux_kernel_header): Add kernel_version and
32055 initrd_addr_max.
32056 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
32057 pupa_file_read succeeds.
32058 (pupa_rescue_cmd_initrd): Implement.
32059
5aded270 320602003-12-03 Marco Gerards <metgerards@student.han.nl>
32061
32062 * fs/ext2.c (pupa_ext2_label): New function.
32063 (pupa_ext2_fs): Added label.
32064 * fs/fat.c (pupa_fat_label): New function.
32065 (pupa_fat_fs): Added label.
32066 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
32067
32068 * kern/misc.c (pupa_strndup): New function.
32069 * include/pupa/misc.h (pupa_strndup): New prototype.
32070
32071 * include/pupa/normal.h: Include <pupa/err.h>.
32072 (pupa_set_history): New prototype.
32073 (pupa_iterate_commands): New prototype.
32074 * normal/cmdline.c: Include <pupa/machine/partition.h>,
32075 <pupa/disk.h>, <pupa/file.h>.
32076 (hist_size): New variable.
32077 (hist_lines): Likewise.
32078 (hist_end): Likewise.
32079 (hist_used): Likewise.
32080 (pupa_set_history): New function.
32081 (pupa_history_get): Likewise.
32082 (pupa_history_add): Likewise.
32083 (pupa_history_replace): Likewise.
32084 (pupa_tab_complete): Likewise.
32085 (pupa_cmdline_run): Added tab completion and history buffer. Tab
32086 completion shows partitionnames while completing partitions, this
32087 feature was suggested by Jeff Bailey.
32088 * normal/command.c (pupa_iterate_commands): New function.
32089 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
32090 (pupa_normal_init): Initialize history buffer.
32091 (PUPA_MOD_INIT): Likewise.
32092 (pupa_normal_fini): Free the history buffer.
32093 (PUPA_MOD_FINI): Likewise.
32094
32095 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
32096 key.
32097
32098 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
32099 * configure.ac [i386]: Check for regparam bug.
32100 (NESTED_FUNC_ATTR) [! i386]: Defined.
32101
1f7315a3 321022003-11-17 Marco Gerards <metgerards@student.han.nl>
32103
32104 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
32105 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
32106 (pupa_emu_SOURCES): New variable.
32107 (pupa_emu_LDFLAGS): Likewise.
32108 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
32109 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
32110 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
32111 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32112 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
32113 (pupa_jmp_buf): New typedef.
32114 (pupa_setjmp) [PUPA_UTIL]: New macro.
32115 (pupa_longjmp) [PUPA_UTIL]: Likewise.
32116 * include/pupa/term.h (struct pupa_term): New member `refresh'.
32117 (pupa_refresh): New prototype.
32118 * include/pupa/util/getroot.h: New file.
32119 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
32120 it.
32121 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
32122 (pupa_rescue_cmd_cat): Likewise.
32123 (pupa_rescue_cmd_ls): Likewise.
32124 (pupa_rescue_cmd_testload): Likewise.
32125 (pupa_rescue_cmd_lsmod): Likewise.
32126 * normal/cmdline.c (pupa_cmdline_get): Likewise.
32127 * normal/menu.c (run_menu): Likewise.
32128 * kern/term.c (pupa_cls): Likewise.
32129 (pupa_refresh): New function.
32130 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
32131 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32132 * util/console.c: New file.
f19dbdb7 32133
1f7315a3 32134 * util/i386/pc/getroot.c: New file.
32135 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
32136 (pupa_putchar): New function.
32137 (pupa_refresh): Likewise.
32138 (xgetcwd): Function moved to ...
32139 (strip_extra_slashes): Likewise.
32140 (get_prefix): Likewise.
f19dbdb7 32141 * util/i386/pc/getroot.c: ... here.
1f7315a3 32142 (find_root_device): Function moved and renamed to...
32143 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
32144 Changed all callers.
32145 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
32146 and renamed to...
32147 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
32148 Changed all callers.
32149 * util/misc.c (pupa_memalign): New function.
32150 (pupa_mm_init_region): Likewise.
32151 (pupa_register_exported_symbols): Likewise.
32152 (pupa_putchar): Function removed.
32153 * util/pupa-emu.c: New file.
32154
9a5c1ade 321552003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
32156
32157 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
32158 (_multiboot_mod_SOURCES): New variable.
32159 (_multiboot_mod_CFLAGS): Likewise.
32160 * loader/i386/pc/multiboot.c: New file.
32161 * include/pupa/i386/pc/multiboot.h: Likewise.
32162 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
32163 (pupa_multiboot_real_boot): New function.
32164 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
32165 (pupa_multiboot_real_boot): New prototype.
32166 (pupa_rescue_cmd_multiboot): Likewise
32167 (pupa_rescue_cmd_module): Likewise.
32168
32169 * kern/loader.c (pupa_loader_set): Continue when
32170 pupa_loader_unload_func() fails.
32171 (pupa_loader_unset): New function.
32172 * include/pupa/loader.h (pupa_loader_unset): New prototype.
32173
32174 * kern/misc.c (pupa_stpcpy): New function.
32175 * include/pupa/misc.h (pupa_stpcpy): New prototype.
32176
8e72a9c0 321772003-11-12 Marco Gerards <metgerards@student.han.nl>
32178
32179 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
32180 for available extensions.
32181
32182 * include/pupa/i386/pc/time.h: New file.
32183 * kern/disk.c: Include <pupa/machine/time.h>.
32184 (PUPA_CACHE_TIMEOUT): New macro.
32185 (pupa_last_time): New variable.
32186 (pupa_disk_open): Flush the cache when there was a timeout.
32187 (pupa_disk_close): Reset the timer.
32188 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
32189 pupa_currticks.
32190 * util/misc.c: Include <sys/times.h>
32191 (pupa_get_rtc): New function.
32192
c4adbd32 321932003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32194
32195 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
32196 as blocks.
32197 (pupa_ext2_get_file_block): Use blocks member.
32198
32199 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
32200 first block. Return -1 instead of pupa_errno on error.
32201
bfd30f06 322022003-10-27 Marco Gerards <metgerards@student.han.nl>
32203
32204 * README: In the pupa-mkimage example use _chain instead of chain
32205 and ext2 instead of fat.
32206 * TODO: Replace ext2fs with jfs as an example. Add an item for
32207 adding journal playback for ext2fs.
32208 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
32209 (pkgdata_MODULES): Added ext2.mod.
32210 (ext2_mod_SOURCES): New variable.
32211 (ext2_mod_CFLAGS): Likewise.
32212 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
32213 * include/pupa/misc.h (pupa_strncpy): New prototype.
32214 (pupa_strcat): Likewise.
32215 (pupa_strncmp): Likewise.
32216 * kern/misc.c (pupa_strcat): Enable function.
32217 (pupa_strncpy): New function.
32218 (pupa_strncmp): Likewise.
32219 * fs/ext2.c: New file.
f19dbdb7 32220
bfd30f06 32221 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
32222 when the read failed before retrying.
32223 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
32224 (_FILE_OFFSET_BITS): Likewise.
32225 * configure.ac: Added AC_SYS_LARGEFILE.
32226
98d15063 322272003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32228
32229 * genmk.rb (PModule#rule): Make sure to get only symbol names
32230 from the output of nm.
59cad637 32231 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 32232
18d9c7cd 322332003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32234
32235 I forgot to check in these changes for a long time. This adds
32236 incomplete support for VGA console, and this is still very
32237 buggy. Also, a lot of consideration is required for I18N,
32238 UNICODE, and VGA font issues. Therefore, assume that this is
32239 such that "better than nothing".
f19dbdb7 32240
18d9c7cd 32241 * font/manager.c: New file.
32242 * include/pupa/font.h: Likewise.
32243 * include/pupa/i386/pc/vga.h: Likewise.
32244 * term/i386/pc/vga.c: Likewise.
32245 * util/unifont2pff.rb: Likewise.
32246
32247 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
32248 (pkgdata_MODULES): Added vga.mod and font.mod.
32249 (vga_mod_SOURCES): New variables.
32250 (vga_mod_CFLAGS): Likewise.
32251 (font_mod_SOURCES): Likewise.
32252 (font_mod_CFLAGS): Likewise.
32253
32254 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
32255
32256 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 32257 (struct pupa_term): Added init and fini.
18d9c7cd 32258 Changed the argument of putchar to pupa_uint32_t.
32259
32260 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
32261 (pupa_console_real_putchar): New prototype.
32262 (pupa_console_putchar): Removed.
32263 (pupa_console_checkkey): Exported.
32264 (pupa_console_getkey): Likewise.
32265
32266 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
32267 characters.
32268
32269 * kern/term.c (pupa_term_set_current): Rewritten.
32270 (pupa_putchar): Likewise.
32271 (pupa_putcode): New function.
32272
32273 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
32274 (pupa_console_real_putchar): ... this.
32275 (pupa_vga_set_mode): New function.
32276 (pupa_vga_get_font): Likewise.
32277
32278 * normal/command.c: Include pupa/term.h.
32279 (terminal_command): New function.
32280 (pupa_command_init): Register the command "terminal".
32281
32282 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
32283 (DISP_UP): Likewise.
32284 (DISP_RIGHT): Likewise.
32285 (DISP_DOWN): Likewise.
32286 (DISP_HLINE): Likewise.
32287 (DISP_VLINE): Likewise.
32288 (DISP_UL): Likewise.
32289 (DISP_UR): Likewise.
32290 (DISP_LL): Likewise.
32291 (DISP_LR): Likewise.
32292
32293 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 32294
977329f5 322952003-02-08 NIIBE Yutaka <gniibe@m17n.org>
32296
32297 * util/resolve.c (pupa_util_resolve_dependencies): BUG
32298 FIX. Reverse the path_list.
32299
32300 * include/pupa/normal.h: Export pupa_register_command and
32301 pupa_unregister_command.
32302
32303 * hello/hello.c (pupa_cmd_hello): New module.
32304 * conf/i386-pc.rmk: Added hello.mod.
32305
1f5ab428 323062003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
32307
32308 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 32309
1f5ab428 32310 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
32311 (compress_kernel): New variable.
32312 (generate_image): Heavily modified to support compressing a
32313 large part of the core image.
32314
32315 * util/misc.c (pupa_util_read_image): Fix a file descriptor
32316 leak.
32317 (pupa_util_load_image): New function.
32318
32319 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
32320 (pupa_compressed_size): New variable.
32321 (codestart): Enable Gate A20 here.
32322 Decompress the compressed part of the core image.
32323 Rearrange the code to put functions and variables which are
32324 required for initialization in the non-compressed part.
32325 Include lzo1x.S.
32326
32327 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
32328 here.
32329
32330 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
32331
f19dbdb7 32332 * include/pupa/i386/pc/kernel.h
1f5ab428 32333 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
32334 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
32335 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32336 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32337 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
32338
32339 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
32340
32341 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
32342 (Utility#rule): Likewise.
32343
32344 * configure.ac: Check if LZO is available.
32345
ce5bf700 323462003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
32347
32348 * include/pupa/normal.h: New file.
32349 * include/pupa/setjmp.h: Likewise.
32350 * include/pupa/i386/setjmp.h: Likewise.
32351 * normal/cmdline.c: Likewise.
32352 * normal/command.c: Likewise.
32353 * normal/main.c: Likewise.
32354 * normal/menu.c: Likewise.
32355 * normal/i386/setjmp.S: Likewise.
f19dbdb7 32356
ce5bf700 32357 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
32358 (pupa_rescue_cmd_initrd): Likewise.
32359
32360 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
32361 Likewise.
32362
32363 * kern/i386/pc/startup.S (translation_table): New variable.
32364 (translate_keycode): New function.
32365 (pupa_console_getkey): Call translate_keycode.
32366
32367 * kern/rescue.c (attempt_normal_mode): New function.
32368 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
32369 it failed, print a message.
32370
32371 * kern/mm.c (pupa_real_malloc): Print more information when a
32372 free magic is broken.
32373 (pupa_free): If the first free header is not free actually, set
32374 it to P.
32375
32376 * kern/main.c (pupa_load_normal_mode): Just load the module
32377 "normal".
32378 (pupa_main): Don't print the message
32379 "Entering into rescue mode..." here.
32380
32381 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
32382 Declared.
32383 (pupa_rescue_cmd_initrd): Likewise.
32384 (pupa_rescue_cmd_initrd): Likewise.
32385
32386 * include/pupa/symbol.h (FUNCTION): Specify the type.
32387 (VARIABLE): Likewise.
32388
32389 * include/pupa/err.h (pupa_err_t): Added
32390 PUPA_ERR_UNKNOWN_COMMAND.
32391
32392 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
32393 (pupa_dl_get_prefix): Likewise.
32394
32395 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
32396 Added _chain.mod and _linux.mod instead of chain.mod and
32397 linux.mod.
32398 (chain_mod_SOURCES): Renamed to ...
32399 (_chain_mod_SOURCES): ... this.
32400 (chain_mod_CFLAGS): Renamed to ...
32401 (_chain_mod_CFLAGS): ... this.
32402 (linux_mod_SOURCES): Renamed to ...
32403 (_linux_mod_SOURCES): ... this.
32404 (linux_mod_CFLAGS): Renamed to ...
32405 (_linux_mod_CFLAGS): ... this.
32406 (normal_mod_SOURCES): New variable.
32407 (normal_mod_CFLAGS): Likewise.
32408 (normal_mod_ASFLAGS): Likewise.
32409
324102003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
32411
32412 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
32413 possible.
32414
fe6b695a 32415 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 32416 recursively.
32417 (pupa_dl_unref): Unrefer depending modules recursively.
32418 Don't call pupa_dl_unload implicitly, because PUPA can crash if
32419 a module is unloaded before one depending on that module is
32420 unloaded.
32421 (pupa_dl_unload): Unload depending modules explicitly,
32422 if possible.
32423
c04da074 324242003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
32425
32426 * include/pupa/i386/pc/linux.h: New file.
32427 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 32428
c04da074 32429 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
32430 Removed.
32431 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
32432 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
32433 of PUPA_CHAINLOADER_BOOT_SECTOR.
32434
32435 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
32436 (pupa_linux_prot_size): New variable.
32437 (pupa_linux_tmp_addr): Likewise.
32438 (pupa_linux_real_addr): Likewise.
32439 (pupa_linux_boot_zimage): New function.
32440 (pupa_linux_boot_bzimage): Likewise.
32441
32442 * kern/i386/pc/init.c (struct mem_region): New structure.
32443 (MAX_REGIONS): New macro.
32444 (mem_regions): New variable.
32445 (num_regions): Likewise.
32446 (pupa_os_area_addr): Likewise.
32447 (pupa_os_area_size): Likewise.
32448 (pupa_lower_mem): Likewise.
32449 (pupa_upper_mem): Likewise.
32450 (add_mem_region): New function.
32451 (compact_mem_regions): Likewise.
32452 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
32453 the size of the conventional memory and that of so-called upper
32454 memory (before the first memory hole).
32455 Instead of adding each found region to free memory, use
32456 add_mem_region and add them after removing overlaps.
32457 Also, add only 1/4 of the upper memory to free memory. The rest
32458 is used for loading OS images. Maybe this is ad hoc, but this
32459 makes it much easier to relocate OS images when booting.
32460
32461 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
32462 (pupa_enter_rescue_mode): Don't register initrd and module.
32463
32464 * kern/mm.c: Include pupa/dl.h.
32465
32466 * kern/main.c: Include pupa/file.h and pupa/device.h.
32467
32468 * kern/loader.c (pupa_loader_load_module_func): Removed.
32469 (pupa_loader_load_module): Likewise.
32470
32471 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
32472 ``.o''.
32473
32474 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
32475 (pupa_linux_tmp_addr): Likewise.
32476 (pupa_linux_real_addr): Likewise.
32477 (pupa_linux_boot_zimage): Likewise.
32478 (pupa_linux_boot_bzimage): Likewise.
32479
32480 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
32481 (pupa_upper_mem): Likewise.
32482 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
32483 module is too dangerous.
32484
32485 * include/pupa/loader.h (pupa_os_area_addr): Declared.
32486 (pupa_os_area_size): Likewise.
32487 (pupa_loader_set): Remove the first argument. Loader doesn't
32488 manage modules or initrd any longer.
32489 (pupa_loader_load_module): Removed.
32490
32491 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
32492 (linux_mod_SOURCES): New variable.
32493 (linux_mod_CFLAGS): Likewise.
32494
a13f9237 324952003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
32496
32497 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
32498 the length of a blocklist correctly.
32499
32500 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
32501 Use ioctl only if the OS file is a block device.
32502 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
32503 not very useful for normal files.
32504
32505 * kern/main.c (pupa_set_root_dev): New function.
32506 (pupa_load_normal_mode): Likewise.
32507 (pupa_main): Call those above.
32508
32509 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
32510 pupa_uint16_t.
32511
32512 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
32513
a5ffe966 325142003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32515
32516 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
32517 (setup): Configure the installed partition information and the
32518 dl prefix.
32519
32520 * loader/i386/pc/chainloader.c (my_mod): New variable.
32521 (pupa_chainloader_unload): New function.
32522 (pupa_rescue_cmd_chainloader): Refer itself.
32523 (PUPA_MOD_INIT): Save its own module in MY_MOD.
32524
32525 * kern/i386/pc/startup.S (install_partition): Removed.
32526 (version_string): Likewise.
32527 (config_file): Likewise.
32528 (pupa_install_dos_part): New variable.
32529 (pupa_install_bsd_part): Likewise.
32530 (pupa_prefix): Likewise.
32531 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
32532
32533 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
32534 and pupa/misc.h.
32535 (make_install_device): New function.
32536 (pupa_machine_init): Set the dl prefix.
32537
32538 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
32539 (buf): Renamed to ...
32540 (linebuf): ... this.
32541 (pupa_rescue_cmd_prefix): New function.
32542 (pupa_rescue_cmd_insmod): Likewise.
32543 (pupa_rescue_cmd_rmmod): Likewise.
32544 (pupa_rescue_cmd_lsmod): Likewise.
32545 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
32546 rmmod and lsmod.
32547
32548 * kern/mm.c (pupa_memalign): If failed even after invalidating
32549 disk caches, unload unneeded modules and retry.
32550
32551 * kern/misc.c (pupa_memmove): New function.
32552 (pupa_memcpy): Removed.
32553 (pupa_strcpy): New function.
32554 (pupa_itoa): Made static.
32555
32556 * kern/dl.c (pupa_dl_iterate): New function.
32557 (pupa_dl_ref): Likewise.
32558 (pupa_dl_unref): Likewise.
32559 (pupa_dl_unload): Return if succeeded or not.
32560 (pupa_dl_unload_unneeded): New function.
32561 (pupa_dl_unload_all): Likewise.
32562 (pupa_dl_init): Renamed to ...
32563 (pupa_dl_set_prefix): ... this.
32564 (pupa_dl_get_prefix): New function.
32565
32566 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
32567 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
32568 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32569 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32570 (pupa_install_dos_part): Declared.
32571 (pupa_install_bsd_part): Likewise.
32572 (pupa_prefix): Likewise.
32573 (pupa_boot_drive): Likewise.
32574
32575 * include/pupa/types.h: Fix a typo.
32576
32577 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
32578 pupa_memmove.
32579 (pupa_memmove): Declared.
32580 (pupa_strcpy): Likewise.
32581
32582 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
32583 pupa_mod_init takes one argument, its own module.
32584 (pupa_dl_unload_unneeded): Declared.
32585 (pupa_dl_unload_all): Likewise.
32586 (pupa_dl_ref): Likewise.
32587 (pupa_dl_unref): Likewise.
32588 (pupa_dl_iterate): Likewise.
32589 (pupa_dl_init): Renamed to ...
32590 (pupa_dl_set_prefix): ... this.
32591 (pupa_dl_get_prefix): Declared.
32592
32593 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 32594 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 32595 unloaded.
32596 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
32597 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
32598
32599 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
32600 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
32601
012d7999 326022003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32603
32604 * util/i386/pc/pupa-setup.c (setup): Define the internal
32605 function find_first_partition_start at the top level, because GCC
32606 3.0.x cannot compile internal functions in deeper scopes
32607 correctly.
32608 (find_root_device): Use lstat instead of stat.
32609 Don't follow symbolic links.
32610 Fix the path-constructing code.
32611
32612 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
32613 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
32614 by a BLKGETSIZE ioctl first, because block devices don't fill
32615 the member st_mode of the structure stat on Linux.
32616 [__linux__] (linux_find_partition): Use a temporary buffer
32617 REAL_DEV for the working space. Copy it to DEV before returning.
32618 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
32619 buffer cache consistent.
32620 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
32621 strncmp. The previous value was merely wrong.
32622 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
32623
32624 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
32625 FAT size is 12. The previous value was merely wrong.
32626
32627 * kern/main.c (pupa_main): Don't split the starting message from
32628 newlines.
32629
32630 * kern/term.c (pupa_putchar): Put CR after LF instead of before
32631 LF, because BIOS goes crazy about character attributes in this
32632 case.
32633
1cc73a62 326342003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32635
32636 * include/i386/pc/util/biosdisk.h: New file.
32637 * util/i386/pc/biosdisk.c: Likewise.
32638 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 32639
1cc73a62 32640 * Makefile.in (INCLUDE_DISTFILES): Added
32641 include/pupa/i386/pc/util/biosdisk.h.
32642 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
32643 directory util/i386/pc.
32644 (install-local): Added a rule for sbin_UTILITIES.
32645 (uninstall): Likewise.
32646
32647 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
32648
32649 * util/misc.c (xrealloc): New function.
32650 (pupa_malloc): Likewise.
32651 (pupa_free): Likewise.
32652 (pupa_realloc): Likewise.
32653 (pupa_stop): Likewise.
32654 (pupa_putchar): Likewise.
32655
32656 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
32657
32658 * include/pupa/util/misc.h (xrealloc): Declared.
32659
32660 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
32661 macro.
32662 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
32663 (PUPA_BOOT_MACHINE_BPB_END): ... this.
32664
32665 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
32666 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32667
32668 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
32669 way should be implemented.
32670 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32671
32672 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
32673 the size of NAME for safety.
32674 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
32675 0x88.
32676
32677 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
32678 (pupa_setup_SOURCES): Likewise.
32679
32680 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
32681
08b70fe8 326822002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32683
32684 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
32685 bunch of pushl's from pusha, because this destroys the return
32686 value.
32687
62ddcc8f 326882002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32689
32690 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
32691 This means that any missing prototypes could be fatal. Also, you
32692 must take care when writing assembly code. See the comments at
32693 the beginning of startup.S, for more details.
f19dbdb7 32694
62ddcc8f 32695 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
32696 compilation mechanism.
32697 (pupa_chainloader_real_boot): Likewise.
32698 (pupa_biosdisk_rw_int13_extensions): Likewise.
32699 (pupa_biosdisk_rw_standard): Likewise.
32700 (pupa_biosdisk_check_int13_extensions): Likewise.
32701 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
32702 (pupa_biosdisk_get_diskinfo_standard): Likewise.
32703 (pupa_get_memsize): Likewise.
32704 (pupa_get_mmap_entry): Likewise.
32705 (pupa_console_putchar): Likewise.
32706 (pupa_console_setcursor): Likewise.
32707 (pupa_getrtsecs): Use pushl instead of push.
32708
32709 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
32710 memory instead of the stack for a mmap entry, because some
32711 BIOSes may ignore the maximum size and overflow.
32712
32713 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
32714
32715 * genmk.rb (PModule#rule): Compile automatically generated
32716 sources with module-specific CFLAGS as well as other sources.
32717
9962ed99 327182002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32719
32720 * configure.ac: Check ld.
32721 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
32722 respectively, before checking endianness and sizes.
32723
32724 * Makefile.in (LD): New variable.
f19dbdb7 32725
abdfc3c5 327262002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32727
32728 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
32729
6a161fa9 327302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32731
32732 * Changelog: New file.
32733